• DocumentCode
    2866319
  • Title

    Making automatic repair for large-scale programs more efficient using weak recompilation

  • Author

    Yuhua Qi ; Xiaoguang Mao ; Yan Lei

  • Author_Institution
    Dept. of Comput. Sci. & Technol., Nat. Univ. of Defense Technol., Changsha, China
  • fYear
    2012
  • fDate
    23-28 Sept. 2012
  • Firstpage
    254
  • Lastpage
    263
  • Abstract
    For large-scale programs, automatically repairing a bug by modifying source code is often a time-consuming process due to plenty of time spent on recompiling and reinstalling the patched program. To suppress the above time cost and make the repair process more efficient, a recompilation technique called weak recompilation is described in this paper. In weak recompilation, a program is assumed to be constructed from a set of components, and for each candidate patch only the changed code fragment in term of one component is recompiled to a shared library; the behaviors of patched program are observed by executing the original program with an instrumentation tool which can wrap specified function. The advantage of weak recompilation is that redundant recompilation cost can be suppressed, and reinstallation cost will be cut down completely. We also built WAutoRepair, a system which enables scalability to fix bugs in large-scale C programs with high efficiency. The experiments confirm that our repair system significantly outperforms Genprog, a famous approach for automatic program repair. For the wireshark program containing over 2 millions lines of code, WAutoRepair spent only 0.222 seconds in recompiling one candidate patch and 8.035 seconds in totally repairing the bug, compared to Genprog separately taking about 20.484 and 75.493 seconds, on average.
  • Keywords
    C language; program compilers; program debugging; WAutoRepair; automatic bug repair; automatic large-scale C program repair; instrumentation tool; patched program recompilation; patched program reinstallation; program bug fixing; program bug locating; source code modification; weak recompilation technique; wireshark program; Computer bugs; Conferences; Instruments; Libraries; Maintenance engineering; Software maintenance; Wrapping; automated program repair; efficiency; weak recompilation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2012 28th IEEE International Conference on
  • Conference_Location
    Trento
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4673-2313-0
  • Type

    conf

  • DOI
    10.1109/ICSM.2012.6405280
  • Filename
    6405280