Luca Negrini

Results 24 issues of Luca Negrini

### Memory model To add support for pointers, we first have to reshape the memory model. Instead of having only the heap, the memory is now partitioned in heap and...

🎆 type:feature
⁉ priority:p2
🔍 scope:analysis
🏨 scope:infrastructure

**Description** Depending on the language, the scoping mechanism when a call is encountered might be different. The `LanguageFeatures` class should contain a `ScopingStrategy` that allows to customize how the analysis...

🎆 type:feature
‼ priority:p1
🔍 scope:analysis
🌍 scope:interproc

**Description** Sometimes, to explicitly invoke a method from a superclass (e.g., `super.foo()`), the receiver of the call can be set to `(Superclass) this`, that is, the current object casted to...

🐛 type:bug
‼ priority:p1
🔍 scope:analysis

**Description** As an extension and finalization of #120, we should: - swap the evaluation of sub-expressions with the outer-most one in `NaryExpression` and `NaryStatement` - provide a proper backward `interproceduralAnalysis`...

🎆 type:feature
❗ priority:p3
🔍 scope:analysis

**Description** There should be an out-of-the-box support for variadic functions. This can likely be implemented as an additional flag in the `Parameter` class, and having matching/assigning strategy take care of...

🎆 type:feature
‼ priority:p1
🌍 scope:interproc
🏛 scope:program-structure

**Description** Having type inference rules directly on symbolic operators makes it difficult to track what logic is being applied and requires redefinition of the operator to customize typing rules depending...

🛠 type:refactoring
‼ priority:p1
🔍 scope:analysis

**Description** Dynamic languages can modify the program structure at runtime, adding or removing fields or changing function definitions. LiSA should support this.

🎆 type:feature
🔍 scope:analysis
🏛 scope:program-structure
🏨 scope:infrastructure

**Description** The analysis now follows a fixed 3-step workflow: `syntactic checks -> program fixpoint -> semantic checks`. We should allow custom workflows to enable scenarios like `program fixpoint -> simplify...

🎆 type:feature
🛠 type:refactoring
❗ priority:p3
🏨 scope:infrastructure

**Description** Modularize how the execution state of an `InferenceSystem` is transferred on return statements.

🐛 type:bug
⁉ priority:p2
🔍 scope:analysis

**Description** Implement [SARL](https://link.springer.com/chapter/10.1007/978-3-030-63618-0_1) for annotation generation, and the library modeling language from PyLiSA ([lexer](https://github.com/UniVE-SSV/pylisa/blob/25d102d14e9009c54e1cc8becc1aa3a99bf2e8e5/pylisa/src/main/antlr/LibraryDefinitionLexer.g4), [parser](https://github.com/UniVE-SSV/pylisa/blob/25d102d14e9009c54e1cc8becc1aa3a99bf2e8e5/pylisa/src/main/antlr/LibraryDefinitionParser.g4)).

🎆 type:feature
❗ priority:p3
🏨 scope:infrastructure