{"publication_status":"published","publication":"Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis","abstract":[{"text":"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/ ","lang":"eng"}],"oa_version":"None","author":[{"full_name":"Le, Xuan","first_name":"Xuan","last_name":"Le"},{"full_name":"Chu, Duc Hiep","first_name":"Duc Hiep","id":"3598E630-F248-11E8-B48F-1D18A9856A87","last_name":"Chu"},{"last_name":"Lo","first_name":"David","full_name":"Lo, David"},{"first_name":"Claire","full_name":"Le Goues, Claire","last_name":"Le Goues"},{"last_name":"Visser","first_name":"Willem","full_name":"Visser, Willem"}],"conference":{"location":"Santa Barbara, CA, United States","name":"ISSTA: International Symposium on Software Testing and Analysis","start_date":"2017-07-10","end_date":"2017-07-14"},"doi":"10.1145/3092703.3098225","_id":"941","title":"JFIX: Semantics-based repair of Java programs via symbolic PathFinder","scopus_import":1,"quality_controlled":"1","language":[{"iso":"eng"}],"date_updated":"2021-01-12T08:22:05Z","publist_id":"6478","type":"conference","date_published":"2017-07-10T00:00:00Z","user_id":"3E5EF7F0-F248-11E8-B48F-1D18A9856A87","page":"376 - 379 ","year":"2017","project":[{"grant_number":"S 11407_N23","_id":"25832EC2-B435-11E9-9278-68D0E5697425","call_identifier":"FWF","name":"Rigorous Systems Engineering"},{"_id":"25F42A32-B435-11E9-9278-68D0E5697425","grant_number":"Z211","name":"The Wittgenstein Prize","call_identifier":"FWF"}],"status":"public","publisher":"ACM","day":"10","citation":{"ista":"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.","chicago":"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.","apa":"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","short":"X. Le, D.H. Chu, D. Lo, C. Le Goues, W. Visser, in:, Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ACM, 2017, pp. 376–379.","ama":"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","mla":"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.","ieee":"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."},"date_created":"2018-12-11T11:49:19Z","month":"07","department":[{"_id":"ToHe"}]}