1 / 11

Formal Methods: for All or for Chosen?

Formal Methods: for All or for Chosen?. Victor Kuliamin 1 Vitaliy Omelchenko 1 Olga Petrenko 2 1 Institute for System Programming 2 Institute of Open Education Moscow, Russia. Software Development Trends. Growth of software complexity Degradation of software quality Possible solutions ?

marv
Download Presentation

Formal Methods: for All or for Chosen?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Methods:for All or for Chosen? VictorKuliamin1VitaliyOmelchenko1OlgaPetrenko2 1Institute for System Programming2Institute of Open Education Moscow, Russia

  2. Software Development Trends • Growth of software complexity • Degradation of software quality Possible solutions ? => Formal methods (FM) • Formal requirements analysis • Formal design modeling and analysis • Formal verification • Formal testing Bugs per KLOC before testing

  3. Usual FM Courses • Propositional Calculus, Predicate Calculus, Set theory, λ-Calculus, Higher-order Calculi, Universal Algebra • Type theories, Process algebras, Temporal logics • Z, B, VDM, RSL, ASM

  4. Personal skills Social skills • Self-management • Self-motivation • Initiative • Creativity • Communication • Information presentation • Team work Knowledge Cognitive skills • Information retrieval • Model construction • Model analysis • Integral vision • Math background • General IT • Software Engineering • Close domains Skills and Knowledge of Software Engineers

  5. Common FM Course Structure • Basic formalisms • Formal languages (ASM, VDM, Z, B, …) • Software modeling techniques • Domain modeling • Iterative refinement of models • Formal analysis techniques • Theorem proving • Model checking • Model animation • Tools

  6. Proposed Course Transformation • Contents • “Hide” math • Use “usual” domain concepts • Use extensions of programming languages (JML, Spec#, …) • Strengthen and emphasize tools • Presentation • Active learning

  7. Active Learning Don’t say right things to students let them come to it themselves • Thought activation • Self-motivated decision making • Better involvement in learning

  8. Active Learning Techniques Used • Role-play simulation • Debates, academic controversy • Brainstorming • Cluster • Anticipatory exercises • Portfolio

  9. Debates • Students assigned to “pro” and “contra” groups • Each group seeks arguments in favor of its position • Discussion • Conclusion • Thought motivation • Information presentation skills • Team work skills

  10. Practically useless Increase software reliability Hard to integrate into development process For correct software construction Formal specifications Interesting Complex Many people don’t understand Motivation for developer education Challenging Cluster • Connecting new knowledge with personal experience

  11. Thank you! Questions? Contacts:kuliamin@ispras.ru o-l-petrenko@yandex.ru http://www.ispras.ru/~kuliamin

More Related