<feed xmlns='http://www.w3.org/2005/Atom'>
<title>codan.git, branch disjunct-exp</title>
<subtitle>Framework based on Property Simulation for Eclipse CDT static code analysis.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/'/>
<entry>
<title>Attempt to parse disjunctions into execution states. Most likely does not work.</title>
<updated>2009-12-08T21:19:30+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-12-08T21:19:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=66306b0467c6dac5b6a3ea25aa69a7aa9fe2076b'/>
<id>66306b0467c6dac5b6a3ea25aa69a7aa9fe2076b</id>
<content type='text'>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ConditionalVisitor.java: Recurse on disjunctions.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Expect Set of SymbolicStates from
	ConditionalVisitor.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ConditionalVisitor.java: Recurse on disjunctions.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertySimulator.java: Expect Set of SymbolicStates from
	ConditionalVisitor.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactored conditional parsing to an ASTVisitor.</title>
<updated>2009-11-17T21:33:56+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-17T21:33:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=8e5b06bf942549bbec94becfa0936e5c2787423a'/>
<id>8e5b06bf942549bbec94becfa0936e5c2787423a</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle NULL in variable assignments and conditionals.</title>
<updated>2009-11-17T17:44:19+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-17T17:44:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=b7e5efd36bbd548d948a2e2fa8a31648091a8dda'/>
<id>b7e5efd36bbd548d948a2e2fa8a31648091a8dda</id>
<content type='text'>
* 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".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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".
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed infinite loop bug for loop structures.</title>
<updated>2009-11-17T02:26:59+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-17T02:26:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=1da4f22ce6e629ba98f0db7766e408269c3ade5d'/>
<id>1da4f22ce6e629ba98f0db7766e408269c3ade5d</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove truth assignments at merge points, based on dominance in CFG.</title>
<updated>2009-11-10T02:12:05+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-10T02:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=35199099d32443f7e6c35fe93d29442fcea6078a'/>
<id>35199099d32443f7e6c35fe93d29442fcea6078a</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added fopen/fclose checker. Created abstract open/close checker.</title>
<updated>2009-11-09T02:01:52+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-09T02:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=4e991b89471d65f4f02e1ad54f2b85759ad80586'/>
<id>4e991b89471d65f4f02e1ad54f2b85759ad80586</id>
<content type='text'>
* org.eclipse.cdt.codan.extension/plugin.xml: Added fopen/fclose checker.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/AbstractOpenCloseChecker.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Abstracted most code.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FOpenFCloseChecker.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FunctionNameParser.java: Pass normalize = false to ASTTypeUtil.getType().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* org.eclipse.cdt.codan.extension/plugin.xml: Added fopen/fclose checker.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/AbstractOpenCloseChecker.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Abstracted most code.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FOpenFCloseChecker.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FunctionNameParser.java: Pass normalize = false to ASTTypeUtil.getType().
</pre>
</div>
</content>
</entry>
<entry>
<title>Moved property simulation code to PropertySimulator class. Improved resolving errors to IASTNodes that caused them.</title>
<updated>2009-11-08T21:03:56+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-08T21:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=07719f845f1e6045ed5c1553eafa9c632e53e8bf'/>
<id>07719f845f1e6045ed5c1553eafa9c632e53e8bf</id>
<content type='text'>
* 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&lt;E&gt;).
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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&lt;E&gt;).
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented Quine-McCluskey algorithm to join execution states. Property simulation working!</title>
<updated>2009-11-01T04:02:17+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-11-01T04:02:17+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=25eebecd10f8bfa9810e73f4efdc5b0be4a305a2'/>
<id>25eebecd10f8bfa9810e73f4efdc5b0be4a305a2</id>
<content type='text'>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESSimplifier.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESTruthTable.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Join execution states.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ITruthTable.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/Minterm.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/QuineMcCluskeySimplifier.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Implement equals and hashCode.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Use PropSim.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESSimplifier.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ESTruthTable.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Join execution states.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ITruthTable.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/Minterm.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/QuineMcCluskeySimplifier.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Implement equals and hashCode.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Use PropSim.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed handling of nested if statements.</title>
<updated>2009-10-31T16:53:00+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-10-31T16:53:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=f4fd87f6b05de1a67c5d2d09f1813ddce6de4879'/>
<id>f4fd87f6b05de1a67c5d2d09f1813ddce6de4879</id>
<content type='text'>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Fixed flowMerge to not modify argument,
	allow duplicates in worklist - some blocks need to be processed more than once.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FunctionNameParser.java: Unused imports.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Fixed flowMerge to not modify argument,
	allow duplicates in worklist - some blocks need to be processed more than once.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FunctionNameParser.java: Unused imports.
</pre>
</div>
</content>
</entry>
<entry>
<title>PSA working for simple variable assignments and conditionals. PropSim implemented, but needs proper join op.</title>
<updated>2009-10-25T23:19:48+00:00</updated>
<author>
<name>Elliott Baron</name>
<email>ebaron@fedoraproject.org</email>
</author>
<published>2009-10-25T23:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ebaron/public_git/codan.git/commit/?id=8c3cd18a05d15f3c9b13ec87250decd318665f0e'/>
<id>8c3cd18a05d15f3c9b13ec87250decd318665f0e</id>
<content type='text'>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Store/bind truth assignments.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionStateClause.java: Use IVariable as atom.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Modified for truth assignments.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: Determine truth value from assignment statement.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Analyze every function;
	parse conditional expressions and determine feasible branches; PropSim grouping method (not used ATM).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Store/bind truth assignments.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionStateClause.java: Use IVariable as atom.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: Modified for truth assignments.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: Determine truth value from assignment statement.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: Analyze every function;
	parse conditional expressions and determine feasible branches; PropSim grouping method (not used ATM).
</pre>
</div>
</content>
</entry>
</feed>
