Bugs in concurrent software are difficult to identify and fix since they may only exhibit abnormal behaviour on certain thread interleavings. We propose the use of evolutionary programming to incrementally create a solution that fixes a concurrency bug automatically. Bugs in a concurrent program are fixed by iteratively mutating the program and evaluating each mutation using a fitness function that compares the new version of the program with a previous version.
- David Kelk, Kevin Jalbert, Jeremy Bradbury. “Automatically Repairing Concurrency Bugs with ARC,” Proc. of the 1st International Conference on Multicore Software Engineering, Performance, and Tools (MUSEPAT 2013), pages 73-84, Saint Petersburg, Russia, Aug. 2013.
- Jeremy S. Bradbury, David Kelk, Mark Green. “Effectively Using Search-Based Software Engineering Techniques within Model Checking and It’s Applications,”Proc. of the 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE 2013), pages 67-70, San Francisco, CA, USA, May 2013.
- Jeremy S. Bradbury, Kevin Jalbert. “Automatic Repair of Concurrency Bugs”, Proc. of the 2nd International Symposium on Search Based Software Engineering (SSBSE 2010) – Fast Abstracts, Benevento, Italy, Sept. 2010, 2pp.
Posters and Demos:
- Kevin Jalbert, David Kelk and Jeremy S. Bradbury. “ARC: Automatic Repair of Java Concurrency Bugs”, In the poster session of the 2011 Fall Meeting of the Consortium for Software Engineering Research (CSER).