Communicating sequential processes
Communicating sequential processes
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Reliability analysis of CSP specifications using Petri nets and Markov processes
HICSS '95 Proceedings of the 28th Hawaii International Conference on System Sciences
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
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Structure and Properties of Traces for Functional Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
ProB: an automated analysis toolset for the B method
International Journal on Software Tools for Technology Transfer (STTT)
SOC: a slicer for CSP specifications
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Probing the Depths of CSP-M: A New fdr-Compliant Validation Tool
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
The MEB and CEB Static Analysis for CSP Specifications
Logic-Based Program Synthesis and Transformation
Transforming Haskell for tracing
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
An algorithm to generate the context-sensitive synchronized control flow graph
Proceedings of the 2010 ACM Symposium on Applied Computing
Slicing an integrated formal method for verification
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Hi-index | 0.00 |
CSP is a powerful language for specifying complex concurrent systems. Due to the non-deterministic execution order of processes and to synchronizations, many analyses such as deadlock analysis, reliability analysis, and program slicing try to predict properties of the specification which can guarantee the quality of the final system. These analyses often rely on the use of CSP's traces. In this work, we introduce the theoretical basis for tracking concurrent and explicitly synchronized computations in process algebras such as CSP. Tracking computations is a difficult task due to the subtleties of the underlying operational semantics which combines concurrency, non-determinism and non-termination. We define an instrumented operational semantics that generates as a side-effect an appropriate data structure (a track) which can be used to track computations. Formal definition of a tracking semantics improves the understanding of the tracking process, but also, it allows to formally prove the correctness of the computed tracks.