INRIA / INRIA/spoon

thesis: Leveraging HDD for debloating Java source code using Spoon

Open
#3,870 3 comments 0 reactions 0 assignees View on GitHub
mastersthesis
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.