English
Related papers

Related papers: Method Chaining Redux: An Empirical Study of Metho…

200 papers

The increasing complexity of software supply chains and the rise of supply chain attacks have elevated concerns around software integrity. Users and stakeholders face significant challenges in validating that a given software artifact…

Software Engineering · Computer Science 2025-11-12 Aman Sharma , Benoit Baudry , Martin Monperrus

The highly parallel workflows of modern software development have made merging of source code a common activity for developers. The state of the practice is based on line-based merge, which is ubiquitously used with "git merge". Line-based…

Software Engineering · Computer Science 2022-02-21 Simon Larsén , Jean-Rémy Falleri , Benoit Baudry , Martin Monperrus

In the early 1980s, Open Source Software emerged as a revolutionary concept amidst the dominance of proprietary software. What began as a revolutionary idea has now become the cornerstone of computer science. Amidst OSS projects, AI is…

Software Engineering · Computer Science 2026-02-23 Matteo Esposito , Andrea Janes , Valentina Lenarduzzi , Davide Taibi

Background. Test resources are usually limited and therefore it is often not possible to completely test an application before a release. To cope with the problem of scarce resources, development teams can apply defect prediction to…

Software Engineering · Computer Science 2019-04-17 Rainer Niedermayr , Tobias Röhm , Stefan Wagner

Flaky tests pose a significant issue for software testing. A test with a non-deterministic outcome may undermine the reliability of the testing process, making tests untrustworthy. Previous research has identified test order dependency as…

Software Engineering · Computer Science 2025-01-23 Negar Hashemi , Amjed Tahir , Shawn Rasheed , August Shi , Rachel Blagojevic

Software developers use Application Programming Interfaces (APIs) of libraries and frameworks extensively while writing programs. In this context, the recommendations provided in code completion pop-ups help developers choose the desired…

Software Engineering · Computer Science 2016-09-01 Andrea Renika D'Souza , Di Yang , Cristina V. Lopes

Logging is a development practice that plays an important role in the operations and monitoring of complex systems. Developers place log statements in the source code and use log data to understand how the system behaves in production.…

Software Engineering · Computer Science 2021-03-11 Jeanderson Cândido , Jan Haesen , Maurício Aniche , Arie van Deursen

Context: In the context of exploring the art, science and engineering of programming, the question of which programming languages should be taught first has been fiercely debated since computer science teaching started in universities.…

Computers and Society · Computer Science 2017-04-04 Ellen Murphy , Tom Crick , James H. Davenport

Test Amplification is a method to extend handwritten tests into a more rigorous test suite covering corner cases in the system under test. Unfortunately, the current state-of-the-art for test amplification heavily relies on program analysis…

Software Engineering · Computer Science 2021-12-22 Ebert Schoofs , Mehrdad Abdi , Serge Demeyer

Test Impact Analysis is an approach to obtain a subset of tests impacted by code changes. This approach is mainly applied to unit testing where the link between the code and its associated tests is easy to obtain. On the integration level,…

Software Engineering · Computer Science 2022-11-16 Muzammil Shahbaz

Programmers often search for usage examples for API methods. A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers. Such a tool would relieve the need…

Software Engineering · Computer Science 2023-12-27 Manish Shetty , Koushik Sen , Ion Stoica

With the increasing complexity of large-scale software systems, identifying all necessary modifications for a specific change is challenging. Co-changed methods, which are methods frequently modified together, are crucial for understanding…

Software Engineering · Computer Science 2024-12-02 Yiping Jia , Safwat Hassan , Ying Zou

Three controlled experiments testing the benefits that Java programmers gain from using the Two-Tier Programming Toolkit have recently been concluded. The first experiment offers statistically significant evidence (p-value: 0.02) that…

Software Engineering · Computer Science 2010-09-02 Amnon H. Eden , Epameinondas Gasparis

Despite the availability of refactoring as a feature in popular IDEs, recent studies revealed that developers are reluctant to use them, and still prefer the manual refactoring of their code. At JetBrains, our goal is to fully support…

Software Engineering · Computer Science 2021-07-20 Yaroslav Golubev , Zarina Kurbatova , Eman Abdullah AlOmar , Timofey Bryksin , Mohamed Wiem Mkaouer

Modularity is a desirable characteristic for software systems. In this article we propose to use a quantitative method from complex network sciences to estimate the coherence between the modularity of the dependency network of large open…

Software Engineering · Computer Science 2013-03-04 Marcelo Serrano Zanetti , Frank Schweitzer

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

Modern software systems rely on dependency networks of reusable libraries, where breaking changes propagate and cause downstream consumers to fail. Despite growing research across ecosystems, no comprehensive synthesis exists. We conduct a…

Software Engineering · Computer Science 2026-05-26 Juntao Chen , Tingting Bi , Yanlin Wang , Patanamon Thongtanunam

Software systems often leverage on open source software libraries to reuse functionalities. Such libraries are readily available through software package managers like npm for JavaScript. Due to the huge amount of packages available in such…

Software Engineering · Computer Science 2019-02-27 Ahmed Zerouali , Tom Mens , Gregorio Robles , Jesus M. Gonzalez-Barahona

Nowadays, scripting programming languages like Python, Perl and Ruby are widely used in system programming, scientific computing, etc. Although solving a particular problem in these languages requires less time, less programming effort, and…

Computers and Society · Computer Science 2014-04-24 Apostolos Syropoulos , Athanasios Stavrianos

Code smells are symptoms of poor design quality. Since code review is a process that also aims at improving code quality, we investigate whether and how code review influences the severity of code smells. In this study, we analyze more than…

Software Engineering · Computer Science 2019-12-24 Luca Pascarella , Davide Spadini , Fabio Palomba , Alberto Bacchelli