Cost-Aware Automatic Program Repair

被引:0
作者
Samanta, Roopsha [1 ,2 ]
Olivo, Oswaldo [1 ]
Emerson, E. Allen [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
[2] IST Austria, Klosterneuburg, Austria
来源
STATIC ANALYSIS (SAS 2014) | 2014年 / 8723卷
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 abstraction-based 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.
引用
收藏
页码:268 / 284
页数:17
相关论文
共 30 条
[1]  
[Anonymous], 2014, LOOPS BENCHM
[2]  
[Anonymous], 2011, P 19 ACM SIGSOFT S 1
[3]  
[Anonymous], FMCAD
[4]  
Arcuri A, 2008, ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P1003
[5]  
Ball T., 2001, Model Checking Software. 8th International SPIN Workshop. Proceedings (Lecture Notes in Computer Science Vol.2057), P103
[6]  
Ball T., 2010, 2010 Formal Methods in Computer-Aided Design (FMCAD 2010), P35
[7]   From symptom to cause: Localizing errors in counterexample traces [J].
Ball, T ;
Naik, M ;
Rajamani, SK .
ACM SIGPLAN NOTICES, 2003, 38 (01) :97-105
[8]  
Ball T., 2000, Tech. Rep. MSR Tech. Rep. 2000-14
[9]  
Bloem R, 2009, LECT NOTES COMPUT SC, V5643, P140, DOI 10.1007/978-3-642-02658-4_14
[10]  
Chandra S, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P121, DOI 10.1145/1985793.1985811