Skip to content

LiSA descending phase#238

Merged
lucaneg merged 45 commits intolisa-analyzer:masterfrom
matteboro:descending
Nov 18, 2022
Merged

LiSA descending phase#238
lucaneg merged 45 commits intolisa-analyzer:masterfrom
matteboro:descending

Conversation

@VincenzoArceri
Copy link
Member

@VincenzoArceri VincenzoArceri commented Nov 9, 2022

Description
This pull request implements the analysis descending phase. It relies on the narrowing operator for its convergence.

Fixed bugs and implemented features
Closes #117

matte and others added 19 commits November 3, 2022 17:29
SimpleAbstractState.Set glb as default for narrowing in class Lattice
Interval.satisfiesBinaryExpression
Conflicts:
	lisa/lisa-core/imp-testcases/interval/untyped_tutorial.intv_dec(tutorial__this).json
	lisa/lisa-core/src/main/java/it/unive/lisa/LiSAConfiguration.java
	lisa/lisa-core/src/main/java/it/unive/lisa/LiSARunner.java
	lisa/lisa-core/src/main/java/it/unive/lisa/analysis/heap/pointbased/PointBasedHeap.java
	lisa/lisa-core/src/main/java/it/unive/lisa/interprocedural/CFGResults.java
	lisa/lisa-sdk/src/main/java/it/unive/lisa/analysis/nonrelational/heap/HeapEnvironment.java
	lisa/lisa-sdk/src/main/java/it/unive/lisa/outputs/compare/JsonReportComparer.java
	lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/statement/global/AccessInstanceGlobal.java
	lisa/lisa-sdk/src/main/java/it/unive/lisa/type/ReferenceType.java
@VincenzoArceri VincenzoArceri self-assigned this Nov 9, 2022
@lucaneg lucaneg added 🎆 type:feature New feature or request 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🏨 scope:infrastructure Work regarding the general infrastructure and functioning of LiSA labels Nov 9, 2022
VincenzoArceri and others added 9 commits November 14, 2022 19:21
to the original form. There are no more the join and meet method in the
FixpointImplementation interface, but a single operation method. In CFG
, the operation and equality method of the CFGFixpointImplementation
class use some FunctionalInterface that are passed to it at creation. So
that in the ascending phase lub, widening and the right equality
evaluation are passed and in the descending phase glb, narrowing and the
right equality evaluation are passed.
which phase it is in (similarly for the equality method). The method
fixpoint in the class Fixpoint now accept a parameter to initialize the
rusult.
@lucaneg lucaneg merged commit e01bfcd into lisa-analyzer:master Nov 18, 2022
@matteboro matteboro deleted the descending branch January 13, 2023 14:33
@lucaneg lucaneg added this to the 0.1b8 milestone Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🏨 scope:infrastructure Work regarding the general infrastructure and functioning of LiSA 🎆 type:feature New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Support for the narrowing operator

3 participants