English
Related papers

Related papers: On the evolution of technical lag in the npm packa…

200 papers

Language-based ecosystems (LBE), i.e., software ecosystems based on a single programming language, are very common. Examples include the npm ecosystem for JavaScript, and PyPI for Python. These environments encourage code reuse between…

Cryptography and Security · Computer Science 2021-12-01 Ruturaj K. Vaidya , Lorenzo De Carli , Drew Davidson , Vaibhav Rastogi

Software ecosystems can be viewed as socio-technical networks consisting of technical components (software packages) and social components (communities of developers) that maintain the technical components. Ecosystems evolve over time…

Software Engineering · Computer Science 2017-10-16 Eleni Constantinou , Tom Mens

Software projects are regularly updated with new functionality and bug fixes through so-called releases. In recent years, many software projects have been shifting to shorter release cycles and this can affect the bug handling activity.…

Software Engineering · Computer Science 2021-03-17 Thorn Jansen , Zeinab Abou Khalil , Eleni Constantinou , Tom Mens

Python's dynamic typing mechanism, while promoting flexibility, is a significant source of runtime type errors that plague large-scale software, which inspires the automatic type inference techniques. Existing type inference tools have…

Software Engineering · Computer Science 2025-12-29 Shuo Sun , Shixin Zhang , Jiwei Yan , Jun Yan , Jian Zhang

AI coding agents increasingly modify real software repositories and make dependency decisions, including adding, removing, or updating third-party packages. These choices can materially affect security posture and maintenance burden, yet…

Software Engineering · Computer Science 2026-02-02 Tanmay Singla , Berk Çakar , Paschal C. Amusuo , James C. Davis

Context: Modern software systems (e.g., Apache Spark) are usually written in multiple programming languages (PLs). There is little understanding on the phenomenon of multi-programming-language commits (MPLCs), which involve modified source…

Software Engineering · Computer Science 2023-11-16 Zengyang Li , Xiaoxiao Qi , Qinyi Yu , Peng Liang , Ran Mo , Chen Yang

Background: Technical Debt (TD) describes suboptimal software development practices with long-term consequences, such as defects and vulnerabilities. Deadlines are a leading cause of the emergence of TD in software systems. While multiple…

Software Engineering · Computer Science 2025-05-08 Joshua Aldrich Edbert , Zadia Codabux , Roberto Verdecchia

Large language models (LLMs) are now an integral part of software development workflows and are reshaping the whole process. Traditional technology stack selection has not caught up. Most of the existing selection methods focus solely on…

Software Engineering · Computer Science 2025-09-16 Xiaoyu Zhang , Weipeng Jiang , Juan Zhai , Shiqing Ma , Qingshuang Bao , Chenhao Lin , Chao Shen , Tianlin Li , Yang Liu

Natural language processing (NLP) systems have become a central technology in communication, education, medicine, artificial intelligence, and many other domains of research and development. While the performance of NLP methods has grown…

Computation and Language · Computer Science 2021-10-14 Damián Blasi , Antonios Anastasopoulos , Graham Neubig

Dependency cycles pose a significant challenge to software quality and maintainability. However, there is limited understanding of how practitioners resolve dependency cycles in real-world scenarios. This paper presents an empirical study…

Software Engineering · Computer Science 2023-12-19 Qiong Feng , Shuwen Liu , Huan Ji , Xiaotian Ma , Peng Liang

Maintenance is the last and the most critical phase of the software development life cycle. It involves debugging of errors and different types of enhancements which are requested by the user. Software reliability regarding maintenance is…

Software Engineering · Computer Science 2016-05-04 Ahmad Mateen , Muhammad Azeem Akbar

Maintaining software packages imposes significant costs due to dependency management, bug fixes, and versioning. We show that rich method descriptions in scientific publications can serve as standalone specifications for modern large…

Software Engineering · Computer Science 2025-07-31 Cameron S. Movassaghi , Amanda Momenzadeh , Jesse G. Meyer

A large number of computational scientific research projects make use of open source software packages. However, the development process of such tools frequently differs from conventional software development; partly because of the nature…

Software Engineering · Computer Science 2013-09-24 Ivan Girotto , Axel Kohlmeyer , David Grellscheid , Shawn T. Brown

Background: In modern software systems, more and more systems are written in multiple programming languages (PLs). There is no comprehensive investigation on the phenomenon of multi-programming-language (MPL) bugs, which resolution involves…

Software Engineering · Computer Science 2023-07-06 Zengyang Li , Wenshuo Wang , Sicheng Wang , Peng Liang , Ran Mo

Repositories of large software systems have become commonplace. This massive expansion has resulted in the emergence of various problems in these software platforms including identification of (i) bug-prone packages, (ii) critical bugs, and…

Information Retrieval · Computer Science 2022-07-05 Rima Hazra , Arpit Dwivedi , Animesh Mukherjee

Existing innovation metrics inadequately capture software innovation, creating blind spots for researchers and policymakers seeking to understand and foster technological innovation in an increasingly software-defined economy. This paper…

Software Engineering · Computer Science 2025-07-01 Eva Maxfield Brown , Cailean Osborne , Peter Cihon , Moritz Böhmecke-Schwafert , Kevin Xu , Mirko Boehm , Knut Blind

Modern software systems, such as Spark, are usually written in multiple programming languages (PLs). Besides benefiting from code reuse, such systems can also take advantages of specific PLs to implement certain features, to meet various…

Software Engineering · Computer Science 2021-03-23 Zengyang Li , Xiaoxiao Qi , Qinyi Yu , Peng Liang , Ran Mo , Chen Yang

Regular dependency updates protect dependent software components from upstream bugs, security vulnerabilities, and poor code quality. Measures of dependency updates across software ecosystems involve two key dimensions: the time span during…

Software Engineering · Computer Science 2025-04-11 Baltasar Berretta , Augustus Thomas , Heather Guarnera

As modern software extensively uses free open source packages as dependencies, developers have to regularly pull in new third-party code through frequent updates. However, without a proper review of every incoming change, vulnerable and…

Software Engineering · Computer Science 2022-11-08 Nasif Imtiaz , Laurie Williams

The long-standing aspiration for software reuse has made astonishing strides in the past few years. Many modern software development ecosystems now come with rich sets of publicly-available components contributed by the community.…

Software Engineering · Computer Science 2022-09-07 Patrick Lam , Jens Dietrich , David J. Pearce