Combining Formal and Machine Learning Techniques for the Generation of JML Specifications
Producing maintainable programs is a big challenge for the software industry as it requires solid Engineering skills and efficient CASE tools. Often, industrial programs are of a very large size (more than 1M SLOC), use high-level programming languages to their full extent (e.g. C++20, Ada 2005 or Java 16), are provided with scarce and often outdated documentation partially written in natural language. Maintenance engineers are therefore in need to understand the application at hand starting from the material left behind by the developers. The European H2020 Project DECODER addresses this problem by proposing to combine Natural Language Processing techniques and Formal Methods to turn as best as possible code artifacts into formal data allowing to reduce the costs of the maintenance and thus the total costs of ownership. In this context, we will show how to generate JML annotations using a combination of 1) automatic generation of minimal predicates, 2) Natural Language Processing (NLP) based predicates generator, and 3) manual refinement and correction, to instrument and enhance code and documentation. We will illustrate it on code samples from the MyThaiStar application developed in-house with the CASE tool devonfw by CAP GEMINI, and the Joram JMS implementation from OW2 code base.
Slides of the paper presentation (presentation.pdf) | 3.0MiB |
Tue 13 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
16:50 - 18:50 | |||
16:50 30mTalk | IntelliJML: A JML plugin for IntelliJ IDEA FTfJP P: Steven Monteiro University of Twente, P: Erikas Sokolovas University of Twente, The Netherlands, P: Ellen Wittingen University of Twente, Tom van Dijk University of Twente, Marieke Huisman University of Twente File Attached | ||
17:20 30mTalk | Ensuring correct cryptographic algorithm and provider usage at compile time FTfJP P: Weitian Xing University of Waterloo, Yuanhui Cheng University of Waterloo, Werner Dietl University of Waterloo Media Attached | ||
17:50 30mTalk | Behavioural Separation with Parallel Usages FTfJP Iaroslav Golovanov Aalborg University, Hans Hüttel Department of Computer Science, Aalborg University, P: Mathias Steen Jakobsen Department of Computer Science, Aalborg University, Denmark, Mikkel Klinke Kettunen Department of Computer Science, Aalborg University, Denmark | ||
18:20 30mTalk | Combining Formal and Machine Learning Techniques for the Generation of JML Specifications FTfJP DOI File Attached | ||
18:50 30mTalk | JML and OpenJML for Java 16 FTfJP File Attached |