English
Related papers

Related papers: Using Formal Specifications to Support Model Based…

200 papers

Formal Methods (FMs) are currently essential for verifying the safety and reliability of software systems. However, the specification writing in formal methods tends to be complex and challenging to learn, requiring familiarity with various…

Software Engineering · Computer Science 2024-04-30 Jianyu Zhang , Long Zhang , Yixuan Wu , Feng Yang

Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with…

Software Engineering · Computer Science 2015-08-20 Carlo A. Furia , Christopher M. Poskitt , Julian Tschannen

Formal verification and testing are complementary approaches which are used in the development process to verify the functional correctness of software. However, the correctness of software cannot ensure the safe operation of…

Software Engineering · Computer Science 2016-12-12 Asim Abdulkhaleq , Stefan Wagner , Nancy Leveson

This paper presents CREST, a prototype front-end tool intended as an add-on to commercial EDA formal verifcation environments. CREST is an adaptation of the CBMC bounded model checker for C, an academic tool widely used in industry for…

Programming Languages · Computer Science 2019-08-06 Andreas Tiemeyer , Tom Melham , Daniel Kroening , John O'Leary

A classical problem in Software Engineering is how to certify that every system requirement is correctly implemented by source code. This problem, albeit well studied, can still be considered an open one, given the problems faced by…

Software Engineering · Computer Science 2010-11-11 Rogerio Atem de Carvalho , Rodrigo Soares Manhaes , Fernando Luiz de Carvalho e Silva

Component-based software development (CBSD) is an alternative approach to constructing software systems that offers numerous benefits, particularly in decreasing the complexity of system design. However, deploying components into a system…

Software Engineering · Computer Science 2021-05-28 Faranak Nejati , Abdul Azim Abd. Ghani , Ng Keng Yap , Azmi Jaafar

In this paper, we study the problem of formal verification for Answer Set Programming (ASP), namely, obtaining a formal proof showing that the answer sets of a given (non-ground) logic program P correctly correspond to the solutions to the…

Logic in Computer Science · Computer Science 2020-09-23 Pedro Cabalar , Jorge Fandinno , Yuliya Lierler

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

The success of a number of projects has been shown to be significantly improved by the use of a formalism. However, there remains an open issue: to what extent can a development process based on a singular formal notation and method…

Software Engineering · Computer Science 2013-11-26 Rainer Gmehlich , Katrin Grau , Alexei Iliasov , Michael Jackson , Felix Loesch , Manuel Mazzara

Microservice systems are becoming increasingly adopted due to their scalability, decentralized development, and support for continuous integration and delivery (CI/CD). However, this decentralized development by separate teams and…

Software Engineering · Computer Science 2025-12-01 Connor Wojtak , Darek Gajewski , Tomas Cerny

Tool-assisted analysis of software systems and convenient guides to practise the formal methods are still motivating challenges. This article addresses these challenges. We ex periment on analysing a formal specification from multiple…

Software Engineering · Computer Science 2016-11-25 Christian Attiogbe

Formal verification provides a rigorous and systematic approach to ensure the correctness and reliability of software systems. Yet, constructing specifications for the full proof relies on domain expertise and non-trivial manpower. In view…

Software Engineering · Computer Science 2024-04-03 Cheng Wen , Jialun Cao , Jie Su , Zhiwu Xu , Shengchao Qin , Mengda He , Haokun Li , Shing-Chi Cheung , Cong Tian

Software correctness is ensured mathematically through formal verification, which involves the resources of generating formal requirement specifications and having an implementation that must be verified. Tools such as model-checkers and…

Software Engineering · Computer Science 2025-08-29 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Model-Based Systems Engineering (MBSE) is a development approach aiming to build correct-by-construction systems, provided the use of clear, unambiguous and complete models to describe them along the design process. The approach is…

Software Engineering · Computer Science 2021-11-22 I Dragomir , M Bozga , Iulian Ober , D Silveira , T Jorge , E Alaña , M Perrotin

The technology of formal software verification has made spectacular advances, but how much does it actually benefit the development of practical software? Considerable disagreement remains about the practicality of building systems with…

Software Engineering · Computer Science 2026-01-21 Li Huang , Sophie Ebersold , Alexander Kogtenkov , Bertrand Meyer , Yinling Liu

Deployment of network/distributed systems sets high requirements for procedures, tools and approaches for the complex testing of these systems. This work provides a survey of testing activities with regard to these systems based on…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-04-28 Andrey A. Shchurov , Radek Marik , Vladimir A. Khlevnoy

This work presents a model-based development methodology for verified software systems as well as a tool support for it: an applied AutoFocus tool chain and its basic principles emphasizing the verification of the system under development…

Software Engineering · Computer Science 2012-07-11 Maria Spichkova , Florian Hölzl , David Trachtenherz

Program analysis is on the brink of mainstream in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated…

Software Engineering · Computer Science 2014-09-23 Peter Schrammel , Daniel Kroening , Martin Brain , Ruben Martins , Tino Teige , Tom Bienmüller

Complex systems typically have many different parts and facets, with different characteristics. In a multi-paradigm approach to modeling, formalisms with different natures are used in combination to describe complementary parts and aspects…

Logic in Computer Science · Computer Science 2013-08-14 Marcello M. Bersani , Carlo A. Furia , Matteo Pradella , Matteo Rossi

Utilizing third party software components in the development of new systems became somewhat unfavourable approach among many organizations nowadays. This reluctance is primarily built due to the lack of support to verify the quality…

Software Engineering · Computer Science 2012-10-16 Basem Y. Alkazemi