KATCH: high-coverage testing of software patches
File(s)katch-fse-13.pdf (623 KB)
Accepted version
Author(s)
Marinescu, PD
Cadar, C
Type
Conference Paper
Abstract
One of the distinguishing characteristics of software systems is that they evolve: new patches are committed to software repositories and new versions are released to users on a continuous basis. Unfortunately, many of these changes bring unexpected bugs that break the stability of the system or affect its security. In this paper, we address this problem using a technique for automatically testing code patches. Our technique combines symbolic execution with several novel heuristics based on static and dynamic program analysis which allow it to quickly reach the code of the patch. We have implemented our approach in a tool called katch, which we have applied to all the patches written in a combined period of approximately six years for nineteen mature programs from the popular GNU diffutils, GNU binutils and GNU findutils utility suites, which are shipped with virtually all UNIX-based distributions. Our results show that katch can automatically synthesise inputs that significantly increase the patch coverage achieved by the existing manual test suites, and find bugs at the moment they are introduced.
Editor(s)
Meyer, B
Baresi, L
Mezini, M
Date Issued
2013-08-18
Online Publication Date
2013-08-18
2015-06-02T16:00:39Z
Date Acceptance
2013-08-13
ISBN
978-1-4503-2237-9
Publisher
ACM
Start Page
235
End Page
245
Journal / Book Title
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Copyright Statement
© ACM, 2013. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering https://dx.doi.org/10.1145/2491411.2491438
Source Database
scopus
Identifier
http://srg.doc.ic.ac.uk/publications/katch-fse-13.html
Source
Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'13)
Publication Status
Published
Start Date
2013-08-13
Finish Date
2013-08-26
Country
Saint Petersburg, Russian Federation