- Dec 06, 2023
-
-
Carlos Galindo authored
-
- Dec 04, 2023
-
-
Carlos Galindo authored
-
- Nov 23, 2023
-
-
Carlos Galindo authored
-
Carlos Galindo authored
- Tabular algorithm: only traverse intraprocedural edges by default. - Improved subsumption checks in tabular algorithm. - Corrected actual-out detection. - Added assertions to check for incorrect interprocedural edges. - Control-flow is incorrect in anonymous routines: it produces interprocedural control dependence. - Parametrized erlang server connection settings. - Added new comparisons for benchmarks. - New script to run benchmarks and analyze results with SQLite.
-
- 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.
-
- Oct 25, 2023
-
-
Carlos Galindo authored
- ️️SummaryTable: actual-out node may none or multiple matching formal-out. - EDG, SummaryTable: get and clear methods for stats. - EKnife, BencherTest: adapted for benchmarks in which running the benchmark alters the graph itself.
-
- Jul 27, 2023
-
-
Carlos Galindo authored
- Add flag to EDGFactory to enable the creation of interprocedural edges.
-
- Jul 26, 2023
-
-
Carlos Galindo authored
- A flag has been added to make slices intraprocedural if desired.
-
- Jul 25, 2023
-
-
Carlos Galindo authored
If you are performing benchmarks, you should revert this commit and manually start the server, because it affects the speed of the slicer (the parser step).
-
- Jul 24, 2023
-
-
Carlos Galindo authored
- Remember, to run benchmarks you require a "server" process for Erlang (see previous commits). - If you output slices, astCounter.erl can be used to count the number of AST nodes in a given program.
-
Carlos Galindo authored
- Full support for records, with their own access constraints - e-Knife can now print Erlang code that contains newly supported data structures (record, bin, try, catch, throw...)
-
- 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.
-
- Mar 03, 2023
-
-
Carlos Galindo authored
-
Carlos Galindo authored
-
Carlos Galindo authored
-
Carlos Galindo authored
-
- Feb 24, 2023
-
-
Carlos Galindo authored
-
Carlos Galindo authored
-
- Feb 23, 2023
-
-
Carlos Galindo authored
-
Carlos Galindo authored
-
- Feb 16, 2023
-
-
Sergio Pérez authored
* Statistical functions to build tables
-
- Nov 03, 2022
-
-
Sergio Pérez authored
-
- Jul 26, 2022
-
-
Sergio Pérez authored
* Added bencher intra- and inter-procedural suits * Added Dockerfile
-
Sergio Pérez authored
-
- Mar 11, 2022
-
-
Sergio Pérez authored
-
Sergio Pérez authored
-
- Oct 27, 2021
-
-
Sergio Pérez authored
-
Sergio Pérez authored
-
Sergio Pérez authored
* Left Recursive Grammars transformed to Right Recursive avoiding infinite T generations with suffix analysis * Grammar.printGrammarInFile
-
- Oct 05, 2021
-
-
Sergio Pérez authored
* Measured the generation time of the different graph edges * Added EKnife.timedRun to evaluate the slicer against all the possible slicing criteria of a program * Added intraprocedural bencher suite
-
Sergio Pérez authored
* Measured the generation time of the different graph edges * Added EKnife.timedRun to evaluate the slicer against all the possible slicing criteria of a program * Added intraprocedural bencher suite
-
- Oct 01, 2021
-
-
Sergio Pérez authored
-
Sergio Pérez authored
-
Sergio Pérez authored
* LiteralConstraint in switch structures
-
Sergio Pérez authored
* Fix CFG absorbent clauses
-
- Sep 30, 2021
-
-
Carlos Galindo authored
-
Carlos Galindo authored
-
Carlos Galindo authored
-
- Sep 29, 2021
-
-
Carlos Galindo authored
-
Carlos Galindo authored
-