JFIX: Semantics-based repair of Java programs via symbolic PathFinder

Le X, Chu DH, Lo D, Le Goues C, Visser W. 2017. JFIX: Semantics-based repair of Java programs via symbolic  PathFinder. Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis. ISSTA: International Symposium on Software Testing and Analysis, 376–379.

Download
No fulltext has been uploaded. References only!

Conference Paper | Published | English

Scopus indexed
Author
Le, Xuan; Chu, Duc HiepISTA; Lo, David; Le Goues, Claire; Visser, Willem
Abstract
Recently there has been a proliferation of automated program repair (APR) techniques, targeting various programming languages. Such techniques can be generally classified into two families: syntactic- and semantics-based. Semantics-based APR, on which we focus, typically uses symbolic execution to infer semantic constraints and then program synthesis to construct repairs conforming to them. While syntactic-based APR techniques have been shown successful on bugs in real-world programs written in both C and Java, semantics-based APR techniques mostly target C programs. This leaves empirical comparisons of the APR families not fully explored, and developers without a Java-based semantics APR technique. We present JFix, a semantics-based APR framework that targets Java, and an associated Eclipse plugin. JFix is implemented atop Symbolic PathFinder, a well-known symbolic execution engine for Java programs. It extends one particular APR technique (Angelix), and is designed to be sufficiently generic to support a variety of such techniques. We demonstrate that semantics-based APR can indeed efficiently and effectively repair a variety of classes of bugs in large real-world Java programs. This supports our claim that the framework can both support developers seeking semantics-based repair of bugs in Java programs, as well as enable larger scale empirical studies comparing syntactic- and semantics-based APR targeting Java. The demonstration of our tool is available via the project website at: https://xuanbachle.github.io/semanticsrepair/
Publishing Year
Date Published
2017-07-10
Proceedings Title
Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
Publisher
ACM
Page
376 - 379
Conference
ISSTA: International Symposium on Software Testing and Analysis
Conference Location
Santa Barbara, CA, United States
Conference Date
2017-07-10 – 2017-07-14
IST-REx-ID
941

Cite this

Le X, Chu DH, Lo D, Le Goues C, Visser W. JFIX: Semantics-based repair of Java programs via symbolic  PathFinder. In: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM; 2017:376-379. doi:10.1145/3092703.3098225
Le, X., Chu, D. H., Lo, D., Le Goues, C., & Visser, W. (2017). JFIX: Semantics-based repair of Java programs via symbolic  PathFinder. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (pp. 376–379). Santa Barbara, CA, United States: ACM. https://doi.org/10.1145/3092703.3098225
Le, Xuan, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser. “JFIX: Semantics-Based Repair of Java Programs via Symbolic  PathFinder.” In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, 376–79. ACM, 2017. https://doi.org/10.1145/3092703.3098225.
X. Le, D. H. Chu, D. Lo, C. Le Goues, and W. Visser, “JFIX: Semantics-based repair of Java programs via symbolic  PathFinder,” in Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, Santa Barbara, CA, United States, 2017, pp. 376–379.
Le X, Chu DH, Lo D, Le Goues C, Visser W. 2017. JFIX: Semantics-based repair of Java programs via symbolic  PathFinder. Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis. ISSTA: International Symposium on Software Testing and Analysis, 376–379.
Le, Xuan, et al. “JFIX: Semantics-Based Repair of Java Programs via Symbolic  PathFinder.” Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ACM, 2017, pp. 376–79, doi:10.1145/3092703.3098225.

Export

Marked Publications

Open Data ISTA Research Explorer

Search this title in

Google Scholar