~/talk

Unifying Execution of Imperative Generators and Declarative Specifications

Talkat OOPSLA 2020 · 2020-11-15..11-20· [software-architecture, testing]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Deuterium implements executable contracts as Java code combining an imperative generator that builds the solution backbone and a declarative spec in 2H that fills missing values; it ships two engines: SAT-based via Kodkod and a novel in-memory search-based solver. Evaluation uses Randoop-generated random tests and systematic method sequences across 12 data structures; the in-memory solver outperforms SAT on small workloads, SAT scales better on large ones, and generators extend solvable sequence length by about 5–20 method calls within a 30-minute timeout.

AI-written summary · about

  1. 0:00Start
  2. 0:19Relation of Imperative Code and Contracts
  3. 1:32Limitations of Executable Contracts
  4. 2:40Our Contributions
  5. 3:49Deuterium Workflow
  6. 4:57Imperative Generator
  7. 5:49Constraint Solving Engines
  8. 7:06In Memory Search-Based Solver (2/2)
  9. 9:332H Language
  10. 11:21Evaluation: Workloads
  11. 12:18Evaluation: Framework Configurations
  12. 12:37Evaluation: Research Questions and Setup
  13. 12:49RQ1: Search-Based vs. SAT-Based Solver
  14. 13:33RQ2: Fusion of Generator + 2 H vs. Pure 2H
  15. 14:34More Content in the Paper
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.