The increasing level of automation in critical infrastructures requires development of effective ways for finding faults in safety critical software components. Synchronization in concurrent components is especially prone to errors and, due to difficulty of exploring all thread interleavings, it is difficult to find synchronization faults. In this paper we present an experimental study demonstrating the effectiveness of model checking techniques in finding synchronization faults in safety critical software when they are combined with a design for verification approach. We based our experiments on an automated air traffic control software component called the Tactical Separation Assisted Flight Environment (TSAFE). We first reengineered TSAF...
[[abstract]]With the rapid growth of networking and high-computing power, the demand for large-scale...
The Java programming language supports concurrency. Concurrent programs are harder to verify than th...
In order to make multithreaded programming manageable, programmers often follow a design principle w...
The increasing level of automation in critical infrastructures requires development of effective way...
We present a framework for verifiable concurrent programming in Java based on a design pattern for c...
AbstractWe present a modular approach to specification and verification of concurrency controllers b...
In software component verification, one of the challenges is model checking of isolated components. ...
We present a modular approach to specification and verification of concurrency controllers by decoup...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
AbstractIn software component verification, one of the challenges is model checking of isolated comp...
This paper describes two separate efforts that used the SPIN model checker to verify deep space auto...
Abstract. Current approaches to the development of reliable software systems include decomposition i...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Model checking is an automatic formal verification technique for establishing correctness of systems...
[[abstract]]With the rapid growth of networking and high-computing power, the demand for large-scale...
The Java programming language supports concurrency. Concurrent programs are harder to verify than th...
In order to make multithreaded programming manageable, programmers often follow a design principle w...
The increasing level of automation in critical infrastructures requires development of effective way...
We present a framework for verifiable concurrent programming in Java based on a design pattern for c...
AbstractWe present a modular approach to specification and verification of concurrency controllers b...
In software component verification, one of the challenges is model checking of isolated components. ...
We present a modular approach to specification and verification of concurrency controllers by decoup...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
AbstractIn software component verification, one of the challenges is model checking of isolated comp...
This paper describes two separate efforts that used the SPIN model checker to verify deep space auto...
Abstract. Current approaches to the development of reliable software systems include decomposition i...
We describe a novel use of abstract interpretation in which the abstract domain informs a runtime sy...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Model checking is an automatic formal verification technique for establishing correctness of systems...
[[abstract]]With the rapid growth of networking and high-computing power, the demand for large-scale...
The Java programming language supports concurrency. Concurrent programs are harder to verify than th...
In order to make multithreaded programming manageable, programmers often follow a design principle w...