Formality, Agility, Security, and Evolution in Software Engineering
Jonathan P. Bowen, Mike Hinchey, Helge Janicke, Martin P. Ward, Hussein Zedan · 2018
Formal methods and agile software development as part of the software engineering process have sometimes been seen as opposing techniques that are difficult to reconcile. However, in the opinion of the authors, these two approaches are orthogonal and complementary in nature, at least when used judiciously in a real-world setting. Both methodologies have benefits and drawbacks. Used together, it is possible to improve the benefits of both in a synergistic way. In this chapter, we consider the application of a formal agile approach in two areas that are important in software engineering, namely system security and software evolution.