2003 · 17 citations · 9 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSystems ProgrammingAutomated ReasoningDeductive VerificationSymbolic ExecutionVerificationFormal Safety VerificationFormal VerificationPartial CorrectnessProgram VerificationSafety PropertiesSoftware ComponentsSymbolic Execution EnginesSymbolic Verification
Two different approaches that use symbolic execution were used to prove partial correctness and general safety properties of Ada programs. One approach is based on interleaving the task components while the other is based on verifying the tasks in isolation and then performing cooperation proofs. Both approaches extend past efforts by incorporating tasking proof rules into the symbolic executor, allowing Ada programs with tasking to be formally verified. The limitations of each approach are presented, along with each approach's advantages and disadvantages. In particular, the difficulty of dealing with communication statements in a loop structure is addressed in detail.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
9
Proofs of Networks of Processes
Jayadev Misra, K. Mani Chandy · IEEE Transactions on Software Engineering · 1981 · 497 citations
An Overview of Anna, a Specification Language for Ada
D Luckham, F. W. von Henke · IEEE Software · 1985 · 222 citations