From DFA-Frameworks to DFA-Generators: A Unifying Multiparadigm Approach

  • Authors:
  • Jens Knoop

  • Affiliations:
  • -

  • Venue:
  • TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program analysis is still characterized by paradigm-specific approaches, which are developed to accommodate to the diversities of the different programming paradigms as e.g. the imperative, object-oriented, or parallel one. Switching between paradigms or transferring analyses across paradigm boundaries requires usually detailed knowledge of the peculiarities of the various approaches. This complicates both the reuse of analyses and the proofs of their correctness. On the other hand, abstract interpretation provides a unifying access to program analysis. In this article we exploit this for the construction of program analysis generators based on a uniform design principle. Basically, we proceed by extracting the abstract kernel from the standard analysis framework, which we then consider under a generic perspective. We show that there are concrete instances in such different paradigms as those above. As a by-product their decomposition into a "theoretical" and "practical" part which are specificational and computational in nature, reveals the aforementioned design principle. The frameworks and their respective generators, which can be fed by concise specifications, can thereby be considered black-boxes: analysis designers only need to know of the (quite similar) interfaces. The proof of correctness or even precision of a generated algorithm with respect to a specific property reduces to checking the premises of a few theorems. This considerably eases the construction of analyses within a specific paradigm as well as the switch between and the transfer of analyses to other paradigms.