2010-10-17 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* antbuild.properties: 
			- changed the location of bandera related files.

2009-12-20 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* prelocalbuild.xml: 
		- used project.home.indus instead of hardcoded path to Indus project.
	* build.xml:  
	    - removed the requirement to define custom.javadoc.links.

2009-11-30 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java: 
		- enabled scoped slicing and fixed issues due to copy-n-paste.
	* build.xml: 
		- forced the use of Eclipse compiler.
		- added auxiliary files to the source bundle.

2007-09-23 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java: 
		- special handling of dependee-dependent information in IdentifierBasedDataDA(v2) was too agressive.  FIXED.

2007-09-19 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java: 
		- Special handling of asymmetry of dependee-dependence information in IdentifierBasedDataDAv2.

2007-02-10 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

        * src/edu/ksu/cis/indus/slicer/SlicingEngine.java: 
        * src/edu/ksu/cis/indus/slicer/ForwardSlicingPart.java: 
        * src/edu/ksu/cis/indus/slicer/CompleteSlicingPart.java: 
                - fix for bug reported by Mahantesh on thread 
                http://projects.cis.ksu.edu/forum/forum.php?thread_id=596&forum_id=35

2006-10-29 Venkatesh Prasad Ranganath <venkateshprasad.ranganath@gmail.com>

	* src/edu/ksu/cis/indus/tools/slicer/criteria/generators/LineNumberBasedCriteriaGenerator.java: 
		- A new class that can generate criteria based on java line numbers.
	* src/edu/ksu/cis/indus/tools/slicer/criteria/generators/FieldBasedCriteriaGenerator.java: 
		- ripple effect of the change to AbstractStmtBasedSliceCriteriaGenerator.
	* src/edu/ksu/cis/indus/tools/slicer/criteria/generators/AbstractStmtBasedSliceCriteriaGenerator.java: 
		- refactored methods to lighten method interface complexity and improve extensibility.
	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java: 
		- added support to slice programs based on Java line numbers.
		
2006-06-01 venku <venku@boss.dreamsoft.com>

	* src-test/edu/ksu/cis/indus/tools/slicer/SlicerTestSetup.java: 
		- ripple effect of the change to SliceXMLizerCLI.java
	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java: 
		- added support to generate a different slice for each throw statement in the system.

2006-05-26 venku <venku@boss.dreamsoft.com>

	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java (SliceXMLizerCLI.java): 
		- added support to generate throw statement preserving slices.

2006-04-06 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java: 
	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java: 
		- ripple effect of change to ThreadEscapeInfoBasedCallingContextRetrieverV2 constructor.

2006-03-18 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java: 
		- switched over to DataAliasBasedCallingContextRetrieverV3 for retrieving data-alias based contexts.

2006-03-15 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/slicer/transformations/TagBasedDestructiveSliceResidualizer.java: 
		- using getMethod() on the class returns the method of the given signature that is associated (may not be declared)
		with the receiver class.  So, we need to call declaresMethod() and then call getMethod() only if the previous call
		succeeds.
		
2006-03-11 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java: 
	* src/edu/ksu/cis/indus/slicer/CompleteSlicingPart.java: 
	* src/edu/ksu/cis/indus/slicer/DependenceExtractor.java: 
	* src/edu/ksu/cis/indus/slicer/ForwardSlicingPart.java: 
		- added a new method getEntityForIdentifierBasedDA() to DependenceExtractor.IDependenceRetriever
		- every slicing part implemented this method to provide an uniform access to identifier based data dependence info
		- similar method was exposed by the DependenceExtractor for purposes of SlicingEngine.
	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java: 
		- formatting
		- changed the logic of generateCriteriaForLocals() to handle dependence targets of both Stmt and 
		Pair<Local, Stmt> types.  This change leveraged the new method introduced into DependenceExtractor.

	* src/edu/ksu/cis/indus/slicer/transformations/TagBasedDestructiveSliceResidualizer.java: 
		- ripple effect of the change to the type of dependents returned by IdentifierBasedDataDA.

2006-03-07 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java:
		- while performing the previous change to this class, I forgot to plug in the new instances of control DA. FIXED.
	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java:
		- incorrect check while loading configuration. FIXED.

2006-03-05 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java:
		- added logic to erase old control dependence analysis and then plug in the new instance of similar classes.

2006-02-22 venku <venku@boss.dreamsoft.com>

	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java:
		- rather than defaulting to CompleteStmtGraphFactory, the cli defaults to the graph factory initialized during system
		bootstrapping.
	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java:
		- the slicer tool uses flow-insensitive object flow analysis instead of flow-sensitive mode as SSA form should
		compensate for flow sensitivity.

2006-02-04 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java:
		- DataAliasBasedCallingContextRetrieverV2 is used by default.

2006-01-29 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java:
		- passed calling context to dependence extraction. (in the context of Bug #768)
	* src/edu/ksu/cis/indus/slicer/DependenceExtractor.java:
		- requires calling context to be set when the trigger is set. (in the context of Bug #768)
	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java:
		- reverted back to version 1 of DataAliasBasedCallingContextRetriever as it is now more accurate. (in the context
		  of Bug #768)

2006-01-22 venku <venku@boss.dreamsoft.com>

	- The ripple effect of changing the direct access to ToStringBasedComparator.SINGLETON via a getter method.

2005-12-30 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java:
		- used getEnvironment() instead of getScene().
		- defered cfg-level scope setting to the client application.
	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java:
		- used getEnvironment() instead of getScene().

2005-12-26 venku <venku@boss.dreamsoft.com>

	* NOTE - New bug was introduced in property-aware setting.  Refer to Indus internal-bug 750.
	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java:
		- added logic to bail out if the active part has been signalled to do so.
		- generateExprLevelCriterion() now returns a boolean value indicating if any criterion was generated.
	* src/edu/ksu/cis/indus/slicer/SliceGotoProcessor.java:
		- the goto statements following throw/return statements in byte code sequence are now retained retained.
	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java: (In response to Bandera bug 749).
		- parameter tracking in continueProcessing() was incorrect as it assumed that generateExprLevelCriterion always
		generated new criterion.  Also, the call stacks were retained even in cases when they were not required.
	* src/edu/ksu/cis/indus/tools/slicer/criteria/predicates/ScopeBasedFieldPredicate.java:
	* src/edu/ksu/cis/indus/tools/slicer/criteria/predicates/EscapingSliceCriteriaPredicate.java:
	* src/edu/ksu/cis/indus/tools/slicer/criteria/predicates/AssertionSliceCriteriaPredicate.java:
		- generic part of a generic method cannot be erased while inheriting. Previously this was assumed in the above
		classes.  This has been retrofitted.
	* src/edu/ksu/cis/indus/tools/slicer/criteria/generators/DeadlockPreservingCriteriaGenerator.java:
		- added logic to generate criteria to preserve Thread.join().

2005-12-20 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/slicer/IDirectionSensitivePartOfSlicingEngine.java:
		- added a new method to enable staged/accumulative progress of slicing - continueProcessing().
	* src/edu/ksu/cis/indus/slicer/ForwardSlicingPart.java:
		- added default implementation of new method IDirectionSensitivePartOfSlicingEngine#continueProcessing().
	* src/edu/ksu/cis/indus/slicer/CompleteSlicingPart.java:
		- added default implementation of new method IDirectionSensitivePartOfSlicingEngine#continueProcessing().
	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java):
		- added logic to leverage IDirectionSensitivePartOfSlicingEngine#continueProcessing() method.
	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java:
		- refactored parameter processing logic into store two parts: 1) store parameters and 2) process parameters. The
		parameters are processed in the implementation of IDirectionSensitivePartOfSlicingEngine#continueProcessin().

2005-12-18 venku <venku@boss.dreamsoft.com>

	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java:
		- reduced the visibility of collector.
		- increased the visibility of includeInSlice().
	* src/edu/ksu/cis/indus/slicer/transformations/TagBasedDestructiveSliceResidualizer.java:
		- added more logging statements.
		- local use-def info is now created lazily.
	* src/edu/ksu/cis/indus/slicer/SliceCollector.java:
		- reduced the visibility of getUncollected().
		- documentation.
	* src/edu/ksu/cis/indus/slicer/ForwardSlicingPart.java:
	* src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java:
		- used engine.getCollector() instead of engine.collector.
		- used engine.includeInSlice() instead of engine.collector.includeInSlice().
	* src/edu/ksu/cis/indus/tools/slicer/processing/ExecutableSlicePostProcessor.java:
		- changed logging from debug to info.
		- added logging.

2005-12-16  venku  <rvprasad@cis.ksu.edu>

	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java:
		- used the new method in SlicerToolHelper class to load default configuration.
	* src/edu/ksu/cis/indus/tools/slicer/SlicerToolHelper.java:
		- added a new method to load default configuration.
	* src/edu/ksu/cis/indus/toolkits/bandera/bandera_slicerConfig.xsd:
		- moved from auxiliary folder into source package.
	* src/edu/ksu/cis/indus/toolkits/bandera/bandera_slicer_configuration.xml:
		- retrofitted it to confirm to bandera specific slicer configuration (retentionList, etc)
	* src/edu/ksu/cis/indus/toolkits/bandera/SlicerTool.java:
		- added logic to load given configuration along with fall back logic.
		- added logic to pick active configuration from the configuration set.
	* src/edu/ksu/cis/indus/toolkits/bandera/SlicerConfiguration.java:
		- documentation

2005-06-05  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java:  "Optimize for space" was a transformation and it was sucked into the tool incorrectly. FIXED.
	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java: The configuration does not support "optimize for space".
	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfigurator.java: The configuration does not support "optimize for space".
	* src/edu/ksu/cis/indus/tools/slicer/SlicerToolHelper.java: Contains helper methods used by the slicer tool.
	* src-xml/edu/ksu/cis/indus/tools/slicer/SliceXMLizerCLI.java: added command line option to explicitly trigger space optimization.
	* src/edu/ksu/cis/indus/toolkits/bandera/SlicerTool.java: added logic to explicitly trigger space optimization.

2005-04-15  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/tools/slicer/processing/ExecutableSlicePostProcessor.java (ExecutableSlicePostProcessor): Used
	IClassHierarchy to fix up class hierarchy.

2005-03-13  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/slicer/CompleteSlicingPart.java,
	  src/edu/ksu/cis/indus/slicer/IDirectionSensitivePartOfSlicingEngine.java,
	  src/edu/ksu/cis/indus/slicer/ForwardSlicingPart.java,
	  src/edu/ksu/cis/indus/slicer/BackwardSlicingPart.java,
	  src/edu/ksu/cis/indus/slicer/SlicingEngine.java:
		 The signature of processParameterRef() was changed.
		 The required inter-procedural dependence based on the local's position in an assignment-invocation stmt was not
		 recorded.  This has been addressed.

2005-03-10  venku  <rvprasad@cis.ksu.edu>

	* auxiliary/slicerConfig.xsd,
	  auxiliary/slicerConfig_JiBXBinding.xml,
	  src/edu/ksu/cis/indus/tools/slicer/criteria/generators/ISliceCriteriaGenerator.java,
	  src/edu/ksu/cis/indus/tools/slicer/criteria/generators/DeadlockPreservingCriteriaGenerator.java,
	  src/edu/ksu/cis/indus/tools/slicer/criteria/generators/AbstractStmtBasedSliceCriteriaGenerator.java,
	  src/edu/ksu/cis/indus/tools/slicer/criteria/generators/AbstractSliceCriteriaGenerator.java,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerConfigurator.java,
	  src/edu/ksu/cis/indus/tools/slicer/default_slicer_configuration.xml:
	  	Added facility to pick deadlock criteria and assertions in application classes only.

2005-03-09  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java : added support to maintain a current configuration separate from active
	configuration.

2005-03-01  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/tools/slicer/criteria/specification/SliceCriterionSpec.java:  Added support to serialize method level slice criterion.
	* src/edu/ksu/cis/indus/slicer/SlicingEngine.java: Added logic to track calling contexts.

2005-02-27  venku  <rvprasad@cis.ksu.edu>

	* auxiliary/slicerConfig.xsd,
	  auxiliary/slicerConfig_JiBXBinding.xml:
	  src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java:
	  	Support to control inter-procedural-ness of Ready dependence.

	* src/edu/ksu/cis/indus/tools/slicer/criteria/generators/StaticSliceCriteriaGenerator.java: The criteria were not being
	contextualized. FIXED.

	* src/edu/ksu/cis/indus/tools/slicer/SlicerConfigurator.java (setupReadyDepUI):  Altered layout.
	Added tool tips to all graphical entities.

	* src/edu/ksu/cis/indus/toolkits/bandera/SlicerTool.java: Ripple effect of changes to concerned classes.

	* src/edu/ksu/cis/indus/slicer/DependenceExtractor.java: Ripple effect of converting ready dependence info pertaining to ready
		dependence relating synchronized methods to be non-statement based and of the above changes.

	* edu.ksu.cis.indus.slicer:
		Renamed classes as given below.
			AbstractSliceCriterion -> AbstractProgramPointLevelSliceCriterion
			SliceStmt -> StmtLevelSliceCriterion
			SliceExpr -> ExprLevelSliceCriterion
		Introduced a new class to represent method level slice criterion - MethodLevelSliceCriterion.
		Methods in above classes were renamed appropritately.
		SlicingEngine was modified to calculate slice based on method level slice criterion.
		BackwardSlicingPart, ForwardSlicingPart, and SliceCriteriaFactory had ripple effects.


2005-02-26  venku  <rvprasad@cis.ksu.edu>

	* src/edu/ksu/cis/indus/tools/slicer/default_slicer_configuration.xml,
	  auxiliary/slicerConfig.xsd,
	  auxiliary/slicerConfig_JiBXBinding.xml,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerTool.java,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerConfigurator.java,
	  src/edu/ksu/cis/indus/tools/slicer/SlicerConfiguration.java, :
	  	Added support to control
		- inter-procedural v/s intra-procedural v/s inter-and-intra-procedural diveregence deps
		- synchronization dependence
		- non-termination sensitive and insensitive control dependence.