DocumentCode :
2159829
Title :
Path-sensitive resource analysis compliant with assertions
Author :
Duc-Hiep Chu ; Jaffar, Joxan
Author_Institution :
Nat. Univ. of Singapore, Singapore, Singapore
fYear :
2013
fDate :
Sept. 29 2013-Oct. 4 2013
Firstpage :
1
Lastpage :
10
Abstract :
We consider the problem of bounding the worst-case resource usage of programs, where assertions about valid program executions may be enforced at selected program points. It is folklore that to be precise, path-sensitivity (up to loops) is needed. This entails unrolling loops in the manner of symbolic simulation. To be tractable, however, the treatment of the individual loop iterations must be greedy in the sense once analysis is finished on one iteration, we cannot backtrack to change it. We show that under these conditions, enforcing assertions produces unsound results. The fundamental reason is that complying with assertions requires the analysis to be fully sensitive (also with loops) wrt. the assertion variables. We then present an algorithm where the treatment of each loop is separated in two phases. The first phase uses a greedy strategy in unrolling the loop. This phase explores what is conceptually a symbolic execution tree, which is of enormous size, while eliminates infeasible paths and dominated paths that guaranteed not to contribute to the worst case bound. A compact representation is produced at the end of this phase. Finally, the second phase attacks the remaining problem, to determine the worst-case path in the simplified tree, excluding all paths that violate the assertions from bound calculation. Scalability, in both phases, is achieved via an adaptation of a dynamic programming algorithm.
Keywords :
dynamic programming; iterative methods; program control structures; program diagnostics; trees (mathematics); dominated path elimination; dynamic programming algorithm; infeasible path elimination; loop iterations; path-sensitive resource analysis; program executions; program point selection; program worst-case resource usage; symbolic execution tree; symbolic simulation; Abstracts; Algorithm design and analysis; Arrays; Concrete; Context; Scalability; Timing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Embedded Software (EMSOFT), 2013 Proceedings of the International Conference on
Conference_Location :
Montreal, QC
Type :
conf
DOI :
10.1109/EMSOFT.2013.6658593
Filename :
6658593
Link To Document :
بازگشت