• DocumentCode
    2443228
  • Title

    Axis: Automatically fixing atomicity violations through solving control constraints

  • Author

    Liu, Peng ; Zhang, Charles

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Hong Kong Univ. of Sci. & Technol., Hong Kong, China
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    299
  • Lastpage
    309
  • Abstract
    Atomicity, a general correctness criterion in concurrency programs, is often violated in real-world applications. The violations are difficult for developers to fix, making automatic bug fixing techniques attractive. The state of the art approach aims at automating the manual fixing process but cannot provide any theoretical reasoning and guarantees. We provide an automatic approach that applies well-studied discrete control theory to guarantee deadlocks are not introduced and maximal preservation of the concurrency of the original code. Under the hood, we reduce the problem of violation fixing to a constraint solving problem using the Petri net model. Our evaluation on 13 subjects shows that the slowdown incurred by our patches is only 40% of that of the state of the art. With the deadlock-free guarantee, our patches incur moderate overhead (around 10%), which is a worthwhile cost for safety.
  • Keywords
    Petri nets; concurrency control; program debugging; Axis; Petri net model; atomicity violation automatic fixing; automatic bug fixing techniques; concurrency programs; control constraints solving; deadlock-free guarantee; discrete control theory; general correctness criterion; Cognition; Computer bugs; Concurrent computing; Equations; Mathematical model; System recovery; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227184
  • Filename
    6227184