Post

A Beginner's Guide to Formalization in Software Engineering

A reading guide for students who want to make sense of the definitions, notation, and rules in program analysis papers.

A Beginner's Guide to Formalization in Software Engineering

Learning to read formal definitions takes practice. You learn to identify the objects a paper is talking about, follow the rules that change a program’s state, and work out what an analysis actually guarantees. With so many unfamiliar ideas, deciding where to begin can be as difficult as understanding any particular definition.

This guide helps you choose a route through the series. The first six articles form the main sequence: notation and program states lead into semantics and abstraction, then into an analysis algorithm. The later articles examine soundness, engineering trade-offs, and the questions raised by AI-generated code. Part 7 steps back from the technical material to trace the history of these ideas.

Read the series in order, or go straight to a topic you need for a paper. Each card below describes the question its article addresses. The suggested routes help you choose where to begin.

You do not need to finish all seven articles in one go. Start with the question that is holding up your reading, then return to the surrounding ideas when you need them.

The seven articles

All seven articles are available in English and Chinese. Use the language switch at the top of each page to move between versions.

Choosing a reading route

Choose a route that fits what you want to learn.

Starting from scratch

Read Parts 1–6 in order, then turn to the history article to see how these ideas developed.

Trying to get through a paper

Start with Parts 1 and 2, then jump to the topic that is giving you trouble.

Curious about the history

Go straight to Part 7. It introduces the ideas in their historical context and can be read on its own.

The aim is to give you somewhere to start the next time you meet an unfamiliar formula. Rather than skipping the whole passage, you can look for its objects, the relationships between them, and the rules that operate on them. Each article gives you practice with a different part of that reading process.

Start with Part 1 →

This post is licensed under CC BY 4.0 by the author.