Static Dependency Analysis for Concurrent Ada 95 Programs
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
The Impact of Software Evolution on Code Coverage Information
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Context-sensitive slicing of concurrent programs
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
An efficient interprocedural dynamic slicing method
Journal of Systems and Software
Distributed dynamic slicing of Java programs
Journal of Systems and Software
3D visualization techniques to support slicing-based program comprehension
Computers and Graphics
Probabilistic diagnosis of performance faults in large-scale parallel applications
Proceedings of the 21st international conference on Parallel architectures and compilation techniques
Hi-index | 0.00 |
As software applications grow larger and become more complex, program maintenance activities such as adding new functionality, debugging, and testing consume an increasing amount of available resources for software development. This is especially true for distributed systems communicating via message passing. In order to cope with this increased complexity, programmers need effective computer supported methods for decomposition and dependence analysis of programs. Program slicing is one method for such decomposition and dependence analysis. A program slice with respect to a specified variable at some program point consists of those parts of the program which potentially affect the value of that variable at the particular program point. A static slice is valid for all possible executions of a program while a dynamic slice considers only a particular execution of a program. In this paper we present a technique for dynamic slicing of distributed programs which computes accurate slices. We introduce the notion of distributed dynamic dependence graph (DDDG) which represents control, data and communication dependences in a distributed program. This graph is built at run time and used to compute dynamic slices of the program. A distributed dynamic slicer for ANSI-C programming language has been implemented on a parallel MIMD computer of type Parsytec GC/Powerplus with 128 PowerPC processors.