English
Related papers

Related papers: Towards Refactoring FRETish Requirements

200 papers

Most existing automated requirements formalisation techniques require system engineers to (re)write their requirements using a set of predefined requirement templates with a fixed structure and known semantics to simplify the formalisation…

Software Engineering · Computer Science 2020-10-01 Aya Zaki-Ismail , Mohamed Osama , Mohamed Abdelrazek , John Grundy , Amani Ibrahim

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Refactorings are structured changes to existing software that leave its externally observable behaviour unchanged. Their intent is to improve readability, performance or other non-behavioural properties. State-of-the-art automatic…

Programming Languages · Computer Science 2017-12-21 Cristina David , Pascal Kesseli , Daniel Kroening

It is widely accepted that understanding system requirements is important for software development project success. However, this paper presents two novel challenges to the requirements concept. First, where many plausible approaches to…

Software Engineering · Computer Science 2022-03-30 Paul Ralph

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

Reconfiguration is an important activity for companies selling configurable products or services which have a long life time. However, identification of a set of required changes in a legacy configuration is a hard problem, since even small…

Artificial Intelligence · Computer Science 2011-09-02 Gerhard Friedrich , Anna Ryabokon , Andreas A. Falkner , Alois Haselböck , Gottfried Schenner , Herwig Schreiner

Legacy systems concentrate business rules, architectural decisions, and operational exceptions that often remain implicit in code, data, configuration, and maintenance practices. At the same time, language-model-based coding agents depend…

Software Engineering · Computer Science 2026-05-19 Sanderson Oliveira de Macedo , Ronaldo Martins da Costa

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

Diversity is prevalent in modern software systems. Several system variants exist at the same time in order to adapt to changing user requirements. Additionally, software systems evolve over time in order to adjust to unanticipated changes…

Software Engineering · Computer Science 2014-09-09 Arne Haber , Holger Renel , Bernhard Rumpe , Ina Schaefer

The growing complexity of software systems and the influence of software-supported decisions in our society awoke the need for software that is transparent, accountable, and trustworthy. Explainability has been identified as a means to…

Software Engineering · Computer Science 2021-08-09 Larissa Chazette , Wasja Brunotte , Timo Speith

The aim of the FESCA workshop is to bring together junior researchers from formal methods, software engineering, and industry interested in the development and application of formal modelling approaches as well as associated analysis and…

Software Engineering · Computer Science 2016-03-29 Jana Kofroň , Jana Tumova , Bara Buhnova

AI coding assistants are reshaping software development by shifting focus from writing code to formulating prompts. In chat-focused approaches such as vibe coding, prompts become the primary arbiter between human intent and executable…

Software Engineering · Computer Science 2026-03-18 Shalini Chakraborty , Jan-Philipp Steghöfer

Prototyping is an effective and efficient way of requirement validation to avoid introducing errors in the early stage of software development. However, manually developing a prototype of a software system requires additional efforts, which…

Software Engineering · Computer Science 2019-08-12 Yilong Yang , Xiaoshan Li , Zhiming Liu , Wei Ke , Quan Zu , Xiaohong Chen

A strong certification process is required to insure the safety of airplanes, and more specifically the robustness of avionics applications. To implement this process, the development of avionics software must follow long and costly…

Software Engineering · Computer Science 2017-11-07 Martin Rayrole , David Faura , Marc Gatti

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

Programming Languages · Computer Science 2020-07-08 David Plaisted , Lee Barnett

Requirements Engineering (RE) is a critical phase in software development including the elicitation, analysis, specification, and validation of software requirements. Despite the importance of RE, it remains a challenging process due to the…

Software Engineering · Computer Science 2023-11-02 Chetan Arora , John Grundy , Mohamed Abdelrazek

In this paper an analysis of a technical support data with the goal of identifying process improvement actions for reducing interrupts is presented. A technical support chat is established and used to provide internal developer support to…

Social and Information Networks · Computer Science 2015-10-19 Zádor Dániel Kelemen , Balázs Tódor , Sándor Hodosi , Ákos Somfai

One of the common problems of system development projects is that the system documentation is often outdated and does not describe the latest version of the system. The situation is even more complicated if we are speaking not about a…

Software Engineering · Computer Science 2014-04-30 Maria Spichkova , Xiuna Zhu , Dongyue Mou

The validation of requirements is a fundamental step in the development process of safety-critical systems. In safety critical applications such as aerospace, avionics and railways, the use of formal methods is of paramount importance both…

Software Engineering · Computer Science 2012-06-28 Alessandro Cimatti , Marco Roveri , Angelo Susi , Stefano Tonetta

Many programs that interact with a database need to undergo schema refactoring several times during their life cycle. Since this process typically requires making significant changes to the program's implementation, schema refactoring is…

Programming Languages · Computer Science 2019-04-12 Yuepeng Wang , James Dong , Rushi Shah , Isil Dillig