{"page":"268 - 284","oa_version":"Submitted Version","has_accepted_license":"1","oa":1,"publisher":"Springer","abstract":[{"lang":"eng","text":"We present a formal framework for repairing infinite-state, imperative, sequential programs, with (possibly recursive) procedures and multiple assertions; the framework can generate repaired programs by modifying the original erroneous program in multiple program locations, and can ensure the readability of the repaired program using user-defined expression templates; the framework also generates a set of inductive assertions that serve as a proof of correctness of the repaired program. As a step toward integrating programmer intent and intuition in automated program repair, we present a cost-aware formulation - given a cost function associated with permissible statement modifications, the goal is to ensure that the total program modification cost does not exceed a given repair budget. As part of our predicate abstractionbased solution framework, we present a sound and complete algorithm for repair of Boolean programs. We have developed a prototype tool based on SMT solving and used it successfully to repair diverse errors in benchmark C programs."}],"user_id":"4435EBFC-F248-11E8-B48F-1D18A9856A87","publist_id":"5221","intvolume":" 8723","language":[{"iso":"eng"}],"year":"2014","date_updated":"2021-01-12T06:53:46Z","day":"01","doi":"10.1007/978-3-319-10936-7_17","conference":{"location":"Munich, Germany","name":"SAS: Static Analysis Symposium","start_date":"2014-09-11","end_date":"2014-09-14"},"scopus_import":1,"file_date_updated":"2020-07-14T12:45:19Z","editor":[{"full_name":"Müller-Olm, Markus","first_name":"Markus","last_name":"Müller-Olm"},{"full_name":"Seidl, Helmut","first_name":"Helmut","last_name":"Seidl"}],"date_created":"2018-12-11T11:54:29Z","date_published":"2014-09-01T00:00:00Z","title":"Cost-aware automatic program repair","citation":{"short":"R. Samanta, O. Olivo, E. Allen, in:, M. Müller-Olm, H. Seidl (Eds.), Springer, 2014, pp. 268–284.","chicago":"Samanta, Roopsha, Oswaldo Olivo, and Emerson Allen. “Cost-Aware Automatic Program Repair.” edited by Markus Müller-Olm and Helmut Seidl, 8723:268–84. Springer, 2014. https://doi.org/10.1007/978-3-319-10936-7_17.","ama":"Samanta R, Olivo O, Allen E. Cost-aware automatic program repair. In: Müller-Olm M, Seidl H, eds. Vol 8723. Springer; 2014:268-284. doi:10.1007/978-3-319-10936-7_17","ista":"Samanta R, Olivo O, Allen E. 2014. Cost-aware automatic program repair. SAS: Static Analysis Symposium, LNCS, vol. 8723, 268–284.","ieee":"R. Samanta, O. Olivo, and E. Allen, “Cost-aware automatic program repair,” presented at the SAS: Static Analysis Symposium, Munich, Germany, 2014, vol. 8723, pp. 268–284.","apa":"Samanta, R., Olivo, O., & Allen, E. (2014). Cost-aware automatic program repair. In M. Müller-Olm & H. Seidl (Eds.) (Vol. 8723, pp. 268–284). Presented at the SAS: Static Analysis Symposium, Munich, Germany: Springer. https://doi.org/10.1007/978-3-319-10936-7_17","mla":"Samanta, Roopsha, et al. Cost-Aware Automatic Program Repair. Edited by Markus Müller-Olm and Helmut Seidl, vol. 8723, Springer, 2014, pp. 268–84, doi:10.1007/978-3-319-10936-7_17."},"month":"09","author":[{"id":"3D2AAC08-F248-11E8-B48F-1D18A9856A87","last_name":"Samanta","first_name":"Roopsha","full_name":"Samanta, Roopsha"},{"first_name":"Oswaldo","last_name":"Olivo","full_name":"Olivo, Oswaldo"},{"last_name":"Allen","first_name":"Emerson","full_name":"Allen, Emerson"}],"quality_controlled":"1","publication_status":"published","volume":8723,"_id":"1875","file":[{"date_created":"2018-12-12T10:07:51Z","file_id":"4650","file_size":409485,"relation":"main_file","date_updated":"2020-07-14T12:45:19Z","creator":"system","content_type":"application/pdf","access_level":"open_access","checksum":"78ec4ea1bdecc676cd3e8cad35c6182c","file_name":"IST-2014-313-v1+1_SOE.SAS14.pdf"}],"status":"public","ddc":["000","005"],"type":"conference","alternative_title":["LNCS"],"department":[{"_id":"ToHe"}],"pubrep_id":"313"}