2014
DOI: 10.1007/s10664-014-9343-7
|View full text |Cite
|
Sign up to set email alerts
|

Charting the API minefield using software telemetry data

Abstract: Programs draw significant parts of their functionality through the use of Application Programming Interfaces (APIs). Apart from the way developers incorporate APIs in their software, the stability of these programs depends on the design and implementation of the APIs. In this work, we report how we used software telemetry data to analyze the causes of API failures in Android applications. Specifically, we got 4.9 GB worth of crash data that thousands of applications sent to a centralized crash report managemen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
17
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
5
4

Relationship

2
7

Authors

Journals

citations
Cited by 18 publications
(18 citation statements)
references
References 88 publications
1
17
0
Order By: Relevance
“…Using Catcher, we can argue about particular api misuses (related to constraints misuses and exception handling misuses) at code level. apis come also with their reference documentation, which can significantly affect the robustness of client applications [12,14,30]. If an exception that might throw at runtime is not listed in the documentation (i.e., it is unexpected), developers stay unaware of the possible manifestation of that exception at runtime.…”
Section: Rq3: What Types Of Api Misuses Does Catcher Expose?mentioning
confidence: 99%
See 1 more Smart Citation
“…Using Catcher, we can argue about particular api misuses (related to constraints misuses and exception handling misuses) at code level. apis come also with their reference documentation, which can significantly affect the robustness of client applications [12,14,30]. If an exception that might throw at runtime is not listed in the documentation (i.e., it is unexpected), developers stay unaware of the possible manifestation of that exception at runtime.…”
Section: Rq3: What Types Of Api Misuses Does Catcher Expose?mentioning
confidence: 99%
“…Catcher works as follows. First, static exception propagation [24,49] (based on Soot [57]) identifies call paths that propagate runtime exceptions raised by api methods but remained unhandled in the application call sites, potentially causing application crashes [18,30]. The call sites to each one of those api methods represent candidate misuses, defining the search space for the test-case generation.…”
Section: Introductionmentioning
confidence: 99%
“…Although Android applications are GUI-based and mainly written in Java, they differ from Java GUI applications, particularly by the kinds of bugs they can present [2,12]. Existing test input generation tools for Java [13][14][15] cannot be directly used to test Android apps, and custom tools must be adopted instead.…”
Section: Android Applicationsmentioning
confidence: 99%
“…This paper focuses on bugs that manifest with crashes. Kechagia et al [22] identify causes of Android app crashes within a dataset of stack traces collected from real devices. In addition, Liang et al [24] identify contextrelated bugs in mobile apps, i.e., network conditions, device heterogeneity and sensor input.…”
Section: Causes Of App Crashesmentioning
confidence: 99%