English
Related papers

Related papers: Understanding GCC Builtins to Develop Better Tools

200 papers

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

The Computational Infrastructure for Geodynamics (CIG) is an NSF funded project that develops, supports, and disseminates community-accessible software for the geodynamics research community. CIG software supports a variety of computational…

Computational Engineering, Finance, and Science · Computer Science 2013-09-06 Eric M. Heien , Todd L. Miller , Becky Gietzel , Louise H. Kellogg

Program build information, such as compilers and libraries used, is vitally important in an auditing and benchmarking framework for HPC systems. We have developed a tool to automatically extract this information using signature-based…

Software Engineering · Computer Science 2013-02-08 Charng-Da Lu

For decades, the use of HPC systems was limited to those in the physical sciences who had mastered their domain in conjunction with a deep understanding of HPC architectures and algorithms. During these same decades, consumer computing…

Several advances in deep learning have been successfully applied to the software development process. Of recent interest is the use of neural language models to build tools, such as Copilot, that assist in writing code. In this paper we…

Software Engineering · Computer Science 2024-01-09 Owura Asare , Meiyappan Nagappan , N. Asokan

Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a…

Software Engineering · Computer Science 2017-12-05 Matúš Sulír , Jaroslav Porubän

Patch reviewing is critical for software development, especially in distributed open-source development, which highly depends on voluntary work, such as Linux. This paper studies the past 10 years of patch reviews of the Linux memory…

Software Engineering · Computer Science 2026-03-27 Chih-En Lin , Attreyee Mukherjee , Ajay Rawat , Ruqi Zhang , Pedro Fonseca

Refactoring is a common practice in software development, aimed at improving the internal code structure in order to make it easier to understand and modify. Consequently, it is often assumed that refactoring makes the code less prone to…

Software Engineering · Computer Science 2025-05-14 Isabella Ferreira , Lawrence Arkoh , Anderson Uchôa , Ana Carla Bibiano , Alessandro Garcia , Wesley K. G. Assunção

Bug fixing is a complex and time-consuming task in software development. Bug localization research tends to focus on the accuracy of automated tools that suggest source code files for developers to look at. However, little is known about…

Software Engineering · Computer Science 2026-05-07 Pablo Diaz Pedreira , Tamara Lopez , Michel Wermelinger

Despite extensive testing and correctness certification of their functional semantics, a number of compiler optimizations have been shown to violate security guarantees implemented in source code. While prior work has shed light on how such…

Cryptography and Security · Computer Science 2021-09-30 Michael D. Brown , Matthew Pruett , Robert Bigelow , Girish Mururu , Santosh Pande

The implementations of most hardened cryptographic libraries use defensive programming techniques for side-channel resistance. These techniques are usually specified as guidelines to developers on specific code patterns to use or avoid.…

Cryptography and Security · Computer Science 2025-09-03 Moritz Schneider , Daniele Lain , Ivan Puddu , Nicolas Dutly , Srdjan Capkun

Continuous Integration (CI) implies that a whole developer team works together on the mainline of a software project. CI systems automate the builds of a software. Sometimes a developer checks in code, which breaks the build. A broken build…

Software Engineering · Computer Science 2017-03-30 Klérisson V. R. Paixão , Crícia Z. Felício , Fernanda M. Delfim , Marcelo de A. Maia

Commit signing is a principal mechanism for verifying the origin of code in software supply chains. Security frameworks treat it as a core trust signal, assuming developers sign their commits consistently with keys they control and keep…

Software Engineering · Computer Science 2026-05-01 Abubakar Sadiq Shittu , John Sadik , Farzin Gholamrezae , Scott Ruoti

The increasing availability of Machine Learning (ML) models, particularly foundation models, enables their use across a range of downstream applications, from scenarios with missing data to safety-critical contexts. This, in principle, may…

Software Engineering · Computer Science 2026-04-01 Zohaib Arshid , Daniele Bifolco , Fiorella Zampetti , Massimiliano Di Penta

Given the increasing number of unsuccessful pull requests in GitHub projects, insights into the success and failure of these requests are essential for the developers. In this paper, we provide a comparative study between successful and…

Software Engineering · Computer Science 2018-07-06 Mohammad Masudur Rahman , Chanchal K. Roy

As collaborative coding environments make it easier to contribute to software projects, the number of developers involved in these projects keeps increasing. This increase makes it more difficult for code reviewers to deal with buggy…

Software Engineering · Computer Science 2020-04-08 Filipe Falcão , Caio Barbosa , Baldoino Fonseca , Alessandro Garcia , Márcio Ribeiro , Rohit Ghey

Open source software projects usually acknowledge contributions with text files, websites, and other idiosyncratic methods. These data sources are hard to mine, which is why contributorship is most frequently measured through changes to…

Software Engineering · Computer Science 2021-07-06 Jean-Gabriel Young , Amanda Casari , Katie McLaughlin , Milo Z. Trujillo , Laurent Hébert-Dufresne , James P. Bagrow

Teaching Computer Science (CS) students how to comprehend and maintain legacy code bases is a critical challenge in software engineering education. While Generative AI (GenAI) assistants like GitHub Copilot improve task completion speed and…

Software Engineering · Computer Science 2026-05-12 Yunhan Qiao , Md Istiak Hossain Shihab , Summit Haque , and Christopher Hundhausen

Microservices - combined with secure containers - facilitate new ways to build critical applications. These applications will benefit from many tools and services built for less critical software. The more stringent requirements of critical…

Cryptography and Security · Computer Science 2019-08-26 Christof Fetzer

Modern version control systems such as Git or SVN include bug tracking mechanisms, through which developers can highlight the presence of bugs through bug reports, i.e., textual descriptions reporting the problem and what are the steps that…

Software Engineering · Computer Science 2019-07-26 Gemma Catolino , Fabio Palomba , Andy Zaidman , Filomena Ferrucci