Releases: lisa-analyzer/lisa
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)
HeapDomain
implementation's rewriting now unboxes typing conversions @lucaneg (#300)- Fix type-checking errors in
Addition
andRemainder
statements. @giacomoboldini (#305) - Unconditional dump of HTML support files @lucaneg (#303)
- Fixed typos in
CodeMemberDescriptor
javadoc strings. @giacomoboldini (#295) - Propagating field information @lucaneg (#294)
- Added missing
mk
overload 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
DefaultConfiguration
instead 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)
ReferenceType
now always holds a single type @lucaneg (#228)- Statements and symbolic expressions for
Remainder
andModulo
operations @lucaneg (#231) CFG
s 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
TypeSystem
instance @lucaneg (#227) isTop()/isBottom()
ofAnalysisState
now considers expressions and aliasing @lucaneg (#229)- Collapsing empty maps in
FunctionalLattice
instances @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
TypeSystem
replaced the type cache @lucaneg (#222)LanguageFeatures
groups all language-specific algorithms @lucaneg (#214)Global
s 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
SimpleAbstractState
properly 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
Interval
constructors @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)
PointBasedHeap
type 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
AbstractState
used for type inference @lucaneg (#132) - Implementation of common statements and types @lucaneg (#129)
🐛 Bug Fixes
🧰 Maintenance
0.1 beta 1
Milestone with issues list - Maven - Javadoc
*new* revamped dataflow analyses
*new* widening threshold is configurable
*new* non-relational domains: glb and reasoning about type conversions
*new* semantic checks to exploit analyses results
*new* control-flow structures extraction from CFG heuristics
*new* domains now present their information in a structured way instead of relying on strings
*new* non-interference
*new* annotations support
*new* hybrid call resolutions, definition of entrypoints, interprocedural analyses
*bugfix* FunctionalLattice
operations leave the underlying lattice untouched
*bugfix* Interval
analysis now works properly
*bugfix* Environment#liftIdentifiers
*bugfix* equalitiy comparisons between analysis components work properly
*bugfix* assignments to bottom states do not modify them
*bugfix* sanity tests for Lattice#isTop()
/isBottom()
+ lots of new tests