English
Related papers

Related papers: Semantic Guidance and Feedback for the Constructio…

200 papers

Existing techniques of Design by Contract do not allow software developers to specify complete contracts in many cases. Incomplete contracts leave room for malicious implementations. This article complements Design by Contract with a simple…

Software Engineering · Computer Science 2016-02-15 Alexandr Naumchev , Bertrand Meyer

Formal program specifications play a crucial role in various stages of software development. However, manually crafting formal program specifications is rather difficult, making the job time-consuming and labor-intensive. It is even more…

Software Engineering · Computer Science 2025-02-26 Lezhi Ma , Shangqing Liu , Yi Li , Xiaofei Xie , Lei Bu

Writing tests is a time-consuming yet essential task during software development. We propose to leverage recent advances in deep learning for text and code generation to assist developers in writing tests. We formalize the novel task of…

Software Engineering · Computer Science 2023-03-08 Pengyu Nie , Rahul Banerjee , Junyi Jessy Li , Raymond J. Mooney , Milos Gligoric

Designing a web-application from a specification involves a series of well-planned and well executed steps leading to the final product. This often involves critical changes in design while testing the application, which itself is slow and…

Software Engineering · Computer Science 2007-05-23 Joy Dutta , Paul Fodor

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may…

Programming Languages · Computer Science 2022-05-17 Colin S. Gordon , Sergey Matskevich

Code review is a standard practice for ensuring the quality of software projects, and recent research has focused extensively on automated code review. While significant advancements have been made in generating code reviews, the automated…

Software Engineering · Computer Science 2025-01-10 Yanjie Jiang , Hui Liu , Tianyi Chen , Fu Fan , Chunhao Dong , Kui Liu , Lu Zhang

Estimating the effort and quality of a system is a critical step at the beginning of every software project. It is necessary to have reliable ways of calculating these measures, and, it is even better when the calculation can be done as…

Software Engineering · Computer Science 2012-07-11 Andreas Bollin , Abdollah Tabareh

Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to…

Programming Languages · Computer Science 2025-02-27 Kartik Nagar , Prasita Mukherjee , Suresh Jagannathan

This paper proposes a technique to help choose the best formal specification candidate among a set of alternatives. Given a set of specifications, our technique generates a suite of test cases that, once classified by the user as desirable…

Software Engineering · Computer Science 2025-11-25 Alcino Cunha , Nuno Macedo

Analysis tools like abstract interpreters, symbolic execution tools and testing tools usually require a proper context to give useful results when analyzing a particular function. Such a context initializes the function parameters and…

Programming Languages · Computer Science 2017-09-15 Michele Alberti , Julien Signoles

This paper describes an approach for reusing specification patterns. Specification patterns are design patterns that are expressed in a formal specification language. Reusing a specification pattern means instantiating it or composing it…

Software Engineering · Computer Science 2016-08-16 Sandrine Blazy , Frédéric Gervais , Régine Laleau

We propose a model to automatically describe changes introduced in the source code of a program using natural language. Our method receives as input a set of code commits, which contains both the modifications and message introduced by an…

Computation and Language · Computer Science 2017-04-18 Pablo Loyola , Edison Marrese-Taylor , Yutaka Matsuo

Reviews contain rich information about product characteristics and user interests and thus are commonly used to boost recommender system performance. Specifically, previous work show that jointly learning to perform review generation…

Information Retrieval · Computer Science 2022-09-13 Zhouhang Xie , Julian McAuley , Bodhisattwa Prasad Majumder

Formal postconditions precisely characterize program behavior and support debugging, testing, and verification, but writing them requires substantial expertise and effort. This has motivated recent work on automatically generating…

Software Engineering · Computer Science 2026-05-06 Gehao Zhang , Juan Zhai

Program synthesis is the generation of a program from a specification. Correct synthesis is difficult, and methods that provide formal guarantees suffer from scalability issues. On the other hand, neural networks are able to generate…

Logic in Computer Science · Computer Science 2020-01-28 Elizabeth Polgreen , Ralph Abboud , Daniel Kroening

A specification theory combines notions of specifications and implementations with a satisfaction relation, a refinement relation and a set of operators supporting stepwise design. We develop a complete specification framework for real-time…

Formal Languages and Automata Theory · Computer Science 2023-07-14 Martijn A. Goorden , Kim G. Larsen , Axel Legay , Florian Lorber , Ulrik Nyman , Andrzej Wasowski

Use case scenarios are created during the analysis phase to specify software system requirements and can also be used for creating system level test cases. Using use cases to get system tests has several benefits including test design at…

Software Engineering · Computer Science 2012-12-14 Muhammad Touseef , Zahid Hussain Qaisar

Automatically generating formal specifications could reduce the effort needed to improve program correctness, but in practice, this is still challenging. Many developers avoid writing contracts by hand, which limits the use of automated…

Software Engineering · Computer Science 2026-04-21 Ragib Shahariar Ayon , Shibbir Ahmed

Using personalized explanations to support recommendations has been shown to increase trust and perceived quality. However, to actually obtain better recommendations, there needs to be a means for users to modify the recommendation criteria…

Computation and Language · Computer Science 2022-01-13 Diego Antognini , Claudiu Musat , Boi Faltings

To improve the quality of programs we provide an approach to guidance in the process of program development. At the higher level the various activities and their dependencies to structure the process are identified. At the lower level,…

Software Engineering · Computer Science 2024-11-21 Harrie Passier , Lex Bijlsma , Ruurd Kuiper , Kees Huizing