A unifying theory of control dependence and its application to arbitrary program structures

  • Authors:
  • Sebastian Danicic;Richard W. Barraclough;Mark Harman;John D. Howroyd;Ákos Kiss;Michael R. Laurence

  • Affiliations:
  • Department of Computing, Goldsmiths College, University of London, London SE14 6NW, UK;@UK PLC 5 Jupiter House, Calleva Park, Aldermaston, Reading, Berkshire, RG7 8NN, UK;CREST, Software Systems Engineering Group, Department of Computer Science, University College London, Malet Place, London, WC1E 6BT, UK;Department of Computing, Goldsmiths College, University of London, London SE14 6NW, UK;Department of Software Engineering, Institute of Informatics, University of Szeged, 6720 Szeged, Hungary;Department of Computer Science, The University of Sheffield, Western Bank, Sheffield S10 2TN, UK

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2011

Quantified Score

Hi-index 5.23

Visualization

Abstract

There are several similar, but not identical, definitions of control dependence in the literature. These definitions are given in terms of control flow graphs which have had extra restrictions imposed (for example, end-reachability). We define two new generalisations of non-termination insensitive and non-termination sensitive control dependence called weak and strong control-closure. These are defined for all finite directed graphs, not just control flow graphs and are hence allow control dependence to be applied to a wider class of program structures than before. We investigate all previous forms of control dependence in the literature and prove that, for the restricted graphs for which each is defined, vertex sets are closed under each if and only if they are either weakly or strongly control-closed. Low polynomial-time algorithms for producing minimal weakly and strongly control-closed sets over generalised control flow graphs are given. This paper is the first to define an underlying semantics for control dependence: we define two relations between graphs called weak and strong projections, and prove that the graph induced by a set of vertices is a weak/strong projection of the original if and only if the set is weakly/strongly control-closed. Thus, all previous forms of control dependence also satisfy our semantics. Weak and strong projections, therefore, precisely capture the essence of control dependence in our generalisations and all the previous, more restricted forms. More fundamentally, these semantics can be thought of as correctness criteria for future definitions of control dependence.