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.
Status
Incubation
License(s)
CeCILL-C Free Software License Agreement
Website
Documentation
Releases / Downloads
VCS repository(ies)
Issue tracker URL
Discussion channels
Project leader(s)
Martin Monperrus
News
- 2024/04/05 - Version 11 is out!
- 2022/10/10 - Spoon 10.2.0 is released
- 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
Awards
2017 Community Award
OW2 submission
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.
Market Readiness Level
Project Market Readiness Level computed by OW2.
More on the definition and computation of Market Readiness Levels here.
Best Practices Implementation
Coverage of best practices in open source software development implemented by the project.
More on best practices and how they are collected here.
Project Profile
Computation of the project's profile through five key attributes defined by OW2.
More on how project attributes are commputed 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.
Market Readiness Synthesis