Release 1.1.3

From WalaWiki

Jump to: navigation, search

We will periodically tag the subversion repository with release numbers. To check out a particular release, see the tags branch of the subversion repository.

ChangeLog

Changes since Release 1.1.2:

  • New features
    • Enhance reflection support
      • Evaluate Class.forName() on a string constant.
      • Evaluate Class.newInstance on a class constant.
      • Improved support for Constructor.newInstance and friends.
      • Basic support for Method.invoke
    • Improved support for Apache Struts analysis
  • Code cleanup
    • Delete obsolete and broken OneCFABuilder. Use nCFABuilder with n==1 instead.
    • Fix overly expensive hash functions for Heap Statements.
    • Delete obsolete class SDGView.
    • More generics.
    • Generalize ReceiverInstanceContext to support subclassing.
    • Delete redundant PointerFlowGraph. Use CISDG instead.
    • Simplify MethodTargetSelector and ContextSelector interfaces; delete optimizations based on allSitesDispatchIdentically and mayReturnSyntheticMethod. This may slow down RTA, but I think the simpler API is worth it.
    • Nuke expensive ResolutionFailure
    • Delete half-baked logic package
    • Delete obsolete, half-baked support for ExplodedSupergraph traversal
    • Restructure tabulation handling of multiple return sites
  • API Changes
    • Generalize tabulation solver to support partially balanced problems.
      • replace TabulationProblem.getReachableOnEntry() with TabulationProblem.initialSeeds()
      • new classes PartiallyBalancedTabulationProblem and PartiallyBalancedTabulation
    • Revamp slicer to use general partially balanced tabulation
      • Add new statement type MethodExitStatement, used to fake entry to callees in backwards slicing problems
    • Delete ill-conceived IClass.isStatic()
    • Change some APIs that returned Collection to return Set instead
    • Small changes to AbstractJavaAnalysisAction
  • Bug Fixes
    • Bug fix in ShrikeCFG computing exceptional edges for catch blocks when the caught exception type is not resolved.
    • Bug fix in ModRef.ModVisitor.visitPut() for corner case.
    • Patch [1900368] bug fix for OrdinalSet.unify
    • More consistent use of HashSetFactory and HashMapFactory
    • Bug fix for synthetic methods with phi statements
    • Bug fixes for modelling of System class initializer
    • Handle a FileNotFoundException in EclipseProjectPath
    • Misc. bug fixes for corner cases in reflection
    • bug fix for equals/hashCode on SyntheticMethod
    • bug fix for BFS over empty graphs
    • bug fix for type inference of values from SSAComparisonInstructions
    • bug fix in BypassMethodTargetSelector to treat canIgnore condition consistently
    • fix data race in ReferenceCleanser that manifested as null pointer deref
Personal tools
project information