Releases: lisa-analyzer/lisa
0.2
Milestone with issues list
Maven (sdk) - Maven (analyses) - Maven (program) - Maven (imp)
Javadoc (sdk) - Javadoc (analyses) - Javadoc (program) - Javadoc (imp)
Changes
🚀 Features
- Explainability: events, flamegraph, history abstraction @lucaneg (#334)
- Parametric scoping logic @lucaneg (#301)
- Error tokens, exceptions, and halting statements @lucaneg (#126, #125, #141)
- Custom entries in json report @lucaneg (#320)
- Separation of lattices and domains @lucaneg (#340)
- Substitutions on variable removal @lucaneg (#337)
- Assume implementation on type domains @lucaneg (#336)
PushAnywith constraints @lucaneg (#328)- Components of
SimpleAbstractDomainare optional @lucaneg (#338) - Html visualizer rework @lucaneg (#319)
- Location-based working set for fixpoints @lucaneg (#317)
- Whole value analysis @lucaneg (#327)
- Configurable fixpoints @lucaneg (#351)
- Extendable outputs @lucaneg (#350)
CallGraphis now dumpable @lucaneg (#339)- Notices @lucaneg (#349)
- Inlining interprocedural analysis @lucaneg (#348)
- Subclassing of
ReferenceType@lucaneg (#342) - Custom state on analysis init + custom call return logic @lucaneg (#346)
- Improved
BaseCallGraphresolution @lucaneg (#345) NumericTypewith flexible number of bits @lucaneg (#345)CharacterType@lucaneg (#345)- Reachability analysis @lucaneg (#345)
- ConstantValuePropagation with cross-value operations @lucaneg (#345)
- Refactoring of non relational hierarchy and utilities @lucaneg (#325)
🐛 Bug Fixes
- Stop hierarchy traversal when call target is found @lucaneg (#341)
- Global variables rewriting @lucaneg (#322)
lessOrEqualforAllocationSites@lucaneg (#324)
🧰 Maintenance and others
0.1
Milestone with issues list
Maven (sdk) - Maven (analyses) - Maven (program) - Maven (imp)
Javadoc (sdk) - Javadoc (analyses) - Javadoc (program) - Javadoc (imp)
🚀 Features
- Stability domain implementation @lucaneg (#307, #308)
- Substring relational domains @VincenzoArceri (#306)
- Implementation of the pentagon abstract domain @VincenzoArceri (#304)
🐛 Bug Fixes
- Visiting callbacks for arbitrary expressions @lucaneg (#313)
HeapDomainimplementation's rewriting now unboxes typing conversions @lucaneg (#300)- Fix type-checking errors in
AdditionandRemainderstatements. @giacomoboldini (#305) - Unconditional dump of HTML support files @lucaneg (#303)
- Fixed typos in
CodeMemberDescriptorjavadoc strings. @giacomoboldini (#295) - Propagating field information @lucaneg (#294)
- Added missing
mkoverload inFieldSensitivePointBasedHeap@lucaneg (#293)
🧰 Maintenance and others
0.1 beta 9
Milestone with issues list
Maven (sdk) - Maven (analyses) - Maven (program) - Maven (imp)
Javadoc (sdk) - Javadoc (analyses) - Javadoc (program) - Javadoc (imp)
Changes
🚀 Features
- Backward analyses (beta) @lucaneg (#120)
- Default values and unknown values for types @lucaneg (#280)
- Cross-domain communication through oracles @lucaneg (#291)
- Arbitrary fixpoint information @lucaneg (#287)
- Environments has customizable fallbacks for unknown keys @lucaneg (#279)
- New string operations for Tarsis and FA @VincenzoArceri (#285)
🐛 Bug Fixes
- Annotations propagation for point based heap analyses @VincenzoArceri (#286)
- Assignment rules @lucaneg (#284)
- Switch to
DefaultConfigurationinstead ofLiSAFactory@lucaneg (#268) - String operations for Tarsis and FA @VincenzoArceri (#285)
0.1 beta 8
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
- Memory optimization @lucaneg (#275)
- Additional methods for string domains, minor fixes to point-based heap analyses, Trace partitioning @VincenzoArceri (#270)
- Implementation of the Bricks domain for the analysis of strings @BlueRyse (#271)
- Non redundant set @matteboro (#269)
- Taint and Tarsis @lucaneg (#263)
- Constant Globals @lucaneg (#262)
- Support for static allocation in LiSA point-based heap analyses @VincenzoArceri (#250)
- Base interfaces @lucaneg (#259)
- Project structure @lucaneg (#247)
- LiSA descending phase @VincenzoArceri (#238)
- Implementation of prefix, suffix, and char inclusion string abstract domains @VincenzoArceri (#242)
- FSA abstract domain @VincenzoArceri (#213)
🐛 Bug Fixes
- Interprocedural fixes: recursions, call caches, determinism @lucaneg (#260)
- Cron scheduler fix @lucaneg (#278)
- Additional methods for string domains, minor fixes to point-based heap analyses @VincenzoArceri (#270)
- #276 [CFG LITERAL] Fix Float32Literal @giacomozanatta (#277)
- Fixes on point-based heap analyses @VincenzoArceri (#266)
- Point-based heap analysis with stack allocation fixes @VincenzoArceri (#264)
- Optimize CharInclusion formatRepresentation method @BlueRyse (#243)
🧰 Maintenance and others
- Memory optimization @lucaneg (#275)
- Cron scheduler fix @lucaneg (#278)
- Add auxiliar interval methods @VincenzoArceri (#267)
- Updating build badge @lucaneg (#261)
- Base interfaces @lucaneg (#259)
- Replace Collection With Set in Char Inclusion Domain @BlueRyse (#251)
- Project structure @lucaneg (#247)
- LiSA descending phase @VincenzoArceri (#238)
- Updating vulnerable dependencies @lucaneg (#240)
0.1 beta 7
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
- Numeric analyses now handle modulo and remainder @lucaneg (#216)
ReferenceTypenow always holds a single type @lucaneg (#228)- Statements and symbolic expressions for
RemainderandModulooperations @lucaneg (#231) CFGs can be dumped to json/visual formats with no analyses @lucaneg (#230)
🐛 Bug Fixes
- Fixed
Intervals.satisfis()@lucaneg (#235) - Delayed registration of base types inside a
TypeSysteminstance @lucaneg (#227) isTop()/isBottom()ofAnalysisStatenow considers expressions and aliasing @lucaneg (#229)- Collapsing empty maps in
FunctionalLatticeinstances @lucaneg (#233)
🧰 Maintenance and others
0.1 beta 6
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
TypeSystemreplaced the type cache @lucaneg (#222)LanguageFeaturesgroups all language-specific algorithms @lucaneg (#214)Globals are tied to their container @lucaneg (#196)- Abstract units and interfaces @VincenzoArceri @lucaneg (#109 #110)
SemanticDomain.forgetIdentifiersIf(Predicate<Identifier>)@lucaneg (#208)- HTML, GraphML, and DOT visual formats for graphs @lucaneg (#128 #197)
- Graph serialization to JSON files @lucaneg (#121)
- Base implementation for
FunctionalLattice'sisTop()andisBottom()@lucaneg (#184)
🐛 Bug Fixes
SimpleAbstractStateproperly lubs evaluations over several expressions @lucaneg (#224)Edge.traverse()implementations now useSemanticDomain.satisfies()@lucaneg (#223)- Inheritance scan during call resolution @lucaneg (#212)
- Simplification of isolated graph nodes @lucaneg (#210)
- Open calls delete all aliases @lucaneg (#194)
- Different handling of "no entry points" @lucaneg (#190)
🧰 Maintenance
0.1 beta 5
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
- Call resolution v2 @lucaneg (#168)
- Symbol aliasing and analysis-time type inference @lucaneg (#180)
- Public
Intervalconstructors @lucaneg (#186)
🐛 Bug Fixes
- Fixed CallGraphBasedAnalysis's init method @VincenzoArceri (#60)
- Restoring short-circuit capabilities @lucaneg (#167)
- CFG validation, AnalysisState initialization, PythonLikeMatchingStrategy and HybridCall fixes @lucaneg (#172)
- Python-like logic fix @lucaneg (#176)
PointBasedHeaptype rewriting @lucaneg (#182)- Forcing call type to instance during resolution of unknown-type calls @lucaneg (#192)
- Bugfixing before 0.1b5 release @lucaneg (#193)
🧰 Maintenance
0.1 beta 4
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
🐛 Bug Fixes
- Duplicate callsites registration @lucaneg (#155)
- Updating to a more recent version of log4j @lucaneg (#150)
🧰 Maintenance
0.1 beta 3
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
🐛 Bug Fixes
0.1 beta 2
Milestone with issues list
Maven (sdk) - Maven (core) - Maven (imp)
Javadoc (sdk) - Javadoc (core) - Javadoc (imp)
Changes
🚀 Features
- Bitwise and overflow-sensitive symbolic operators @lucaneg (#134)
- Configurability of the
AbstractStateused for type inference @lucaneg (#132) - Implementation of common statements and types @lucaneg (#129)