Handling Non-linear Operations in the Value Analysis of COSTA

Diego Alonso, Puri Arenas, Samir Genaim

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

Inferring precise relations between (the values of) program variables at different program points is essential for termination and resource usage analysis. In both cases, this information is used to synthesize ranking functions that imply the program's termination and bound the number of iterations of its loops. For efficiency, it is common to base value analysis on non-disjunctive abstract domains such as Polyhedra, Octagon, etc. While these domains are efficient and able to infer complex relations for a wide class of programs, they are often not sufficient for modeling the effect of non-linear and bit arithmetic operations. Modeling such operations precisely can be done by using more sophisticated abstract domains, at the price of performance overhead. In this paper we report on the value analysis of COSTA that is based on the idea of encoding the disjunctive nature of non-linear operations into the (abstract) program itself, instead of using more sophisticated abstract domains. Our experiments demonstrate that COSTA is able to prove termination and infer bounds on resource consumption for programs that could not be handled before.

Original languageEnglish
Pages (from-to)3-17
Number of pages15
JournalElectronic Notes in Theoretical Computer Science
Volume279
Issue number1
DOIs
StatePublished - 2 Dec 2011
Externally publishedYes

Keywords

  • Resource usage analysis
  • bit arithmetic operations
  • non-linear operations
  • value analysis

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Handling Non-linear Operations in the Value Analysis of COSTA'. Together they form a unique fingerprint.

Cite this