agile formal methods
play

Agile Formal Methods Reiner H ahnle 6th International KeY - PowerPoint PPT Presentation

Agile Formal Methods Reiner H ahnle 6th International KeY Symposium Nomborn 15th June 2007 Agile FM KeY Workshop 2007 1 / 8 Agile Methods Agile software developmentis a conceptual framework for undertaking software engineering


  1. Agile Formal Methods Reiner H¨ ahnle 6th International KeY Symposium Nomborn 15th June 2007 Agile FM KeY Workshop 2007 1 / 8

  2. Agile Methods “Agile software developmentis a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project.” Agile FM KeY Workshop 2007 2 / 8

  3. Agile Methods “Agile software developmentis a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project.” Some Examples ◮ Extreme Programming (1996) ◮ Feature Driven Development (1999) Agile FM KeY Workshop 2007 2 / 8

  4. Agile Methods “Agile software developmentis a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project.” Some Examples ◮ Extreme Programming (1996) ◮ Feature Driven Development (1999) ◮ And, inevitably: Agile Unified Process (2001) Agile FM KeY Workshop 2007 2 / 8

  5. Agile Methods: Principles Partial List of Agile Method Principles ◮ Rapid, continuous delivery of useful and working software ◮ Working software is the principal measure of progress ◮ Even late changes in requirements are welcome ◮ Regular adaptation to changing circumstances ◮ Close, daily, cooperation between business people and developers ◮ Continuous attention to technical excellence and good design ◮ Simplicity Agile FM KeY Workshop 2007 3 / 8

  6. Formal vs. Agile Methods Most people associate Formal Methods with heavy design methods! Agile FM KeY Workshop 2007 4 / 8

  7. Formal Methods with Agile Character Recent Formal Methods are more agile than older ones ◮ Design-by-Contract (Eiffel, JML, Spec#) ◮ Extended Static Checking based on Contracts (ESC/Java, Boogie) ◮ Automatic Test Generation (see Christoph’s talk) Agile FM KeY Workshop 2007 5 / 8

  8. Formal and Agile Methods Formal Methods align very well with some Agile Method Principles! Agile FM KeY Workshop 2007 6 / 8

  9. Formal and Agile Methods Formal Methods align very well with some Agile Method Principles! ◮ Rapid, continuous delivery of useful and working software ◮ Working software is the principal measure of progress Automatic test generation — Bug finding Agile FM KeY Workshop 2007 6 / 8

  10. Formal and Agile Methods Formal Methods align very well with some Agile Method Principles! ◮ Rapid, continuous delivery of useful and working software ◮ Working software is the principal measure of progress Automatic test generation — Bug finding ◮ Continuous attention to technical excellence and good design Precise specification — Verification Agile FM KeY Workshop 2007 6 / 8

  11. Formal and Agile Methods Formal Methods align very well with some Agile Method Principles! ◮ Rapid, continuous delivery of useful and working software ◮ Working software is the principal measure of progress Automatic test generation — Bug finding ◮ Continuous attention to technical excellence and good design Precise specification — Verification ◮ Simplicity Is a prerequisite for feasibility of verification! Agile FM KeY Workshop 2007 6 / 8

  12. Towards an Agile Formal Method Analyse Design Implement Generate Tests Debug Validate

  13. Towards an Agile Formal Method Formal Analyse Design Implement Specify Generate Tests Debug Validate

  14. Towards an Agile Formal Method Formal Analyse Design Implement Specify Generate Counter Examples Generate Tests Debug Validate

  15. Towards an Agile Formal Method Formal Analyse Design Implement Specify Generate Counter Examples Generate Tests Symbolic Execution Debugger Validate

  16. Towards an Agile Formal Method Formal Analyse Design Implement Specify Generate Counter Examples Generate Tests Verify Symbolic Execution Debugger

  17. Towards an Agile Formal Method Formal Analyse Design Automated Implement Specify Generate Counter Examples Generate Counter Examples Generate Tests Generate Tests Verify Verify Symbolic Execution Debugger Symbolic Execution Debugger Agile FM KeY Workshop 2007 7 / 8

  18. Agile Formal Methods: Prerequisites ◮ Tight integration into one tool, preferably Eclipse ◮ source code/specification editor ◮ test generation ◮ counter example generation ◮ symbolic execution debugging ◮ verification ◮ High degree of automation Full automation for everything but verification ◮ Full coverage of target language Agile FM KeY Workshop 2007 8 / 8

  19. Agile Formal Methods: Prerequisites ◮ Tight integration into one tool, preferably Eclipse ◮ source code/specification editor ◮ test generation ◮ counter example generation ◮ symbolic execution debugging ◮ verification ◮ High degree of automation Full automation for everything but verification ◮ Full coverage of target language KeY seems very suitable to achieve this! Agile FM KeY Workshop 2007 8 / 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend