Developing and integrating ProDAG in the Arcadia environment

ProDAG is an analysis toolset that provides an application programmatic interface for program dependence analysis. Program dependences are syntactic relationships between program statements. The ProDAG interface provides a uniform set of operations for creating and accessing several pre-defined dependence relations, which are represented as graphs, as well as a standard mechanism for developing new dependence graphs. ProDAG is one analysis toolset in Arcadia, ProDAG was developed in the Arcadia environment and has been integrated with the language processing, oject management, and process definition components of the Arcadia architecture, and further integration with the user interface development system and the measurement and evaluation components are underway. This paper describes the design, implementation and integration of proDAG within Arcadia.

[1]  Debra J. Richardson,et al.  An Analysis of Test Data Selection Criteria Using the RELAY Model of Fault Detection , 1993, IEEE Trans. Software Eng..

[2]  Douglas C. Schmidt,et al.  Metric-driven analysis and feedback systems for enabling empirically guided software development , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[3]  Jack C. Wileden,et al.  Extending and Limiting PGraphite-style Persistence , 1990, Workshop on Persistent Objects.

[4]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[5]  Leon J. Osterweil,et al.  Dave—a validation error detection and documentation system for fortran programs , 1976, Softw. Pract. Exp..

[6]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[7]  Richard N. Taylor,et al.  Chiron-1: a user interface development system tailored to software environments , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[8]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[9]  Thomas W. Reps,et al.  On the adequacy of program dependence graphs for representing programs , 1988, POPL '88.

[10]  Debra J. Richardson,et al.  The RELAY model of error detection and its application , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[11]  Dennis Heimbigner,et al.  Language constructs for managing change in process-centered environments , 1990, SDE.

[12]  Thomas W. Reps,et al.  The use of program dependence graphs in software engineering , 1992, International Conference on Software Engineering.

[13]  Lori A. Clarke,et al.  TEAM: a support environment for testing, evaluation, and analysis , 1988, SDE 3.

[14]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[15]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[16]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[17]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984, SDE 1.

[18]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[19]  Simeon C. Ntafos,et al.  On Required Element Testing , 1984, IEEE Transactions on Software Engineering.

[20]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[21]  Bogdan Korel The Program Dependence Graph in Static Program Testing , 1987, Inf. Process. Lett..

[22]  Susan Horwitz,et al.  Generating editing environments based on relations and attributes , 1986, TOPL.

[23]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[24]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.