**Strictly speaking, one can never be 100% sure that a commit doesn't break a program.** Even with all sorts of testing possible (unit testing, integration, component, system, manual, UI, fuzz, security, penetration .. you name it). This is due to a [Halting problem](https://en.wikipedia.org/wiki/Halting_problem). A relevant extract from the Wikipedia follows below: > In computability theory, the halting problem can be stated as follows: > "Given a description of an arbitrary computer program, decide whether > the program finishes running or continues to run forever". This is > equivalent to the problem of deciding, given a program and an input, > whether the program will eventually halt when run with that input, or > will run forever. > > Alan Turing proved in 1936 that a general algorithm to solve the > halting problem for all possible program-input pairs cannot exist. A > key part of the proof was a mathematical definition of a computer and > program, which became known as a Turing machine; the halting problem > is undecidable over Turing machines. If your PM cares about value and stable predictable delivery, you can perhaps convince him to have a look at [SCRUM framework](https://www.scrum.org/).