~/talk

How to Rebuild Lost Trust? Control, Promises and OpenJML

TalkinPolishat 4Developers 2021 · 2021-05-24..05-27· [java, software-architecture]
links:none on file
slides:none on file

A case study of a 3.5-hour intern bank app shows a transfer bug where balances drift without crashes; using OpenJML (Java Modeling Language) the bug was reproduced from crafted input and traced to a hidden long integer overflow. Applying OpenJML required adding explicit JML invariants — nonnegative balance, an upper bound, public getters, and that source and destination accounts are distinct — and the tool can statically prove correctness when the specification is complete or emit unprovable warnings to guide repairs. The talk notes OpenJML helps improve design and tests but is limited by spec quality and Java feature support and does not replace testing or design work.

AI-written summary · about

  1. 0:00Introduction
  2. 6:36Trust issues in software
  3. 13:42Control vs trust in code
  4. 24:07Contract specs over tests
  5. 28:39OpenJML formal verification
  6. 34:24Bank transfers case study
  7. 49:20Pros and cons of approach
  8. 52:12Summary and call to experiment
~/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.