INRIA / spoon

Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
http://spoon.gforge.inria.fr/
Other
1.73k stars 344 forks source link

interesting papers about source code analysis and transformation #1908

Open monperrus opened 6 years ago

monperrus commented 6 years ago

This paper may contain good ideas for Spoon: A Taxonomy for Program Metamodels in Program Reverse Engineering http://www.washi.cs.waseda.ac.jp/prometa/ProMeTA-2016.pdf

pvojtechovsky commented 6 years ago

... it is a hard reading ;-) ... my head is not big enough to understand it fully. Anyway thanks for the link!

monperrus commented 5 years ago

FYI: C# - Adding a Code Fix to Your Roslyn Analyzer https://msdn.microsoft.com/en-us/magazine/dn904670.aspx

monperrus commented 5 years ago

FYI: Lightweight Multi-Language Syntax Transformation with Parser Parser Combinators https://www.cs.cmu.edu/~rvantond/pdfs/ppc-pldi-2019.pdf

by @rvantonder

monperrus commented 4 years ago

Inferring Program Transformations From Singular Examples via Big Code https://xgdsmileboy.github.io/files/paper/genpat-ase19.pdf

monperrus commented 4 years ago
monperrus commented 4 years ago

Automating CUDA Synchronization via Program Transformation https://ieeexplore.ieee.org/abstract/document/8952529

monperrus commented 4 years ago

Recursive Pattern Matching and Transformation of JavaScript AST https://blog.scottlogic.com/2016/06/22/xslt-inspired-ast-transforms.html

monperrus commented 4 years ago

Interesting use case for source code transformation, removing stale feature flags.

Paper: "Piranha: Reducing Feature Flag Debt at Uber" https://manu.sridharan.net/files/ICSE20-SEIP-Piranha.pdf

Tool: https://github.com/uber/piranha

monperrus commented 4 years ago

FYI: "BoundWarden: Thread-enforced spatial memory safety through compile-time transformations" https://www.sciencedirect.com/science/article/pii/S0167642320301271

monperrus commented 3 years ago

"Co-Inflow: Coarse-grained Information Flow Control for Java-like Languages" (2021) uses Spoon

monperrus commented 3 years ago

FYI "Tailoring programs for static analysis via program transformation" https://rijnard.com/pdfs/tailoring-analysis-icse-2020.pdf

monperrus commented 3 years ago

Verification of Program Transformations with Inductive Refinement Types http://dl.acm.org/citation.cfm?id=3409805

monperrus commented 3 years ago

PSIMiner: A Tool for Mining Rich Abstract Syntax Trees from Code Tool: https://github.com/JetBrains-Research/psiminer

monperrus commented 3 years ago

FYI Automatic task-based parallelization of C++ applications by source-to-source transformations http://arxiv.org/pdf/2105.10726

monperrus commented 3 years ago

How Our Engineering Team Used Python's AST to Patch 100,000s of Lines of Code

monperrus commented 2 years ago

"A Precise Framework for Source-Level Control-Flow Analysis", https://ieeexplore.ieee.org/document/9610697 by @creichen and colleagues

monperrus commented 1 year ago

Property Probes Source Code Based Exploration of Program Analysis Results https://dl.acm.org/doi/pdf/10.1145/3567512.3567525

monperrus commented 11 months ago

FYI HyperDiff: Computing Source Code Diffs at Scale https://inria.hal.science/hal-04189855/file/main.pdf