Modeling concurrency with partial orders
International Journal of Parallel Programming
Experiments on slicing-based debugging aids
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Information Processing Letters
Parallel program design: a foundation
Parallel program design: a foundation
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A predicate-transition net model for multiple agent planning
Information Sciences: an International Journal - Special issue on information sciences—past, present, and future
Techniques for debugging parallel programs with flowback analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Three approaches to interprocedural dynamic slicing
EUROMICRO 93 Nineteenth EUROMICRO symposium on microprocessing and microprogramming on Open system design : hardware, software and applications: hardware, software and applications
On slicing programs with jump statements
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Forward computation of dynamic program slices
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Experience with logical code analysis in software maintenance
Software—Practice & Experience
Developing an object-oriented software testing and maintenance environment
Communications of the ACM - Special issue on object-oriented experiences and future trends
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Hybrid slicing: integrating dynamic information with static analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A new Algorithm for slicing unstructured programs
Journal of Software Maintenance: Research and Practice
Programmers use slices when debugging
Communications of the ACM
On optimal slicing of parallel programs
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Distributed Predicate Detection in Series-Parallel Systems
IEEE Transactions on Parallel and Distributed Systems
The Distributed Constraint Satisfaction Problem: Formalization and Algorithms
IEEE Transactions on Knowledge and Data Engineering
Distributed Slicing and Partial Re-execution for Distributed Programs
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
MOOSE - A Task-Driven Program Comprehension Environment
COMPSAC '01 Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software Development
Computation Slicing: Techniques and Theory
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
Slicing Concurrent Programs - A Graph-Theoretical Approach
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Slicing Object-Oriented Programs
APSEC '97 Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference
Predicate-Based Dynamic Slicing of Message Passing Programs
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
Node Coarsening Calculi for Program Slicing
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Dynamic slicing of distributed programs
ICSM '95 Proceedings of the International Conference on Software Maintenance
Case study: Narcissus: visualising information
INFOVIS '95 Proceedings of the 1995 IEEE Symposium on Information Visualization
Program Slicing in Understanding of Large Programs
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Slicing Concurrent Java Programs
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Computing Executable Slices for Concurrent Logic Programs
APAQS '01 Proceedings of the Second Asia-Pacific Conference on Quality Software
Static Slicing of Concurrent Object-Oriented Programs
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
On Detecting Global Predicates in Distributed Computations
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
A Framework for Modeling Agent-Oriented Software
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
On Slicing a Distributed Computation
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Object-oriented program slicing
Object-oriented program slicing
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Distributed dynamic slicing of Java programs
Journal of Systems and Software
Solving Computation Slicing Using Predicate Detection
IEEE Transactions on Parallel and Distributed Systems
A parallel algorithm for dynamic slicing of distributed Java programs in non-DSM systems
International Journal of Information and Communication Technology
Hi-index | 0.00 |
Program Slicing is a well-known decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. In this paper, we present two novel predicate-based dynamic slicing algorithms for message passing programs. Unlike more traditional slicing criteria that focus only on parts of the program that influence a variable of interest at a specific position in the program, a predicate focuses on those parts of the program that influence the predicate. The dynamic predicate slices capture some global requirements or suspected error properties of a distributed program and computes all statements that are relevant. The presented algorithms differ from each other in their computational approaches (forward versus backward) and in the granularity of information they provide. A proof of correctness of these algorithms is provided. Through the introduction of dominant states and dominant events, critical statement executions are identified that change the value of the global predicate. Under this formulation, optimizing dynamic predicate slicing becomes a meaningful goal as well. Finally, we present how predicate slices can be applied to support comprehension tasks for analyzing and maintaining distributed programs.