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
Link To Document