Spoon


Spoon is an open-source library for analyzing and transforming Java source code.

Spoon provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification. Spoon takes as input source code and produces transformed source code ready to be compiled. It is usable for instance for code quality analysis, instrumentation and monitoring, static analysis, dynamic analysis.

 

Web site

News

  • 2019/02/10 - Spoon 7.3.0 is released
  • 2018/07/05 - Spoon 7.0.0 is released, with support for Java 10
  • 2017/12/20 - Spoon 6.1.0 is out, with full support for Java 9

Releases / Downloads

Awards

award.png  2017  Community Award

Project leader(s)

Martin Monperrus


Functionality

Software engineering

Status

Incubation

License(s)

CeCILL-C Free Software License Agreement

VCS repository(ies)

Issue tracker URL

Discussion channels

Documentation

OW2 submission

Market Readiness Synthesis

With initial development going back to 2005, Spoon is a stable, rock-solid library for tweaking Java programs. It does at the source code level what ASM does at bytecode level. Spoon is an official Inria open-source project maintained by a core team of researchers and academics who leverage it for their research papers. Support is provided via the issue tracker, consulting is available via the website. Spoon is an alternative to another comparable open source project called JavaParser.

Best Practices
Implementation





With the extent to which the project implements best practices in open source software development...

More on best practices and how they are collected here.

Project Profile
 





...and the profile it reveals based on our five key attributes...

More on how project attributes are commputed here.

Market Readiness
Level





...this project reaches the above Market Readiness Level.

More on the definition and computation of Market Readiness Levels here.

MRL Assessment Diagram

This page lists the control points used in our assessment of the project's market readiness with their normalised values. It shows how they are combined to form the model. Please go to the methodology overview for more on the model and data collection.

Sources of Raw Data

Please use the links in this section for the raw data used in our MRL modeling.

Source Code Repository(ies):
Quality Metrics (SonarQube):
Licence Metrics (ScanCode):
..