Skip to content
  1. Dec 06, 2023
  2. Nov 20, 2023
    • Carlos Galindo's avatar
      Work-list based and Reps tabular slicing for recursive programs. · 58d95b2c
      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.
      58d95b2c
  3. Oct 25, 2023
    • Carlos Galindo's avatar
      Benchmarks for non-recursive tabular slicing. · 4d630beb
      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.
      4d630beb
  4. Jul 27, 2023
  5. Jul 26, 2023
  6. Jul 24, 2023
    • Carlos Galindo's avatar
      Updated benchmark system · 878d4fad
      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.
      878d4fad
  7. Jul 13, 2023
    • Carlos Galindo's avatar
      Benchmarks for JSS Revision 1 (erlsom) · b909e059
      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.
      b909e059
  8. Mar 03, 2023
  9. Feb 24, 2023
  10. Feb 23, 2023
  11. Feb 16, 2023
  12. Nov 03, 2022
  13. Jul 26, 2022
  14. Mar 11, 2022
  15. Oct 27, 2021
  16. Oct 05, 2021
    • Sergio Pérez's avatar
      Timed Run: · 947bbe37
      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
      947bbe37
    • Sergio Pérez's avatar
      Timed Run: · 787ed139
      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
      787ed139
  17. Sep 29, 2021
  18. Sep 07, 2021
  19. Jul 27, 2021
    • Sergio Pérez's avatar
      FIXES AND SUMMARY IMPROVEMENTS · 91e8eaea
      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
      91e8eaea
  20. Jul 12, 2021
  21. Jul 09, 2021
    • Sergio Pérez's avatar
      LAST adapted to Erlang with some improvements: · 40b40855
      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
      40b40855
  22. Jun 11, 2021
  23. Jun 10, 2021
Loading