Reducing Behavioural to Structural Properties of Programs with Procedures

Dilian Gurov, Marieke Huisman

    Research output: Contribution to journalArticleAcademicpeer-review

    2 Citations (Scopus)
    27 Downloads (Pure)


    There is an intimate link between program structure and behaviour. Exploiting this link to phrase program correctness problems in terms of the structural properties of a program graph rather than in terms of its unfoldings is a useful strategy for making analyses more tractable. The present paper presents a characterisation of behavioural program properties through sets of structural properties by means of a translation. The characterisation is given in the context of a program model based on control flow graphs of sequential programs with procedures, abstracting away completely from program data, and properties expressed in a fragment of the modal mu-calculus with boxes and greatest fixed-points only. The property translation is based on a tableau construction that conceptually amounts to symbolic execution of the behavioural formula, collecting structural constraints along the way. By keeping track of the subformulae that have been examined, recursion in the structural constraints can be identified and captured by fixed-point formulae. The tableau construction terminates, and the characterisation is exact, i.e., the translation is sound and complete. A prototype implementation has been developed. In addition, we show how the translation can be extended beyond the basic flow graph model and safety logic to richer behavioural models (such as open programs) and richer program models (including Boolean programs), and discuss possible extensions for more complex logics. We present several applications of the characterisation, in particular sound and complete compositional verification for behavioural properties based on maximal models.
    Original languageUndefined
    Pages (from-to)69-103
    Number of pages35
    JournalTheoretical computer science
    Publication statusPublished - 8 Apr 2013


    • EWI-23277
    • Safety properties
    • Program Verification
    • Compositional reasoning
    • IR-85832
    • Control-flow behaviour
    • Control-flow structure
    • METIS-296403
    • Modal mu-calculus

    Cite this