The software industry has a long-standing and well-earned reputation for failing to deliver high-quality software. Much progress has been achieved from the early days of software development; still, nowadays, even considering the state of the art of the technologies used, the success of software projects is often not guaranteed. Many of the approaches used for developing large, complex software systems are still not able to ensure the correct behavior --- and the general quality --- of the delivered product, despite the efforts of the (often very qualified and skilled) software engineers involved. This is where formal methods can play a significant role. Indeed, they have been developed to provide the means for greater precision and thoroughness in modeling, reasoning about, validating, and documenting the various aspects of software systems during their development. When carefully applied, formal methods can aid all aspects of software creation: user requirement formulation, design, implementation, verification/testing, and the creation of documentation.
After decades of research though, and despite significant advancement, formal methods are still not widely used in industrial software development. We believe that a closer integration of formal methods in software engineering can help increase the quality of software applications, and at the same time highlight the benefits of formal methods in terms also of the generated return on investment (ROI).
The main objective of the conference is to foster the integration between the formal methods and the software engineering communities, to strengthen the --- still too weak --- links between them, and to stimulate researchers to share ideas, techniques, and results, with the ultimate goal to propose novel solutions to the fraught problem of improving the quality of software systems.
Originally a successful satellite workshop of ICSE, since 2018 FormaliSE is organised as a conference co-located with ICSE.
Areas of interest include but are not limited to:
- approaches and tools for verification and validation;
- application of formal methods to specific domains, e.g., autonomous, cyber-physical, intelligent, and IoT systems;
- scalability of formal methods applications;
- integration of formal methods within the software development lifecycle (e.g., change management, continuous integration and deployment);
- requirements formalization and formal specification;
- model-based software engineering approaches;
- performance analysis based on formal approaches;
- formal methods in a certification context;
- formal approaches for safety and security-related issues;
- usability of formal methods;
- guidelines to use formal methods in practice;
- case studies developed/analyzed with formal approaches;
- experience reports on the application of formal methods to real-world problems.