Abstract: A process and a system are used to verify that an object-oriented software component described in an extended programming language behaves correctly with respect to an abstract data model and specifications of the operations that may be performed on it The process and system also verify for an assembly of components that whenever an operation on a component is invoked, the correct conditions specified for that operation and component exist, and that specified properties hold for a component of the assembly.
Abstract: A method for ensuring that a program using dynamic binding and recursion is free from unbounded recursion is provided, together with a method for automatically constructing a set of mathematical theorems that are all true theorems if the program is indeed free from unbounded recursion. In a preferred embodiment, a computer program generates the set of theorems automatically from information in the program and the same or another computer program attempts to prove the theorems, with or without human assistance.
Abstract: A process and a system are used to verify that an object-oriented software component described in an extended programming language behaves correctly with respect to an abstract data model and specifications of the operations that may be performed on it The process and system also verify for an assembly of components that whenever an operation on a component is invoked, the correct conditions specified for that operation and component exist, and that specified properties hold for a component of the assembly.