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.76k stars 352 forks source link

thesis: Leveraging HDD for debloating Java source code using Spoon #3870

Open cesarsotovalero opened 3 years ago

cesarsotovalero commented 3 years ago

Description: The problem of removing unnecessary code (aka software debloat) is relevant and challenging [1]. Hierarchical Delta Debugging (HDD) is a useful technique for minimizing all failure-inducing inputs for more effective debugging [2]. HDD can be used to improve the debloating process [3,4,5]. It allows determining the set of instructions in a program that, after execution, satisfies a set of user-provided outputs. Yet, there is currently no tool that to debloat Java code based on HDD techniques. The student will design, implement, and evaluate an HDD-based approach to debloat the source code of Java programs using the Spoon library.

[1] Living review of software debloat papers.

[2] Misherghi, Ghassan, and Zhendong Su. “HDD: hierarchical delta debugging.” Proceedings of the 28th international conference on Software engineering. 2006.

[3] Heo, Kihong, et al. “Effective program debloating via reinforcement learning.” Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 2018.

[4] Christian Gram Kalhauge and Jens Palsberg. "Binary Reduction of Dependency Graphs." Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of SoftwareEngineering. 2019.

[5] Sun et. al. "Perses: Syntax-Guided Program Reduction". Proceedings of the International Conference on Software Engineering. 2018.

KishkinJ10 commented 3 years ago

hello sir , i am a beginner and i am participating in the GSoC 2021 , i have selected my project "Project Spoon", sir can you please provide me some references for the content to make a good proposal ??

cesarsotovalero commented 3 years ago

Hi @KishkinJ10, for questions regarding GSoC, ask here https://github.com/INRIA/spoon/issues/3828

monperrus commented 3 years ago

added label mastersthesis