English
Related papers

Related papers: Do we really need to write documentation for a sys…

200 papers

Documenting the functionality of software units with code comments, e.g., Javadoc comments, is a common programmer best-practice in software engineering. This paper introduces a novel test generation technique that exploits the code-comment…

Software Engineering · Computer Science 2025-05-01 Giovanni Denaro , Luca Guglielmo

The substitution of a system with another one may occur in several situations like system adaptation, system failure management, system resilience, system reconfiguration, etc. It consists in replacing a running system by another one when…

Software Engineering · Computer Science 2014-05-09 Guillaume Babin

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

An essential characteristic of mature software and system development organizations is the definition and use of explicit process models. For a number of reasons, it can be valuable to produce new process models by tailoring existing…

Software Engineering · Computer Science 2014-01-21 Martín Soto , Jürgen Münch

Recent neural models have shown significant progress on the problem of generating short descriptive texts conditioned on a small number of database records. In this work, we suggest a slightly more difficult data-to-text generation task,…

Computation and Language · Computer Science 2017-07-26 Sam Wiseman , Stuart M. Shieber , Alexander M. Rush

As the complexity and heterogeneity of a system grows, the challenge of specifying, documenting and synthesizing correct, machine-readable designs increases dramatically. Separation of the system into manageable parts is needed to support…

Software Engineering · Computer Science 2021-06-25 John D. Foley , Spencer Breiner , Eswaran Subrahmanian , John M. Dusel

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

Programming Languages · Computer Science 2020-10-16 Ranjit Jhala , Niki Vazou

Modern software systems are becoming increasingly complex and opaque. The integration of explanations within software has shown the potential to address this opacity and can make the system more understandable to end-users. As a result,…

Software Engineering · Computer Science 2024-04-26 Jakob Droste , Hannah Deters , Martin Obaidi , Kurt Schneider

One of the most challenging tasks in specification engineering for a multi-agent robotic system is to formally specify and architect the system, especially as a multi-agent robotic system is concurrent having concurrent processing, and…

Software Engineering · Computer Science 2015-01-22 Nadeem Akhtar , Yann Le Guyadec , Flavio Oquendo

This paper surveys the current state of the art in document automation (DA). The objective of DA is to reduce the manual effort during the generation of documents by automatically creating and integrating input from different sources and…

Computation and Language · Computer Science 2023-08-21 Mohammad Ahmadi Achachlouei , Omkar Patil , Tarun Joshi , Vijayan N. Nair

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

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 2023-10-09 Colin S. Gordon , Sergey Matskevich

Sequence generation applications require satisfying semantic constraints, such as ensuring that programs are correct, using certain keywords, or avoiding undesirable content. Language models, whether fine-tuned or prompted with few-shot…

Computation and Language · Computer Science 2022-11-02 Sean Welleck , Ximing Lu , Peter West , Faeze Brahman , Tianxiao Shen , Daniel Khashabi , Yejin Choi

Creating linguistic annotations requires more than just a reliable annotation scheme. Annotation can be a complex endeavour potentially involving many people, stages, and tools. This chapter outlines the process of creating end-to-end…

Computation and Language · Computer Science 2016-02-19 Mark A. Finlayson , Tomaž Erjavec

Text documents, including programs, typically have human-readable semantic structure. Historically, programmatic access to these semantics has required explicit in-document tagging. Especially in systems where the text has an execution…

Computation and Language · Computer Science 2024-03-07 Edward Misback , Zachary Tatlock , Steven L. Tanimoto

Over the last couple of decades, there has been a considerable effort devoted to the problem of updating logic programs under the stable model semantics (a.k.a. answer-set programs) or, in other words, the problem of characterising the…

Artificial Intelligence · Computer Science 2022-02-22 João Leite , Martin Slota

The increasing complexity of software engineering requires effective methods and tools to support requirements analysts' activities. While much of a company's knowledge can be found in text repositories, current content management systems…

Software Engineering · Computer Science 2011-07-19 Soumaya Amdouni , Wahiba Ben Abdessalem Karaa , Sondes Bouabid

Source code summarization is a process of generating summaries that describe software code, the majority of source code summarization usually generated manually, where the summaries are written by software developers. Recently, new…

Software Engineering · Computer Science 2019-01-07 Ra'Fat Al-Msie'deen , Anas H. Blasi

Software developers maintain extensive mental models of code they produce and its context, often relying on memory to retrieve or reconstruct design decisions, edge cases, and debugging experiences. These missing links and data obstruct…

Software Engineering · Computer Science 2025-04-29 Edward Misback , Erik Vank , Zachary Tatlock , Steven Tanimoto

Software modernization is an inherent activity of software engineering, as technology advances and systems inevitably become outdated. The term "software modernization" emerged as a research topic in the early 2000s, with a differentiation…

Software Engineering · Computer Science 2024-07-08 Wesley K. G. Assunção , Luciano Marchezan , Alexander Egyed , Rudolf Ramler