UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Effective and Efficient API Misuse Detection via Exception Propagation and Search-based Testing

Kechagia, M; Devroey, X; Panichella, A; Gousios, G; van Deursen, A; (2019) Effective and Efficient API Misuse Detection via Exception Propagation and Search-based Testing. In: Zhang, Dongmei and Groce, Alex, (eds.) Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2019). (pp. pp. 192-203). ACM (Association for Computing Machinery): New York, USA. Green open access

[thumbnail of catcher.pdf]
Preview
Text
catcher.pdf - Accepted Version

Download (929kB) | Preview

Abstract

Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The violations of these constraints (API misuses) can lead to software crashes. Even though there are several tools that can detect API misuses, most of them suffer from a very high rate of false positives. We introduce Catcher, a novel API misuse detection approach that combines static exception propagation analysis with automatic search-based test case generation to effectively and efficiently pinpoint crash-prone API misuses in client applications. We validate Catcher against 21 Java applications, targeting misuses of the Java platform’s API. Our results indicate that Catcher is able to generate test cases that uncover 243 (unique) API misuses that result in crashes. Our empirical evaluation shows that Catcher can detect a large number of misuses (77 cases) that would remain undetected by the traditional coverage-based test case generator EvoSuite. Additionally, Catcher is on average eight times faster than EvoSuite in generating test cases for the identified misuses. Finally, we find that the majority of the exceptions triggered by Catcher are unexpected to developers i.e., not only unhandled in the source code but also not listed in the documentation of the client applications.

Type: Proceedings paper
Title: Effective and Efficient API Misuse Detection via Exception Propagation and Search-based Testing
Event: 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2019), 15-19 July 2019, Beijing, China
Location: Beijing, China
Dates: 15 July 2019 - 19 July 2019
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/3293882.3330552
Publisher version: https://doi.org/10.1145/3293882.3330552
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: API misuse, software crash, static exception propagation, searchbased software testing
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10074719
Downloads since deposit
Loading...
396Downloads
Download activity - last month
Loading...
Download activity - last 12 months
Loading...
Downloads by country - last 12 months
Loading...

Archive Staff Only

View Item View Item