English
Related papers

Related papers: Automatic Coding Rule Conformance Checking Using L…

200 papers

While AI coding tools have demonstrated potential to accelerate software development, their use in scientific computing raises critical questions about code quality and scientific validity. In this paper, we provide ten practical rules for…

Software Engineering · Computer Science 2025-11-03 Eric W. Bridgeford , Iain Campbell , Zijao Chen , Zhicheng Lin , Harrison Ritz , Joachim Vandekerckhove , Russell A. Poldrack

Generating code from a natural language programming task is one of the most successful applications of Large Language Models (LLMs). Yet, the generated program may be buggy. Without an oracle, such as an existing, correct implementation or…

Programming Languages · Computer Science 2025-12-16 Thomas Valentin , Ardi Madadi , Gaetano Sapia , Marcel Böhme

Software developers and maintainers need to read and understand source programs and other software artifacts. The increase in size and complexity of software drastically affects several quality attributes, especially understandability and…

Software Engineering · Computer Science 2010-04-27 Mohd Nazir , Raees A. Khan , Khurram Mustafa

The development of safety-critical systems requires the control of hazards that can potentially cause harm. To this end, safety engineers rely during the development phase on architectural solutions, called safety patterns, such as safety…

Systems and Control · Electrical Eng. & Systems 2020-09-23 Yuri Gil Dantas , Antoaneta Kondeva , Vivek Nigam

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

Constraint programming is used for a variety of real-world optimisation problems, such as planning, scheduling and resource allocation problems. At the same time, one continuously gathers vast amounts of data about these problems. Current…

Usually, it is the software manufacturer who employs verification or testing to ensure that the software embedded in a device meets its main objectives. However, these days we are confronted with the situation that economical or…

Logic in Computer Science · Computer Science 2017-02-16 Pedro R. D'Argenio , Gilles Barthe , Sebastian Biewer , Bernd Finkbeiner , Holger Hermanns

Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the…

Software Engineering · Computer Science 2017-01-17 Ping Cao , Zhao Dong , Ke Liu , Kai-Yuan Cai

Requirements and code, in conventional software engineering wisdom, belong to entirely different worlds. Is it possible to unify these two worlds? A unified framework could help make software easier to change and reuse. To explore the…

Software Engineering · Computer Science 2016-02-18 Alexandr Naumchev , Bertrand Meyer , Victor Rivera

Current approaches to making programming languages and reasoning assistants more effective for people focus on leveraging feedback from users and on evaluating the success of particular techniques. These approaches, although helpful, may…

Programming Languages · Computer Science 2021-10-26 Michael Coblenz

Given the complexity of modern software systems, it is of great importance that such systems be able to autonomously modify themselves, i.e., self-adapt, with minimal human supervision. It is critical that this adaptation both results in…

Software Engineering · Computer Science 2022-05-13 Todd Wareham , Ronald de Haan

Probabilistic logic programs are logic programs where some facts hold with a specified probability. Here, we investigate these programs with a causal framework that allows counterfactual queries. Learning the program structure from…

Logic in Computer Science · Computer Science 2023-08-31 Kilian Rückschloß , Felix Weitkämper

With the recent advancement of Large Language Models (LLMs), generating functionally correct code has become less complicated for a wide array of developers. While using LLMs has sped up the functional development process, it poses a heavy…

Cryptography and Security · Computer Science 2024-02-01 Nafis Tanveer Islam , Mohammad Bahrami Karkevandi , Peyman Najafirad

What factors impact the comprehensibility of code? Previous research suggests that expectation-congruent programs should take less time to understand and be less prone to errors. We present an experiment in which participants with…

Software Engineering · Computer Science 2013-04-29 Michael Hansen , Robert L. Goldstone , Andrew Lumsdaine

Insecure default values in software settings can be exploited by attackers to compromise the system that runs the software. As a countermeasure, there exist security-configuration guides specifying in detail which values are secure.…

Software Engineering · Computer Science 2023-08-03 Patrick Stöckle , Michael Sammereier , Bernd Grobauer , Alexander Pretschner

Code review is one of the key processes in the software development lifecycle and is essential to maintain code quality. However, manual code review is subjective and time consuming. Given its rule-based nature, code review is well suited…

Software Engineering · Computer Science 2025-07-25 Busra Icoz , Goksel Biricik

We recommend a programming construct - availability check - for programs that need to automatically adjust to presence or absence of segments of code. The idea is to check the existence of a valid definition before a function call is…

Programming Languages · Computer Science 2007-05-23 Joy Mukherjee , Srinidhi Varadarajan

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu

Large language models (LLMs) are a promising venue for natural language understanding and generation tasks. However, current LLMs are far from reliable: they are prone to generate non-factual information and, more crucially, to contradict…

Machine Learning · Computer Science 2024-04-22 Diego Calanzone , Stefano Teso , Antonio Vergari

In programming education, it makes a difference whether you are dealing with beginners or advanced students. As our future students will become even more tech-savvy, it is necessary to assess programming skills appropriately and quickly to…

Software Engineering · Computer Science 2021-05-12 Max Kesselbacher , Andreas Bollin