Skip to main navigation Skip to search Skip to main content

Control-Flow Refinement by Partial Evaluation, and its Application to Termination and Cost Analysis

  • Jesús J. Doménech
  • , John P. Gallagher
  • , Samir Genaim

Research output: Contribution to journalArticlepeer-review

16 Scopus citations

Abstract

Control-flow refinement refers to program transformations whose purpose is to make implicit control-flow explicit, and is used in the context of program analysis to increase precision. Several techniques have been suggested for different programming models, typically tailored to improving precision for a particular analysis. In this paper we explore the use of partial evaluation of Horn clauses as a general-purpose technique for control-flow refinement for integer transitions systems. These are control-flow graphs where edges are annotated with linear constraints describing transitions between corresponding nodes, and they are used in many program analysis tools. Using partial evaluation for control-flow refinement has the clear advantage over other approaches in that soundness follows from the general properties of partial evaluation; in particular, properties such as termination and complexity are preserved. We use a partial evaluation algorithm incorporating property-based abstraction, and show how the right choice of properties allows us to prove termination and to infer complexity of challenging programs that cannot be handled by state-of-the-art tools. We report on the integration of the technique in a termination analyzer, and its use as a preprocessing step for several cost analyzers.

Original languageEnglish
Pages (from-to)990-1005
Number of pages16
JournalTheory and Practice of Logic Programming
Volume19
Issue number5-6
DOIs
StatePublished - 1 Sep 2019
Externally publishedYes

Keywords

  • Control-flow refinement
  • cost analysis
  • partial evaluation
  • termination analysis

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Control-Flow Refinement by Partial Evaluation, and its Application to Termination and Cost Analysis'. Together they form a unique fingerprint.

Cite this