What Top-Level Software Engineers Tackle after Learning Formal Methods: Experiences from the Top SE Project

In order to make practical use of formal methods, it is not sufficient for engineers to obtain general, fundamental knowledge of the methods and tools. Actually, it is also necessary for them to carefully consider their own contexts and determine adequate approaches to their own problems. Specifically, engineers need to choose adequate methods and tools, determine their usage strategies, and even customize or extend them for their effective and efficient use. Regarding the point, this paper reports and discusses experiences on education of formal methods in the Top SE program targeting software engineers in the industry. The program involves education of a variety of scientific methods and tools with group exercises on practical problems, allowing students to compare different approaches while understanding common principles. In addition, the program involves graduation studies where each student identifies and tackles their own problems. Statistics on problem settings in the graduation studies provide interesting insights into what top-level engineers tackles after learning formal methods.

[1]  Mark Saaltink,et al.  The Z/EVES System , 1997, ZUM.

[2]  Yasuyuki Tahara,et al.  Top SE: Educating Superarchitects Who Can Apply Software Engineering Tools to Practical Development in Japan , 2007, 29th International Conference on Software Engineering (ICSE'07).

[3]  Shinichi Honiden,et al.  Model Checking Process with Goal Oriented Requirements Analysis , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[4]  Kaisa Sere,et al.  FM 2008: Formal Methods, 15th International Symposium on Formal Methods, Turku, Finland, May 26-30, 2008, Proceedings , 2008, FM.

[5]  Yasuyuki Tahara,et al.  Teaching Software Model Checking , 2008, FM'08 2008.

[6]  Shinichi Honiden,et al.  Formal specification generator for KAOS: model transformation approach to generate formal specifications from KAOS requirements models , 2007, ASE '07.

[7]  Soheil Khajenoori,et al.  Collaborations: Closing the Industry-Academia Gap , 1997, IEEE Softw..

[8]  Hironori Washizaki,et al.  Automatic Extraction and Verification of Page Transitions in aWeb Application , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[9]  Jonathan P. Bowen,et al.  ZUM '97: The Z Formal Specification Notation , 1997, Lecture Notes in Computer Science.

[10]  Taro Kurita,et al.  Application of a Formal Specification Language in the Development of the "Mobile FeliCa" IC Chip Firmware for Embedding in Mobile Phone , 2008, FM.

[11]  Cliff B. Jones,et al.  RODIN (Rigorous Open Development Environment for Complex Systems) , 2005 .

[12]  Kenneth L. McMillan,et al.  The SMV System , 1993 .