thesis: Leveraging HDD for debloating Java source code using Spoon
- Dominant language
- Java
- Stars
- 2k
- Forks
- 392
- Avg merge
- 11h 24m
- Merged PRs (30d)
- 36
Description
**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](https://www.cesarsotovalero.net/software-debloating-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.
Contributor guide
Assessment
This issue has not been assessed yet.