COPPICE: Discovering Complete API Rules through Mutation Testing

dc.contributor.authorNGUYEN, Anh Cuongen_US
dc.contributor.authorKHOO, Siau-Chengen_US
dc.date.accessioned2012-03-27T09:01:47Zen_US
dc.date.accessioned2017-01-23T07:00:04Z
dc.date.available2012-03-27T09:01:47Zen_US
dc.date.available2017-01-23T07:00:04Z
dc.date.issued2012-03-27T09:01:47Zen_US
dc.description.abstractSpecifications are important for many activities during software construction and maintenance process such as testing, verification, debugging and repairing. Despite their importance, specifications are often missing, informal or incomplete because they are difficult to write manually. Many techniques have been proposed to automatically mine specifications describing method call sequence from execution traces or source code using frequent pattern mining. Unfortunately, a sizeable number of such “interesting” specifications discovered by frequent pattern mining may not capture the correct use patterns of method calls. Consequently, when used in software testing or verification, these mined specifications lead to many false positive defects, which in turn consume much effort for manual investigation. We present a novel framework for automatically discovering legitimate specifications from execution traces using a mutation testing based approach. Such an approach gives a semantics bearing to the legitimacy of the discovered specifications. We introduce the notion of maximal precision and completeness as the desired forms of discovered specifications, and describe in detail suppression techniques that aid efficient discovery. Preliminary evaluation of this approach on several open source software projects shows that specifications discovered through our approach, compared with those discovered through frequent pattern mining, are much more precise and complete. When used in finding bugs, our specifications also locate defects with significantly fewer false positives and more true positives.en_US
dc.format.extent369644 bytesen_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.urihttps://dl.comp.nus.edu.sg/xmlui/handle/1900.100/3587en_US
dc.language.isoenen_US
dc.relation.ispartofseriesTRC3/12en_US
dc.titleCOPPICE: Discovering Complete API Rules through Mutation Testingen_US
dc.typeTechnical Reporten_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TRC3-12.pdf
Size:
360.98 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.53 KB
Format:
Plain Text
Description: