IEEE Transactions on Software Engineering · 1975 · 84 citations · 7 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringData-flow AnalysisDeductive VerificationInductive ReasoningSymbolic ExecutionTheorem ProvingVerificationAssertion GenerationAssertion SynthesisAssertionsInductive Proof TechniquesInductive ProofsProgram CorrectnessProgram SynthesisProgram Verification
Describes a prototype system Vista which provides assistance in synthesizing correct inductive assertions. Given only the source program, it is able to generate a useful class of assertions automatically. For a larger class, it is able to extend partial inductive assertions supplied by the programmer to form complete assertions from which it proves program correctness. Its synthesis methods include: symbolic evaluation in a weak interpretation, combining output assertions with loop exit information to obtain trail loop assertions, and extracting information from proofs which fail in order to determine how assertions should be strengthened.
7
Shmuel Katz, Zohar Manna · Communications of the ACM · 1976 · 137 citations · Full text
The synthesis of loop predicates
Ben Wegbreit · Communications of the ACM · 1974 · 136 citations · Full text
The current state of proving programs correct
Ralph L. London · 1972 · 36 citations