summaryrefslogtreecommitdiffstats
path: root/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java
Commit message (Collapse)AuthorAgeFilesLines
* Create abstract checker to use Property Simulation. Clean up code.Elliott Baron2009-12-141-1/+3
| | | | | | | | | * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ConditionalVisitor.java: Added copyright notice. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Commented out groupPSA. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/TruthAssignment.java: Added copyright notice. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: Likewise. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/AbstractOpenCloseChecker.java: Extracted most code. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/AbstractPropSimChecker.java: New file.
* Properly handle binary expressions, improved debugging output, handle ↵Elliott Baron2009-12-111-28/+41
| | | | | | | property transitions in branch nodes. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ConditionalVisitor.java: Don't assume binary expressions are &&. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Better debug, property transitions.
* Refactored conditional parsing to an ASTVisitor.Elliott Baron2009-11-171-72/+2
| | | | | * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ConditionalVisitor.java: New file. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Extracted class.
* Handle NULL in variable assignments and conditionals.Elliott Baron2009-11-171-17/+1
| | | | | | * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ASTParserUtil.java: New file. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Extract truth value parsing to ASTParserUtil. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: Check for NULL as "(void *) 0".
* Fixed infinite loop bug for loop structures.Elliott Baron2009-11-161-13/+61
| | | | | | * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Added some code to aid debugging. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/TruthAssignment.java: Implement equals and hashCode. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/AbstractOpenCloseChecker.java: Do not create CG for whole project.
* Remove truth assignments at merge points, based on dominance in CFG.Elliott Baron2009-11-091-3/+30
| | | | | | | | * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Change to truth assignments map. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Likewise. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Remove truth assigments in flowMerge(). * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/TruthAssignment.java: New file. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: Store IBlock corresponding to TA.
* Moved property simulation code to PropertySimulator class. Improved ↵Elliott Baron2009-11-081-0/+361
resolving errors to IASTNodes that caused them. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESSimplifier.java: Added getImplications(ExecutionState), join truth assignments. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESTruthTable.java: Added getExecutionState for a Minterm. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Moved join into PropertSimulator. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/IPropertyFSM.java: Interface to formalize definition for FSM of property states. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: New file; extracted all common propsim functionality. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/QuineMcCluskeySimplifier.java: Added getImplications(Minterm<E>). * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Maintain set of IASTNodes that led to error transition. * org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Moved most code to PropertySimulator.