Abstrad-Statecharts have been proposed recently as a visual formalism for the behavioral description of complex systems. They extend classical state-diagrams in several ways, while retaining their formality and visual nature. In this paper we first argue that statecharts can be beneficially used as a behavioral hardware description language. We illustrate… (More)
We report on a study to determine the maturity of different verification and validation technologies (V&V) on a representative example of NASA flight software. The study consisted of a controlled experiment where three technologies (static analysis, runtime analysis and model checking) were compared to traditional testing with respect to their ability to… (More)
We investigate the descriptive succinctness of three fundamental notions for modeling concurrency: nondeterminism and pure parallelism, the two facets of alternation, and <italic>bounded cooperative concurrency</italic>, whereby a system configuration consists of a bounded number of cooperating states. Our results are couched in the general framework of… (More)
Software testing is typically an ad hoc process where human testers manually write many test inputs and expected test results, perhaps automating their execution in a regression suite. This process is cumbersome and costly. This paper reports preliminary results on an approach to further automate this process. The approach consists of combining automated… (More)
Run-time monitoring is a lightweight verification method whereby the correctness of a programs' execution is verified at run-time using executable specifications. This paper describes the verification of the fault protection engine of the Deep-Impact spacecraft flight software using a temporal logic based run-time monitoring tool.