CISPA
Browse

Certified Cost Bounds for Abstract Programs

Download (1.31 MB)
journal contribution
posted on 2025-01-02, 11:16 authored by Elvira Albert, Reiner Hähnle, Alicia Merayo, Dominic Steinhöfel
program containing placeholders for unspecified statements or expressions is called an abstract (or schematic) program. Placeholder symbols occur naturally in program transformation rules, as used in refactoring, compilation or optimization. Static cost analysis derives the precise cost –or upper and lower bounds for it– of executing programs, as functions in terms of the program’s input data size. We present a generalization of automated cost analysis that can handle abstract programs and, hence, can analyze the impact on the cost effect of program transformations. This kind of relational property requires provably precise cost bounds which are not always produced by cost analysis. Therefore, we certify by deductive verification that the inferred abstract cost bounds are correct and sufficiently precise. It is the first approach solving this problem. Both, abstract cost analysis and certification, are based on quantitative abstract execution (QAE) which in turn is a variation of abstract execution, a recently developed symbolic execution technique for abstract programs. To realize QAE the new concept of a cost invariant is introduced. QAE is implemented and runs fully automatically on a benchmark set consisting of representative optimization rules.

History

CISPA Affiliation

  • Yes

Journal

ACM Transactions on Software Engineering and Methodology

Publisher

Association for Computing Machinery (ACM)

Open Access Type

  • Unknown

Sub Type

  • Article

BibTeX

@article{Albert:Hähnle:Merayo:Steinhöfel:2024, title = "Certified Cost Bounds for Abstract Programs", author = "Albert, Elvira" AND "Hähnle, Reiner" AND "Merayo, Alicia" AND "Steinhöfel, Dominic", year = 2024, month = 11, journal = "ACM Transactions on Software Engineering and Methodology", publisher = "Association for Computing Machinery (ACM)", issn = "1049-331X", doi = "10.1145/3705298" }

Usage metrics

    Categories

    No categories selected

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC