English
Related papers

Related papers: On Debugging the Performance of Configurable Softw…

200 papers

Due to increasingly complex software design and rapid iterative development, code defects and security vulnerabilities are prevalent in modern software. In response, programmers rely on static analysis tools to regularly scan their…

Software Engineering · Computer Science 2022-03-21 Anant Kharkar , Roshanak Zilouchian Moghaddam , Matthew Jin , Xiaoyu Liu , Xin Shi , Colin Clement , Neel Sundaresan

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

A gradual type system allows developers to declare certain types to be enforced by the compiler (i.e., statically typed), while leaving other types to be enforced via runtime checks (i.e., dynamically typed). When runtime checks fail,…

Programming Languages · Computer Science 2025-03-03 Felipe Bañados Schwerter , Ronald Garcia , Reid Holmes , Karim Ali

This paper introduces a Theory of Troubleshooting that is rooted in cognitive science. This theory helps software developers explain the challenges they face and the project risks that emerge as troubleshooting becomes difficult. We define…

Software Engineering · Computer Science 2026-02-18 Arty Starr , Margaret-Anne Storey

Debugging is arguably among the most difficult and extremely time consuming tasks of the software development life cycle. Therefore, it comes as no surprise that researchers have invested a considerable amount of effort in developing…

Software Engineering · Computer Science 2022-12-05 Rui Abreu

Code debugging is a vital stage of software development, essential for ensuring the reliability and performance of Large Language Models (LLMs) in the code generation task. Human debugging typically follows a multi-stage process, which…

Software Engineering · Computer Science 2025-02-13 Weiqing Yang , Hanbin Wang , Zhenghao Liu , Xinze Li , Yukun Yan , Shuo Wang , Yu Gu , Minghe Yu , Zhiyuan Liu , Ge Yu

Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is…

Machine Learning · Computer Science 2021-11-17 Miltiadis Allamanis , Henry Jackson-Flux , Marc Brockschmidt

Finding the optimally performing configuration of a software system for a given setting is often challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, building…

Software Engineering · Computer Science 2017-09-12 Vivek Nair , Tim Menzies , Norbert Siegmund , Sven Apel

Software debugging has been shown to utilize upwards of half of developers' time. Yet, machine programming (MP), the field concerned with the automation of software (and hardware) development, has recently made strides in both research and…

Software Engineering · Computer Science 2021-05-18 Niranjan Hasabnis , Justin Gottschlich

The ability to understand how a scientific application is executed on a large HPC system is of great importance in allocating resources within the HPC data center. In this paper, we describe how we used system performance data to identify:…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-09-15 David Brayford , Christoph Bernau , Wolfram Hesse , Carla Guillen

Integrating the design and creation of fault identification and diagnostic capabilities into Model-Driven Development methodologies is one approach to enhancing the resilience of Industrial Cyber-Physical Systems. We present a Fault…

Software Engineering · Computer Science 2021-05-11 Barry Dowdeswell , Roopak Sinha , Stephen G. MacDonell

Context: Internet of Things (IoT) has become an important kind of distributed systems thanks to the wide-spread of cheap embedded devices equipped with different networking technologies. Although ubiquitous, developing IoT systems remains…

Programming Languages · Computer Science 2022-11-04 Carlos Rojas Castillo , Matteo Marra , Jim Bauwens , Elisa Gonzalez Boix

There is a growing need for computational tools to automatically design and verify autonomous systems, especially complex robotic systems involving perception, planning, control, and hardware in the autonomy stack. Differentiable…

Robotics · Computer Science 2022-04-26 Charles Dawson , Chuchu Fan

Most software systems today do not support cognitive diversity. Further, because of differences in problem-solving styles that cluster by gender, software that poorly supports cognitive diversity can also embed gender biases. To help…

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

To evaluate how developers perform differently in solving programming tasks, i.e., which actions and behaviours are more beneficial to them than others and if there are any specific strategies and behaviours that may indicate good versus…

Software Engineering · Computer Science 2024-03-14 Martin Schröer , Rainer Koschke

Modern web dashboards and enterprise applications increasingly rely on complex, distributed microservices architectures. While these architectures offer scalability, they introduce significant challenges in debugging and observability. When…

Software Engineering · Computer Science 2026-02-18 Devendra Tata , Mona Rajhans

Many small-scale software systems, that is, with limited codebase or binary size, are widely used in everyday tasks, yet their configurability remains largely unexplored. At the same time, studies on modern software systems show a trend…

Software Engineering · Computer Science 2026-04-20 Xhevahire Tërnava , Georges Aaron Randrianaina , Luc Lesoil , Mathieu Acher

We introduce a simple microscopic description of software bug dynamics where users, programmers and a maintainer interact through a given program, with a particular emphasis on bug creation, detection and fixing. When the program is written…

Statistical Mechanics · Physics 2007-05-23 Damien Challet , Yann Le Du

Debugging distributed systems is hard. Most of the techniques that have been developed for debugging such systems use either extensive model checking, or postmortem analysis of logs and traces. Interactive debugging is typically a tool that…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-10 Rohan Achar , Pritha Dawn , Cristina V. Lopes