~/talk

Is this really a refactoring? Automated equivalence checking for Erlang projects

Talkat Erlang 2024 · on Monday, 2024-09-02· [testing, software-architecture]
links:none on file
links:none on file
slides:none on file

EquivcheckEr compares old and new versions of changed Erlang functions by running them on randomly generated inputs and only reports concrete counterexamples; it captures exceptions, stdout and sent messages by substituting the runtime IO actor and transforming send/receive nodes with a par transform, infers argument types with Typer to pick better generators, integrates with git, is open source on GitHub, found discrepancies in OTP but they were benign, and typically runs in about 10 seconds.

AI-written summary · about

  1. 0:00Equivalence checking intro
  2. 0:23What is refactoring
  3. 3:14Need for automated verification
  4. 5:20EquiChecker features
  5. 7:28Refactoring tool properties
  6. 8:33Property-based testing
  7. 11:00Side effects in Erlang
  8. 13:28Actor context simulation
  9. 15:56Defining equivalence
  10. 18:26Test data generation
  11. 20:36Static analysis limits
  12. 21:58Tool results
  13. 23:03Q&A
~/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.