Accurate Programming: Thinking about programs in terms of properties
  Accurate programming is a practical approach to producing high quality programs. It combines ideas from test-automation, test-driven development, agile programming, and other state of the art software development methods. In addition to building on approaches that have proven effective in practice, it emphasizes concepts that help programmers sharpen their understanding of both the problems they are solving and the solutions they come up with. This is achieved by encouraging programmers to think about programs in terms of properties. 
Walid Taha (Halmstad University), Veronica Gaspes (Halmstad   University), Rex Page (University of Oklahoma)
cs.PL cs.SE