Results 1 -
2 of
2
A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives
, 1999
"... . Previous work has shown that program slicing can be a useful step in model-checking software systems. We are interested in applying these techniques to construct models of multi-threaded Java programs. Past work does not address the concurrency primitives found in Java, nor does it provide the ..."
Abstract
-
Cited by 54 (17 self)
- Add to MetaCart
. Previous work has shown that program slicing can be a useful step in model-checking software systems. We are interested in applying these techniques to construct models of multi-threaded Java programs. Past work does not address the concurrency primitives found in Java, nor does it provide the rigorous notions of slice correctness that are necessary for reasoning about programs with non-deterministic behaviour and potentially infinite computation traces. In this paper, we define the semantics of a simple multi-threaded language with concurrency primitives matching those found in the Java Virtual Machine, we propose a bisimulation-based notion of correctness for slicing in this setting, we identify notions of dependency that are relevant for slicing multi-threaded Java programs, and we use these dependencies to specify a program slicer for the language presented in the paper. Finally, we discuss how these dependencies can be refined to take into account common programmin...
Automated environment generation for software model checking
- In Proceedings of the 18th International Conference on Automated Software Engineering
, 2003
"... Abstract A key problem in model checking open systems is en-vironment modeling (i.e., representing the behavior of the execution context of the system under analysis). Softwaresystems are fundamentally open since their behavior is dependent on patterns of invocation of system components andvalues de ..."
Abstract
-
Cited by 36 (7 self)
- Add to MetaCart
Abstract A key problem in model checking open systems is en-vironment modeling (i.e., representing the behavior of the execution context of the system under analysis). Softwaresystems are fundamentally open since their behavior is dependent on patterns of invocation of system components andvalues defined outside the system but referenced within the system. Whether reasoning about the behavior of wholeprograms or about program components, an abstract model of the environment can be essential in enabling sufficientlyprecise yet tractable verification.

