Skip to content
  1. 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
  2. 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
  3. Oct 19, 2023
    • Carlos Galindo's avatar
      Tabular slicing (v1): non-recursive · 830c6df6
      Carlos Galindo authored
      - Move summary settings from EDGFactory to Config.
      - The EDG now contains a SummaryTable, a map which computes summaries on-the-fly.
      - ConstrainedAlgorithm: now looks up summary edges in SummaryTable.
      - Fixed typo in SummaryEdgeGenerator#generateOnlyExternal.
      830c6df6
  4. Jul 27, 2023
  5. Jul 26, 2023
  6. Jul 25, 2023
  7. 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
    • Carlos Galindo's avatar
      Full support for records and code printing · ad8763fd
      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...)
      ad8763fd
  8. 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
  9. Mar 03, 2023
  10. Feb 24, 2023
  11. Feb 23, 2023
  12. Feb 16, 2023
  13. Nov 03, 2022
  14. Jul 26, 2022
  15. May 31, 2022
  16. Mar 11, 2022
  17. Oct 27, 2021
  18. Oct 07, 2021
Loading