English
Related papers

Related papers: Why just FRET when you can Refactor? Retuning FRET…

200 papers

Like software, requirements evolve and change frequently during the development process. Refactoring is the process of reorganising software without changing its behaviour, to make it easier to understand and modify. We propose refactoring…

Software Engineering · Computer Science 2022-01-13 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

Structured natural languages provide a trade space between ambiguous natural languages that make up most written requirements and mathematical formal specifications such as Linear Temporal Logic. FRETish is a structured natural language for…

Programming Languages · Computer Science 2022-01-12 Esther Conrad , Laura Titolo , Dimitra Giannakopoulou , Thomas Pressburger , Aaron Dutle

[Context & motivation] Eliciting requirements that are detailed and logical enough to be amenable to formal verification is a difficult task. Multiple tools exist for requirements elicitation and some of these also support formalisation of…

Software Engineering · Computer Science 2025-06-18 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

Integrating autonomous and adaptive behavior into software-intensive systems presents significant challenges for software development, as uncertainties in the environment or decision-making processes must be explicitly captured. These…

Programming Languages · Computer Science 2025-12-19 Anastasia Mavridou , Marie Farrell , Gricel Vázquez , Tom Pressburger , Timothy E. Wang , Radu Calinescu , Michael Fisher

Formalisation is the process of writing system requirements in a formal language. These requirements mostly originate in Natural Language. In the field of Formal Methods, formalisation is often identified as one of the most delicate and…

Computation and Language · Computer Science 2026-05-12 Joost J. Joosten , Marina López Chamosa , Sofía Santiago Fernández

This paper gives an overview of previous work in which the authors used NASA's Formal Requirement Elicitation Tool (FRET) to formalise requirements. We discuss four case studies where we used FRET to capture the system's requirements. These…

Software Engineering · Computer Science 2025-04-01 Marie Farrell , Matt Luckcuck , Rosemary Monahan , Conor Reynolds , Oisín Sheridan

Verification of complex, safety-critical systems is a significant challenge. Manual testing and simulations are often used, but are only capable of exploring a subset of the system's reachable states. Formal methods are mathematically-based…

Software Engineering · Computer Science 2021-10-19 Matt Luckcuck , Marie Farrell , Oisín Sheridan , Rosemary Monahan

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth

In the development of safety and mission-critical systems, including autonomous space robotic missions, complex behaviour is captured during the requirements elicitation phase. Requirements are typically expressed using natural language…

Logic in Computer Science · Computer Science 2025-11-19 Mahdi Etumi , Hazel M. Taylor , Marie Farrell

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Early stages of system development involve outlining desired features such as functionality, availability, or usability. Specifications are derived from these features that concretize vague ideas presented in natural languages. The…

Software Engineering · Computer Science 2014-10-09 Rongjie Yan , Chih-Hong Cheng , Guangquan Zhang , Yesheng Chai

In the last decade it became a common practice to formalise software requirements to improve the clarity of users' expectations. In this work we build on the fact that functional requirements can be expressed in temporal logic and we…

Software Engineering · Computer Science 2015-10-12 Jiří Barnat , Petr Bauch , Nikola Beneš , Luboš Brim , Jan Beran , Tomáš Kratochvíla

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

Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of…

Logic in Computer Science · Computer Science 2023-05-30 Jorge Fandinno , Zachary Hansen , Yuliya Lierler , Vladimir Lifschitz , Nathan Temple

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

Software Engineering · Computer Science 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen

Verification of functional correctness of control programs is an essential task for the development of space electronics; it is difficult and time-consuming and typically outweighs design and programming tasks in terms of development hours.…

Programming Languages · Computer Science 2018-02-07 Andrey Mokhov , Georgy Lukyanov , Jakob Lechner

This paper is a brief introduction to our recently initiated project named VERIFAI: Traceability and verification of natural language requirements. The project addresses the challenges in the traceability and verification of formal…

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

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Software engineering practices such as constructing requirements and establishing traceability help ensure systems are safe, reliable, and maintainable. However, they can be resource-intensive and are frequently underutilized. To alleviate…

Software Engineering · Computer Science 2024-08-21 Katherine R. Dearstyne , Alberto D. Rodriguez , Jane Cleland-Huang

The Independent Configurable Architecture for Reliable Operations of Unmanned Systems (ICAROUS) is a software architecture incorporating a set of algorithms to enable autonomous operations of unmanned aircraft applications. This paper…

‹ Prev 1 2 3 10 Next ›