Bell Labs Technical Journal · 2002 · 16 citations · 23 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringBehavioral AnalysisDesign For TestabilityExperimentation PlatformsSoftware DesignSoftware TestingTestbenchesConcurrent ProcessesNon-deterministic Execution AnalysisTestingVerification Environment
VeriSoft is a tool for systematically exploring the state spaces of systems composed of several concurrent processes executing arbitrary code written in full-fledged programming languages, such as C or C++. Using VeriSoft, we analyzed the 4ESS™ switch Heart-Beat Monitor (HBM), a telephone switching application developed at Lucent Technologies. The 4ESS HBM plays an important role in routing data in the switch and can significantly affect switch performance. Since VeriSoft automatically generates, executes, and evaluates thousands of tests per minute and has complete control over nondeterminism, our analysis revealed HBM behavior that is virtually impossible to detect or test in a traditional lab testing environment. Specifically, we discovered flaws in the existing documentation for this application and unexpected behaviors in the software itself. These results are being used as the basis for an improved design of the HBM software in the 4ESS switch.
23
Patrick Cousot, Radhia Cousot · 1977 · 6.2K citations
Model checking for programming languages using VeriSoft
Patrice Godefroid · 1997 · 829 citations · Full text
Recognizing safety and liveness
Bowen Alpern, Fred B. Schneider · Distributed Computing · 1987 · 552 citations
Protocol verification as a hardware design aid
David L. Dill, Andreas J. Drexler, Alan J. Hu et al. · 2003 · 399 citations