Abstract | ||
---|---|---|
When performing program analysis, loops are one of the most important aspects that needs to be taken into account. In the past, many approaches have been proposed to analyze loops to perform different tasks, ranging from compiler optimizations to Worst-Case Execution Time (WCET) analysis. While these approaches are powerful, they focus on tackling very specific categories of loops and known loop patterns, such as the ones for which the number of iterations can be statically determined. In this work, we developed a static analysis framework to characterize and analyze generic loops, without relying on techniques based on pattern matching. For this work, we focus on the Android platform, and we implemented a prototype, called CLAPP, that we used to perform the first large-scale empirical study of the usage of loops in Android applications. In particular, we used our tool to analyze a total of 4,110,510 loops found in 11,823 Android applications. As part of our evaluation, we provide the detailed results of our empirical study, we show how our analysis was able to determine that the execution of 63.28% of the loops is bounded, and we discuss several interesting insights related to the performance issues and security aspects associated with loops. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2786805.2786873 | ESEC/SIGSOFT FSE |
Keywords | Field | DocType |
Android, Static Analysis, Loop Analysis | Android (operating system),Computer science,Static analysis,Theoretical computer science,Real-time computing,Optimizing compiler,Ranging,Program analysis,Pattern matching,Empirical research,Bounded function | Conference |
Citations | PageRank | References |
11 | 0.57 | 24 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Yanick Fratantonio | 1 | 638 | 27.12 |
Aravind Machiry | 2 | 340 | 16.35 |
Antonio Bianchi | 3 | 351 | 13.41 |
Christopher Kruegel | 4 | 8799 | 516.05 |
Giovanni Vigna | 5 | 7121 | 507.72 |