• 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