首页 | 本学科首页   官方微博 | 高级检索  
     


A unifying theory of control dependence and its application to arbitrary program structures
Authors:Sebastian Danicic  Richard W BarracloughMark Harman  John D HowroydÁkos Kiss  Michael R Laurence
Affiliation:
  • a Department of Computing, Goldsmiths College, University of London, London SE14 6NW, UK
  • b @UK PLC 5 Jupiter House, Calleva Park, Aldermaston, Reading, Berkshire, RG7 8NN, UK
  • c CREST, Software Systems Engineering Group, Department of Computer Science, University College London, Malet Place, London, WC1E 6BT, UK
  • d Department of Software Engineering, Institute of Informatics, University of Szeged, 6720 Szeged, Hungary
  • e Department of Computer Science, The University of Sheffield, Western Bank, Sheffield S10 2TN, UK
  • 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.
    Keywords:Control dependence  Program dependence  Program analysis  Software engineering  Program slicing  Formal methods  Program semantics  Graph theory
    本文献已被 ScienceDirect 等数据库收录!
    设为首页 | 免责声明 | 关于勤云 | 加入收藏

    Copyright©北京勤云科技发展有限公司  京ICP备09084417号