English
Related papers

Related papers: Adoption and Evolution of Code Style and Best Prog…

200 papers

Open-source libraries are widely used by software developers to speed up the development of products, however, they can introduce security vulnerabilities, leading to incidents like Log4Shell. With the expanding usage of open-source…

[Background] In large open-source software projects, development knowledge is often fragmented across multiple artefacts and contributors such that individual stakeholders are generally unaware of the full breadth of the product features.…

Software Engineering · Computer Science 2024-08-05 Tim Puhlfürß , Lloyd Montgomery , Walid Maalej

Existing software tools enable characterizing and measuring the amount of technical debt at selective granularity levels. In this paper we aim to study the evolution and characteristics of technical debt in open-source software. We carry…

Software Engineering · Computer Science 2020-07-28 Arthur-Jozsef Molnar , Simona Motogna

Developers frequently reuse Stack Overflow code snippets, yet the quality of these snippets remains unevenly understood, particularly across programming languages and geographic contexts. This study investigates code quality in Stack…

Software Engineering · Computer Science 2026-05-06 Elijah Zolduoarrati , Sherlock A. Licorish , Nigel Stanger

Software developers often look for solutions to their code-level problems using the Stack Overflow Q&A website. To receive help, developers frequently submit questions containing sample code segments and the description of the programming…

Software Engineering · Computer Science 2021-12-28 Saikat Mondal , Mohammad Masudur Rahman , Chanchal K. Roy , Kevin Schneider

Software systems are designed according to guidelines and constraints defined by business rules. Some of these constraints define the allowable or required values for data handled by the systems. These data constraints usually originate…

Software Engineering · Computer Science 2021-07-13 Juan Manuel Florez , Laura Moreno , Zenong Zhang , Shiyi Wei , Andrian Marcus

Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking…

Software Engineering · Computer Science 2018-08-09 Aline Brito , Laerte Xavier , Andre Hora , Marco Tulio Valente

As one of the most well-known programmer Q&A websites, Stack Overflow (i.e., SO) is serving tens of thousands of developers every day. Previous work has shown that many developers reuse the code snippets on SO when they find an answer (from…

Software Engineering · Computer Science 2022-04-28 Yuan Huang , Furen Xu , Haojie Zhou , Xiangping Chen , Xiaocong Zhou , Tong Wang

Code analyzers such as Error Prone and FindBugs detect code patterns symptomatic of bugs, performance issues, or bad style. These tools express patterns as quick fixes that detect and rewrite unwanted code. However, it is difficult to come…

Software Engineering · Computer Science 2018-09-11 Reudismam Rolim , Gustavo Soares , Rohit Gheyi , Titus Barik , Loris D'Antoni

Understanding the practice of refactoring documentation is of paramount importance in academia and industry. Issue tracking systems are used by most software projects enabling developers, quality assurance, managers, and users to submit…

Software Engineering · Computer Science 2022-03-22 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

Context: Downloading the source code of open-source Java projects and building them on a local computer using Maven, Gradle, or Ant is a common activity performed by researchers and practitioners. Multiple studies so far found that about…

Software Engineering · Computer Science 2024-08-22 Matúš Sulír , Jaroslav Porubän , Sergej Chodarev

In this work, we developed an algorithm for detecting code quality issues in the templates of online programming tasks, validated it, and conducted an empirical study on the dataset of student solutions. The algorithm consists of analyzing…

Software Engineering · Computer Science 2023-04-26 Anastasiia Birillo , Elizaveta Artser , Yaroslav Golubev , Maria Tigina , Hieke Keuning , Nikolay Vyahhi , Timofey Bryksin

There are possible benefits and drawbacks to chaining methods together, as is often done in fluent APIs. A prior study investigated how Java developers chain methods in over 2.7k open-source projects. That study observed, for the dataset…

Software Engineering · Computer Science 2023-03-21 Ali M. Keshk , Robert Dyer

Every programmer has a characteristic style, ranging from preferences about identifier naming to preferences about object relationships and design patterns. Coding conventions define a consistent syntactic style, fostering readability and…

Software Engineering · Computer Science 2016-11-09 Miltiadis Allamanis , Earl T. Barr , Christian Bird , Charles Sutton

Code metrics have been widely used to estimate software maintenance effort. Metrics have generally been used to guide developer effort to reduce or avoid future maintenance burdens. Size is the simplest and most widely deployed metric. The…

Software Engineering · Computer Science 2022-05-05 Shaiful Alam Chowdhury , Gias Uddin , Reid Holmes

Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining…

Software Engineering · Computer Science 2025-02-07 Eman Abdullah AlOmar

This paper describes the results of a large (+1100 responses) survey of professional software developers concerning standards for naming source code methods. The various standards for source code method names are derived from and supported…

Software Engineering · Computer Science 2021-03-01 Reem S. AlSuhaibani , Christian D. Newman , Michael J. Decker , Michael L. Collard , Jonathan I. Maletic

Source code repositories allow developers to manage multiple versions (or branches) of a software system. Pull-requests are used to modify a branch, and backporting is a regular activity used to port changes from a current development…

Software Engineering · Computer Science 2022-04-11 Debasish Chakroborti , Kevin A. Schneider , Chanchal K. Roy

Modern programming languages (e.g., Java and C#) provide features to separate error-handling code from regular code, seeking to enhance software comprehensibility and maintainability. Nevertheless, the way exception handling (EH) code is…

Software Engineering · Computer Science 2021-05-04 Luan P. Lima , Lincoln S. Rocha , Carla I. M. Bezerra , Matheus Paixao

Test case maintainability is an important concern, especially in open source and distributed development environments where projects typically have high contributor turnover with varying backgrounds and experience, and where code ownership…

Software Engineering · Computer Science 2019-10-01 Danielle Gonzalez , Joanna C. S. Santos , Andrew Popovich , Mehdi Mirakhorli , Mei Nagappan