IP Library Granted Patent US 8,412,668
Granted Patent B2
US 8,412,668 · App. 12/579,141 · Granted Apr 2, 2013

Offline formal verification of executable models

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,412,668
App. No.
12/579,141
Granted
Apr 2, 2013
Kind
B2
Abstract

A system and method for automatic formal verification of an executable system includes an assertion monitor configured to verify a system against an assertion in the specification. The assertion monitor includes a parser configured to generate a propositional formula representing an assertion in the specification using Boolean propositions, a filter configured to generate a trace of truth assignments for the propositional symbols and a trace verifier configured to verify the assertion using the trace of truth assignments for the propositional symbols and the propositional formula.

Claims (32)

1. A method for verifying an executable system against an assertion in a specification, the method comprising the steps of:

generating a propositional formula representing an assertion in the specification using Boolean propositional symbols, each Boolean propositional symbol being associated with an atomic assertion in the assertion;

generating a set of traces representing a sequence of configurations of the system with respect to the assertion, wherein the traces include trace configuration data representing a configuration of the system in response to a particular trace;

converting the trace configuration data into truth assignments for a set of propositional symbols;

generating a trace of the system using the truth assignments for the propositional symbols; and

verifying the assertion using the trace of truth assignments for the propositional symbols and the propositional formula.

2. The method of claim 1 , wherein the trace configuration data includes a sequence of inputs, state variables, state information and output variables.

3. The method of claim 1 , wherein the assertion in the specification is written in a formal language.

4. The method of claim 1 , further including generating an association list that identifies the relationship between the atomic assertions and the propositional symbols.

5. The method of claim 4 , wherein converting the trace configuration data into propositional symbols includes converting the trace configuration data into Boolean symbols using the association list.

6. The method of claim 1 , wherein the trace is a test suite comprising a plurality of traces.

7. A computer-readable medium tangibly embodying computer-executable instructions for:

generating a propositional formula representing an assertion in the specification using Boolean propositional symbols, each Boolean propositional symbol associated with an atomic assertion in the assertion;

generating a set of traces representing a sequence of configurations of the system with respect to the assertion, wherein the traces include trace configuration data representing a configuration of the system in response to a particular trace;

converting the trace configuration data into truth assignments for a set of propositional symbols;

generating a trace of the system using the truth assignments for the propositional symbols; and

verifying the assertion using the trace of truth assignments for the propositional symbols and the propositional formula.

8. The computer-readable medium of claim 7 , wherein the trace configuration data includes a sequence of inputs, states, state variables and output variables.

9. The computer-readable medium of claim 7 , further including generating an association list that identifies the relationship between the atomic assertions and the propositional symbols.

10. The computer-readable medium of claim 9 , wherein converting the trace configuration data into truth assignments for a set of propositional symbols includes converting the trace configuration data into truth assignments for Boolean symbols using the association list.

11. The computer-readable medium of claim 7 , wherein the trace is a test suite comprising a plurality of traces.

12. An assertion monitor configured to verify an executable system against an assertion in a specification, the assertion monitor comprising:

a computer with a memory running an assertion monitor program that includes:

a parser configured to generate a propositional formula representing an assertion in the specification using Boolean propositional symbols;

a filter configured to generate a set of traces of truth assignments for the propositional symbols;

a converter configured to convert the traces of the system to propositional symbols so that the propositional symbols hold data from the configuration data and from the traces of the system; and

a trace verifier configured to verify the assertion using the trace of truth assignments for the propositional symbols and the propositional formula.

13. The assertion monitor of claim 12 , wherein the parser converts the assertion in the specification to Boolean propositions by parsing the assertion into atomic assertions in Boolean form and assigning each of those assertions to a propositional symbol.

14. The assertion monitor of claim 13 , wherein the parser is further configured to generate an association list that identifies the relationship between the atomic assertions and the propositional symbols used to specify the Boolean propositions.

15. The assertion monitor of claim 12 , wherein the filter is configured to receive trace configuration data representing a sequence of configurations of the system with respect to the assertion.

16. The assertion monitor of claim 12 , wherein the filter is configured to convert trace configuration data representing a sequence of configurations of the executable system into a sequence of truth assignments for the Boolean propositional symbols using an association list generated by the parser that identifies a relationship between Boolean expressions and propositional symbols used to generate the Boolean propositions.

17. The assertion monitor of claim 12 , wherein the assertion in the specification is written in a formal language.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2014
From: WILMINGTON TRUST COMPANY
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 034287/0001 →
CHANGE OF NAME Recorded Feb 10, 2011
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 025781/0299 →
SECURITY AGREEMENT Recorded Nov 8, 2010
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: WILMINGTON TRUST COMPANY
Reel/Frame 025324/0555 →
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2010
From: UAW RETIREE MEDICAL BENEFITS TRUST
To: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
Reel/Frame 025315/0091 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2010
From: UNITED STATES DEPARTMENT OF THE TREASURY
To: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
Reel/Frame 025246/0234 →
SECURITY AGREEMENT Recorded Feb 25, 2010
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: UAW RETIREE MEDICAL BENEFITS TRUST
Reel/Frame 023990/0001 →
SECURITY AGREEMENT Recorded Feb 25, 2010
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: UNITED STATES DEPARTMENT OF THE TREASURY
Reel/Frame 023989/0155 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2009
From: MOHALIK, SWARUP K.
To: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
Reel/Frame 023380/0577 →