Proof Driven Development
This addresses software reliability and verification challenges for developers, but it appears incremental as an extension of existing workflows.
The paper introduces proof-driven development, a new software development workflow that extends test-driven development using dependently typed programming to enhance design, complexity, and provability of software, comparing it to traditional methods.
A new workflow for software development (proof-driven development) is presented. An extension of test-driven development, the new workflow utilizes the paradigm of dependently typed programming. The differences in design, complexity and provability of software are discussed, based on the technique used to create the system. Furthermore, the difference in what properties can be expressed in a proof-driven development workflow versus a traditional test-driven development workflow or using test-last development.