Automatic Repair of Infinite Loops
نویسندگان
چکیده
Research on automatic software repair is concerned with the development of systems that automatically detect and repair bugs. One well-known class of bugs is the infinite loop. Every computer programmer or user has, at least once, experienced this type of bug. We state the problem of repairing infinite loops in the context of test-suite based software repair: given a test suite with at least one failing test, generate a patch that makes all test cases pass. Consequently, repairing infinites loop means having at least one test case that hangs by triggering the infinite loop. Our system to automatically repair infinite loops is called Infinitel. We develop a technique to manipulate loops so that one can dynamically analyze the number of iterations of loops; decide to interrupt the loop execution; and dynamically examine the state of the loop on a per-iteration basis. Then, in order to synthesize a new loop condition, we encode this set of program states as a code synthesis problem using a technique based on Satisfiability Modulo Theory (SMT). We evaluate our technique on seven seeded-bugs and on seven real-bugs. Infinitel is able to repair all of them, within seconds up to one hour on a standard laptop configuration.
منابع مشابه
Ph.D. Proposal: Automatic Repair of Loops
This PhD topic is about automatic software repair. Automatic software repair is the process of fixing software bugs automatically. Research on automatic software repair has recently started, esp. since the invention of GenProg, an automatic repair system for C code [3]. We have been successfully contributing to this field [4, 5, 6, 1]. The PhD student will explore how to automatically repair a ...
متن کاملCycle detection in repair-based railway scheduling system
In this paper, we propose un approach for railway scheduling based on iterative repair, a technique that starts with a complete but possibly Jawed schedule and searches through the space of possible repairs. The search is guided by an earliest-conflict-jirst heuristic that attempts to repair the earliest constraint violation while minimiring the value of objective finction. Since cycles may exi...
متن کاملHeuristic Approach of Automated Test Data Generation For Programs Having Array Of Different Dimensions and Loops With Variable Number Of Iteration
In software testing, loops are important spot for error detection. Execution of program spend large amount of time in loops. Without covering paths going through loops we can not get better code coverage. Most of the mistakes are made in loops of programs. Infinite loop creates lots of problem in detecting the errors. In fact, it is impossible to detect all kinds of infinite looping automatical...
متن کاملBochdalek hernia with intrathoracic kidney as one of its contents - Incidentally identified by 99mTc-DTPA renogram
Congenital diaphragmatic hernia (CDH) is a rare anomaly with a reported incidence of 1 in 16,000 populations. It may be associated with herniation of stomach, intestinal loops, spleen, and kidney through a chest wall defect. We report a case of a 1 year old male child who presented with recurrent fever, occasional chills and rigor of 4 months duration. Left kidney was non visualised on ultrasou...
متن کاملDetecting and Escaping Infinite Loops with Jolt
Infinite loops make applications unresponsive. Potential problems include lost work or output, denied access to application functionality, and a lack of responses to urgent events. We present Jolt, a novel system for dynamically detecting and escaping infinite loops. At the user’s request, Jolt attaches to an application to monitor its progress. Specifically, Jolt records the program state at t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1504.05078 شماره
صفحات -
تاریخ انتشار 2015