Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2019
DOI: 10.1145/3338906.3338956
|View full text |Cite
|
Sign up to set email alerts
|

Binary reduction of dependency graphs

Abstract: Delta debugging is a technique for reducing a failure-inducing input to a small input that reveals the cause of the failure. This has been successful for a wide variety of inputs including C programs, XML data, and thread schedules. However, for input that has many internal dependencies, delta debugging scales poorly. Such input includes C#, Java, and Java bytecode and they have presented a major challenge for input reduction until now. In this paper, we show that the core challenge is a reduction problem for … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
19
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 22 publications
(20 citation statements)
references
References 21 publications
0
19
0
Order By: Relevance
“…Given a test oracle, delta-debugging based techniques can repeatedly split the original program into different sub-programs and re-check the test oracle to produce a debloated program [31,48,59,76]. For example, JReduce [31] partitions the original program into transitive closures based on class-level dependencies and isolates a debloated program that still passes the test. Chisel [27] uses reinforcement learning to reduce the number of search iterations during delta debugging.…”
Section: Related Workmentioning
confidence: 99%
“…Given a test oracle, delta-debugging based techniques can repeatedly split the original program into different sub-programs and re-check the test oracle to produce a debloated program [31,48,59,76]. For example, JReduce [31] partitions the original program into transitive closures based on class-level dependencies and isolates a debloated program that still passes the test. Chisel [27] uses reinforcement learning to reduce the number of search iterations during delta debugging.…”
Section: Related Workmentioning
confidence: 99%
“…Their widely used tool C-Reduce [22] reduces large C programs to programs that are two orders of magnitude smaller and fit for inclusion in bug reports. In the context of finding bugs in tools that process Java bytecode, Kalhauge and Palsberg [13] noted that Java bytecode has many internal dependencies. For example, if a Java method constructs an object from a class, then it depends on that class: without the class, the method no longer type-checks.…”
Section: Introductionmentioning
confidence: 99%
“…For example, if a Java method constructs an object from a class, then it depends on that class: without the class, the method no longer type-checks. Their tool J-Reduce [13] reduces large Java bytecode programs to programs that are four times smaller but often still too large for the reader of a bug report.…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations