Automated program repair using genetic programming and model checking

作者: Zahra Zojaji , Behrouz Tork Ladani , Alireza Khalilian

DOI: 10.1007/S10489-016-0804-0

关键词: Test caseFault detection and isolationReliability engineeringContext (language use)Computer scienceAlgorithmHeuristicModel checkingGenetic programmingConcurrencySoftwareJava

摘要: Automated program repair is still a highly challenging problem mainly due to the reliance of current techniques on test cases validate candidate patches. This leads increasing unreliability final patches since are partial specifications software. In present paper, an automated method proposed by integrating genetic programming (GP) and model checking (MC). Due its capabilities verify finite state systems, MC employed as appropriate criterion for evolving programs calculate fitness in GP. The application evaluation, which novel context repair, addresses important gap heuristic approaches repair. Being focused fault detection based desired aspects, it enables programmers detect faults according definition properties. Creating general method, this characteristic can be effectively customized different domains corresponding faults. Apart from various types faults, capable handling concurrency bugs not case many methods. To evaluate was implemented tool, named JBF, Java programs. meet objectives study, some experiments were conducted certain with known automatically repaired JBF tool. obtained results encouraging remarkably promising.

参考文章(75)
Rajiv Gupta, Dennis Bernard Jeffrey, Dynamic state alteration techniques for automatically locating software errors University of California, Riverside. ,(2009)
John R. Koza, Hierarchical genetic algorithms operating on populations of computer programs international joint conference on artificial intelligence. pp. 768- 774 ,(1989)
Westley Weimer, Advances in Automated Program Repair and a Call to Arms Search Based Software Engineering. pp. 1- 3 ,(2013) , 10.1007/978-3-642-39742-4_1
Paul Ammann, Jeff Offutt, Introduction to Software Testing Cambridge University Press. ,(2008) , 10.1017/CBO9780511809163
Markus Stumptner, Franz Wotawa, Model-based program debugging and repair industrial and engineering applications of artificial intelligence and expert systems. pp. 155- 160 ,(1996)
Claire Le Goues, Neal Holtschulte, Edward K. Smith, Yuriy Brun, Premkumar Devanbu, Stephanie Forrest, Westley Weimer, The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs IEEE Transactions on Software Engineering. ,vol. 41, pp. 1236- 1256 ,(2015) , 10.1109/TSE.2015.2454513
Leonardo de Moura, Nikolaj Bjørner, Z3: an efficient SMT solver tools and algorithms for construction and analysis of systems. pp. 337- 340 ,(2008) , 10.1007/978-3-540-78800-3_24
Jeff Offutt, Paul Ammann, Introduction to Software Testing ,(2016)
Gal Katz, Doron Peled, Code Mutation in Verification and Automatic Code Correction Tools and Algorithms for the Construction and Analysis of Systems. pp. 435- 450 ,(2010) , 10.1007/978-3-642-12002-2_36