Slice, chunk and dataflow anomaly as DATALOG rules

https://doi.org/10.1016/0164-1212(91)90014-WGet rights and content

Abstract

A chunk intuitively corresponds to the range of impact of a program change, and is defined as the union of those program slices impacted by the change. Given a chunk with respect to a program change, a maintenance programmer can consider the impact of the change without examining the entire program. Our definition of a chunk, along with the related debugging techniques slicing and detection of dataflow anomaly, is formulated as rules in DATALOG, a function-free logic-based data base query language. This formulation facilitates integration of these debugging aids into a uniform maintenance environment based on a knowledge-base system, and the concise and exact datalog rules also provide clear semantics to these debugging techniques.

References (19)

  • J.D. Ullman

    Database and Knowledge-Base Systems

    (1989)
  • J. Ambras et al.

    MicroScope: A Knowledge-Based Programming Environment

    IEEE Software

    (1988)
  • W. Kozaczynski et al.

    SRE: A Knowledge-Based Environment for Large-Scale Software Re-engineering Activities

  • S.S. Yau et al.

    A Knowledge-Based Software Maintenance Environment

    IEEE COMPSAC

    (1986)
  • L.D. Fosdick et al.

    Data Flow Analysis in Software Reliability

    ACM Computing Surveys

    (1976)
  • M. Weiser

    Program Slicing

    IEEE TOSE

    (1984)
  • J. Ferrante et al.

    The Program Dependence Graph and its Use in Optimization

    ACM TOPLAS

    (1987)
  • B. Korel

    The Program Dependence Graph in Static Testing

    Information Processing Letters

    (1987)
  • A. Podgurski et al.

    The Implications of Program Dependences for Software Testing, Debugging, and Maintenance

There are more references available in the full text version of this article.

Cited by (3)

  • On the control structure of a program slice

    1996, Journal of Systems and Software
  • Using program dependence graphs for information flow control

    1992, The Journal of Systems and Software
  • A Knowledge-based approach to the analysis of loops

    1996, IEEE Transactions on Software Engineering
View full text