Plug-in pre-and postconditions for static program analysis
First Claim
1. An executable code check system comprising:
- an input component that receives an object file and a specification associated with the object file, the specification comprising information associated with a plug-in condition for a method; and
, a checker that employs the specification to facilitate static checking of the object file, the checker providing information if a fault condition is determined.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method employing pre- and/or post-condition(s) specified at a source code level and persisted (e.g., in associated object code and/or a specification repository) facilitating static checking of the object code is provided. The system and method are based, at least in part, upon a framework that employs rules for using an interface to be recorded as declarative specifications in an existing language. A specifier can give a method a plug-in pre- and postcondition, which is arbitrary code that examines an object'"'"'s current state and a static approximation of the method'"'"'s actuals, decides whether the call is legal and returns the object'"'"'s state after the call.
57 Citations
24 Claims
-
1. An executable code check system comprising:
-
an input component that receives an object file and a specification associated with the object file, the specification comprising information associated with a plug-in condition for a method; and
,a checker that employs the specification to facilitate static checking of the object file, the checker providing information if a fault condition is determined. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of facilitating static checking of executable code comprising:
-
receiving executable code;
receiving a specification associated with the executable code, the specification comprising information associated with at least one of a precondition and a postcondition for a method;
statically applying the specification to the executable code;
determining whether a fault condition exists based, at least in part, upon the statically applied specification; and
,providing information associated with the fault condition, if a fault condition is determined to exist. - View Dependent Claims (16)
-
-
17. A method of developing a software component comprising:
-
implementing a subclass of a custom state class;
implementing at least one of a plug-in precondition and a plug-in postcondition as a method of the subclass;
placing a custom attribute on an enclosing type declaration that references the custom state sub class; and
,placing an attribute on a declaration that references the at least one of a plug-in precondition and a plug-in postcondition. - View Dependent Claims (18)
-
-
19. A method of performing static checking of executable code comprising:
-
invoking a precondition plug-in, providing the precondition plug-in with a program execution state;
receiving information from the precondition plug-in;
determining whether a fault condition exists based, at least in part, upon the information from the per-condition plug-in; and
,providing information associated with the fault condition, if a fault condition is determined to exist. - View Dependent Claims (20)
-
-
21. A data packet transmitted between two or more computer components that facilitates static checking of executable code, the data packet comprising:
a specification associated with executable code, the specification comprising information associated with at least one of a plug-in precondition and a plug-in postcondition, the specification providing information to be employed to statically check the executable code.
-
22. A computer readable medium storing computer executable components of an executable code check system comprising:
-
an input component that receives an object file and a specification associated with the object file, the specification comprising information associated with a plug-in condition for a method; and
,a checker component that employs the specification to facilitate static checking of the object file, the checker component providing information if a fault condition is determined.
-
-
23. An executable code check system comprising:
-
means for that receiving and a specification associated with the object file, the specification comprising information associated with a plug-in condition for a method; and
,means for statically checking the object file based, at least in part, upon the specification and determining if a fault condition exists; and
,means for providing information if a fault condition is determined to exist.
-
-
24. A method of performing static checking of executable code comprising:
-
receiving a request, the request including a parameter;
setting a type of a result of a method call to a type of the parameter; and
,employing the parameter only during static checking of the method.
-
Specification