Skip to content

Latest commit

 

History

History
72 lines (59 loc) · 4.89 KB

CHANGELOG.md

File metadata and controls

72 lines (59 loc) · 4.89 KB

v0.4.5

This release improves the detection of Direct State Access defect.

v0.4.4

This release introduces additional compatibility fixes for j2eo:

  • Logic extraction for unjustified assumption and liskov principle analyzers now recognizes J2EO primitives

v0.4.3

This release introduces additional compatibility fixes for j2eo:

  • Additional checks for cycles in inheritance chains
  • j2eo primitives are added to every program (temporary fix)
  • Refactoring of several analyzers
  • Direct state access analyzer now considers J2EO primitives as state containers
  • Logic extraction now utilizes Let instead of Exists
  • Enhanced topological sorting of terms
  • Fixed several SMT solver problems

v0.4.2

This release made several changes to make odin recognize output from j2eo.

  1. odin: Support this keyword
  2. odin: do not count constructor as method
  3. odin: debug defect detection on small classes translated by J2EO
  4. odin: Support attribute aliasing for decoration (support super)
  5. odin: Support objects with seq > @ (take last expresssion in seq)
  6. odin: Fix error "Some case is not checked: EOBoolData(true)"
  7. odin: import class_Object

v0.4.1

This is a maintenance release. Notable changes:

  • Published for Scala 3! (#60)
  • Tests for mutual recursion analyzer were fixed. (#55)
  • Dropped some dependencies:
    • nonEmpty is replaced with cats.data.NonEmptyVector(#58)
    • monix.newtypes, cats-mtl and partial-unification because they were unused (#59)
  • Enabled import organizing with a scalafix plugin (#56)

v0.4.0

  • Added direct access to base class analyzer (4th defect type) (see #48)
  • Added Liskov substitution principle analyzer (5th defect type) (see #51)
  • Improved the logic extraction algorithm (used in detection of defects 3 and 5) such that it supports functions with regular/mutual recursion (see #51)
  • Added support for imports without the alias (see #44)
  • Fixed the XMIR-to-AST parser such that it recognizes Array data correctly (see #50)
  • Revamped documentation such that it is contained within the README file (see #53)

v0.3.2

  • Fixed setting locators for common EO objects (see 41fbce4)
  • Partially rewrote the mutual recursion analyzer for better integration with the inlining module (see #37)

v0.3.1

  • Fixed a bug in inlining that caused methods from decorated classes to not be inlined (see 891f4e3)
  • Made SMT-solver not output information to the console (see bd0d95c)

v0.3.0

  • Added a new EO AST node (EOSimpleAppWithLocator) to store locator information (see f18e026b08)
  • Added support for locators during parsing (see #28)
  • Improved the pretty-printer (see #28)
  • Added an algorithm for setting locators in the AST by replacing plain EOSimpleApps with EOSimpleAppWithLocators (see #28)
  • Added an inlining module that allows all calls in the object to be inlined (see #30)
  • Made it possible to derive logical expressions from EO AST (see #32)
  • Added a polystat facade for the unjustified assumption analyzer (see 5fc07ff)

v0.2.1

  • Added documentation to mutual recursion analyzer (see #24);

v0.2.0

  • Improved the algorithm of mutual recursion analyzer (see #11);
  • Rewrote EO parser with cats-parse (see #10);
  • Refactoring XMIR parser (see #9);
  • Make printing EO AST easier (see 2bf552e);