中文
相关论文

相关论文: Renaming Global Variables in C Mechanically Proved…

200 篇论文

Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the satisfiability of sets of ground literals in theory T. If a sound and complete inference system for…

人工智能 · 计算机科学 2015-02-11 Alessandro Armando , Maria Paola Bonacina , Silvio Ranise , Stephan Schulz

Consistency is one of the keys to maintainable source code and hence a successful software project. We propose a novel method of extracting the intent of programmers from source code of a large project (~300kLOC) and checking the semantic…

软件工程 · 计算机科学 2022-03-21 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

Unknowingly, identifiers in the source code of a software system play a vital role in determining the quality of the system. Ambiguous and confusing identifier names lead developers to not only misunderstand the behavior of the code but…

软件工程 · 计算机科学 2021-03-26 Anthony Peruma

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

编程语言 · 计算机科学 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

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…

软件工程 · 计算机科学 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen

Software systems are evolving by adding new functions and modifying existing functions over time. Through the evolution, the structure of software is becoming more complex and so the understandability and maintainability of software systems…

软件工程 · 计算机科学 2014-08-22 Ginika Mahajan , Ashima

Catalogs of refactoring have key importance in software maintenance and evolution, since developers rely on such documents to understand and perform refactoring operations. Furthermore, these catalogs constitute a reference guide for…

软件工程 · 计算机科学 2022-11-17 Aline Brito , Andre Hora , Marco Tulio Valente

Refactoring is the art of improving the design of a system without altering its external behavior. Refactoring has become a well established and disciplined software engineering practice that has attracted a significant amount of research…

We present a novel and well automatable approach to formal verification of C programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

编程语言 · 计算机科学 2022-08-10 Eduard Kamburjan , Nathan Wasser

We show that global constraints on finite domains like all-different can be reformulated into answer set programs on which we achieve arc, bound or range consistency. These reformulations offer a number of other advantages beyond providing…

计算机科学中的逻辑 · 计算机科学 2010-08-31 Christian Drescher , Toby Walsh

Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers…

Verified compilers aim to guarantee that compilation preserves the observable behavior of source programs. While small-step semantics are widely used in such compilers, they are not always the most convenient framework for structural…

编程语言 · 计算机科学 2026-02-24 David Knothe , Oliver Bringmann

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how…

软件工程 · 计算机科学 2021-11-16 Eman Abdullah AlOmar , Tianjia Wang , Vaibhavi Raut , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle…

计算机科学中的逻辑 · 计算机科学 2025-09-01 Carsten Fuhs , Cynthia Kop , Naoki Nishida

Detecting refactorings in commit history is essential to improve the comprehension of code changes in code reviews and to provide valuable information for empirical studies on software evolution. Several techniques have been proposed to…

软件工程 · 计算机科学 2022-12-06 Lei Chen , Shinpei Hayashi

Refactoring is an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas…

软件工程 · 计算机科学 2007-05-23 Tom Schrijvers , Alexander Serebrenik

We focus on control constructs that allow programmers define actions to be performed when respective conditions are met without requiring the explicit evaluation and testing of conditions as part of an imperative algorithm. Such elements…

编程语言 · 计算机科学 2021-03-08 Anthony Savidis

Many automatic theorem-provers rely on rewriting. Using theorems as rewrite rules helps to simplify the subgoals that arise during a proof. LCF is an interactive theorem-prover intended for reasoning about computation. Its implementation of…

计算机科学中的逻辑 · 计算机科学 2016-08-31 Lawrence C. Paulson

Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually…

Code changes are an integral part of the software development process. Many code changes are meant to improve the code without changing its functional behavior, e.g., refactorings and performance improvements. Unfortunately, validating…

软件工程 · 计算机科学 2025-02-25 Lars Gröninger , Beatriz Souza , Michael Pradel