- Dec 04, 2023
-
-
Carlos Galindo authored
- Moved from Work#getTraversedLoop
-
Carlos Galindo authored
- Now Constraints is just a stack of EdgeConstraint.
-
Carlos Galindo authored
-
- Nov 20, 2023
-
-
Carlos Galindo authored
- Worklist approach implemented through a Config flag in SummaryTable. - Unconstrained and constrained variantes (TabularAlgorithm & ConstrainedTabularAlgorithm). The constrained version features a limit to the size of the stack. - Constrained subsumed variant for efficiency (ConstrainedSubsumedTabularAlgorithm). - Efficient EdgeList (linked-list) to store edges visited through a traversal. - Bump language level to 16. - eKnife cli: added switch to use tabular algorithms. - Moved benchmarks out of eKnife and BencherTest.
-
- Jul 13, 2023
-
-
Carlos Galindo authored
- Basic support for records, bin, float, try, catch - Feature to count access constraints traversed - Feature to count access constraints present in the graph - Bugs fixed: - Can handle empty string represented as list `[]`. - Can handle other unary operators apart from `-int`. - Can handle nested list comprehensions. - Now requires a running instance of erlang, use the following command: erl -pa (pwd)/e-Knife/src/main/resources -name server@localhost -setcookie erlang -noshell - BencherTest now accepts `-DiterGen=NUM` and `-DiterSlice=NUM` as Java arguments.
-
- Feb 23, 2023
-
-
Carlos Galindo authored
-
- Feb 16, 2023
-
-
Sergio Pérez authored
* Statistical functions to build tables
-
- Oct 01, 2021
-
-
Sergio Pérez authored
* Repeated recursive grammar states ignored in summary generation * Increased the number of constraints that the stack can contain to 20 * Slice of 3 benchmarks improved
-
- Sep 10, 2021
-
-
Sergio Pérez authored
-
- Sep 07, 2021
-
-
Sergio Pérez authored
- Generators implicit and explicit restrictions are now more accurately treated - Created +-[]S (List structure constraints) - Created +-{}S (Tuple structure constraints) - New kind of edges (ValueStructural Edges) - Prevented the interference of the traversal of (Black) Structural Edges with other edges
-
- Jul 27, 2021
-
-
Sergio Pérez authored
* Erlang script path defined * Fixes in code generation: some sliced expressions removed instead of replaced * Fix guard stacks in CFG generation * Logic simplification in Node-Result creation process * Fixed dead clause detection * Improvements added to summary generation: + Function calls associated to a particular formal-out-formal-in summary edge are only repended when the grammar term is created, and not for each added production + The list of constraints stacked after an AsteriskConstraint are removed when another AsteriskConstraint is pushed to the stack
-
- Jul 23, 2021
-
-
Sergio Pérez authored
* Traversal restriction of Generator value edge traversal * CFG limitation for unreachable code
-
- Jul 09, 2021
-
-
Sergio Pérez authored
* ast.erl and saver.erl has been moved to e-knife resources folder * CFG and Value arcs are now in e-Knife * CFGs are built with a the visitor pattern * The graph library is now jgrapht * CFGs of the clauses of the same method are now independent * Interprocedural clause matching has been improved to not link unreachable clauses * Shadowed variables and its value are now delimited to their context * Classic algorithm has been added to slicing computed algorithms
-
- Jun 11, 2021
-
-
Carlos Galindo authored
-
- Jun 10, 2021
-
-
Carlos Galindo authored
-