Lars Hupel

When testing just doesn’t cut it

How do you find a bug that lets users duplicate money before writing a single line of code?

When testing just doesn’t cut it
#1about 5 minutes

Why high code coverage is not enough

Even well-tested software like Java's JDK can have critical bugs, such as the famous integer overflow in binary search, demonstrating the limits of unit testing.

#2about 1 minute

Defining formal methods for software verification

Formal methods are mathematically rigorous techniques for specifying, designing, and verifying software systems, used by organizations like NASA to ensure correctness.

#3about 4 minutes

Recognizing formal methods in everyday tools

Common tools like standardized flowcharts and static type systems in languages like TypeScript are practical examples of formal methods already in use.

#4about 5 minutes

How formal verification proves code correctness

Formal verification involves creating a mathematical proof that a software implementation correctly adheres to its formal specification, going beyond simple testing.

#5about 5 minutes

Applying formal methods to central bank digital currency

Building a Central Bank Digital Currency (CBDC) requires a higher level of assurance than testing can provide to prevent financial loss or money duplication.

#6about 4 minutes

Using the Isabelle proof assistant for financial logic

The Isabelle proof assistant is used to model financial operations and mathematically prove that properties like the total money supply remain constant.

#7about 3 minutes

Integrating formal verification into the development workflow

A practical approach involves prototyping new, high-risk features in Isabelle to find design flaws before committing to a full implementation in languages like Go.

#8about 2 minutes

Answering questions on writing good specifications

The discussion covers the challenges of writing complete specifications, deriving programs from them, and why even a partial specification is better than none.

Related jobs
Jobs that call for the skills explored in this talk.
SabIna compys

SabIna compys
Vienna, Austria

Remote
20-100K
Intermediate
JavaScript
.NET
+1

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 138 - Are you secure about this?
Hello there! This is the 2nd "out of the can" edition of 3 as I am on vacation in Greece eating lovely things on the beach. So, fewer news, but lots of great resources. Many around the topic of security. Enjoy! News and ArticlesGoogle Pixel phones t...
Dev Digest 138 - Are you secure about this?
DC
Daniel Cranney
The real reason we document our code
The world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
The real reason we document our code
BB
Benedikt Bischof
How we Build The Software of Tomorrow
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
How we Build The Software of Tomorrow
BB
Benedikt Bischof
CODE100 - Could you have solved our coding challenges?
​During the WeAreDevelopers World Congress 2023 in Berlin we ran the first edition of CODE100, a new "game-show-meets-coding" format, created by WeAreDevelopers. ​ The game consisted of 6 rounds, 3 of which were coding challenges. For each of these c...
CODE100 - Could you have solved our coding challenges?

From learning to earning

Jobs that call for the skills explored in this talk.

Software Tester

Think-cell
Foster City, United States of America

Intermediate
Unit Testing
Manual Testing
Automated Testing
Senior QA Engineer

CheckYeti
Vienna, Austria

Senior
Selenium
JavaScript
Manual Testing
Automated Testing
Cobol Entwickler

softwarebees GmbH
Göttingen, Germany

Intermediate
Senior
GIT
RDBMS
COBOL