arrow
返回

Charting the API minefield using software telemetry data

delete2014-12-11
delete15
PRE
AI
M
Maria Kechagia *
D
Dimitris Mitropoulos
D
Diomidis Spinellis
DOI:10.1007/s10664-014-9343-7delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
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 management service. We processed that data to extract approximately a million stack traces, stitching together parts of chained exceptions, and established heuristic rules to draw the border between applications and the API calls. We examined a set of more than a half million stack traces associated with risky API calls to map the space of the most common application failure reasons. Our findings show that the top ones can be attributed to memory exhaustion, race conditions or deadlocks, and missing or corrupt resources. Given the classes of the crash causes we identified, we recommend API design and implementation choices, such as specific exceptions, default resources, and non-blocking algorithms, that can eliminate common failures. In addition, we argue that development tools like memory analyzers, thread debuggers, and static analyzers can prevent crashes through early code testing and analysis. Finally, some execution platform and framework designs for process and memory management can also eliminate some application crashes.
Keyword:
Application programming interfaces
Stack traces
Reliability
Mobile applications
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

暂无机构信息
引用论文

引用论文

A Hybrid ACO+CP for Balancing Bicycle Sharing Systems
err2013-01-01
err0
PREAI
errLuca Di Gaspero; Andrea Rendl; Tommaso Urli
err分享
err收藏
err分享
err收藏
err分享
err收藏
Energy Management Techniques in Modern Mobile Handsets
err2013-01-01
err136
PREAI
errVallina-Rodriguez, Narseo; Crowcroft, Jon
err分享
err收藏
Development Platforms for Mobile Applications: Status and Trends
err2011-01-01
err86
PREAI
errGavalas, Damianos; Economou, Daphne
err分享
err收藏
学者 查看更多内容