-
Article
Empirical analysis of security vulnerabilities in Python packages
Software ecosystems play an important role in modern software development, providing an open platform of reusable packages that speed up and facilitate development tasks. However, this level of code reusabilit...
-
Article
Helping or not helping? Why and how trivial packages impact the npm ecosystem
Developers often share their code snippets by packaging them and making them available to others through software packages. How much a package does and how big it is can be seen as positive or negative. Recent...
-
Article
An exploratory study on the introduction and removal of different types of technical debt in deep learning frameworks
To complete tasks faster, developers often have to sacrifice the quality of the software. Such compromised practice results in the increasing burden to developers in future development. The metaphor, technical...
-
Article
On the Removal of Feature Toggles
Feature Toggling is a technique to control the execution of features in a software project. For example, practitioners using feature toggles can experiment with new features in a production environment by expo...
-
Article
What do Programmers Discuss about Deep Learning Frameworks
Deep learning has gained tremendous traction from the developer and researcher communities. It plays an increasingly significant role in a number of application domains. Deep learning frameworks are proposed t...
-
Article
MSRBot: Using bots to answer questions from software repositories
Software repositories contain a plethora of useful information that can be used to enhance software projects. Prior work has leveraged repository data to improve many aspects of the software development proces...
-
Article
On the impact of using trivial packages: an empirical case study on npm and PyPI
Code reuse has traditionally been encouraged since it enables one to avoid re-inventing the wheel. Due to the npm left-pad package incident where a trivial package led to the breakdown of some of the most popular...
-
Article
Guest editorial: special section on predictive models and data analytics in software engineering
-
Article
The modular and feature toggle architectures of Google Chrome
Software features often span multiple directories and conceptual modules making the extraction of feature architectures difficult. In this work, we extract a feature toggle architectural view and show how feat...
-
Article
Studying and detecting log-related issues
Logs capture valuable information throughout the execution of software systems. The rich knowledge conveyed in logs is highly leveraged by researchers and practitioners in performing various tasks, both in sof...
-
Article
An empirical study of Android Wear user complaints
Wearable apps are becoming increasingly popular in recent years. Nevertheless, to date, very few studies have examined the issues that wearable apps face. Prior studies showed that user reviews contain a pleth...
-
Article
Empirical study on the discrepancy between performance testing results from virtual and physical environments
Large software systems often undergo performance tests to ensure their capability to handle expected loads. These performance tests often consume large amounts of computing resources and time since heavy loads...
-
Article
Identifying self-admitted technical debt in open source projects using text mining
Technical debt is a metaphor to describe the situation in which long-term code quality is traded for short-term goals in software projects. Recently, the concept of self-admitted technical debt (SATD) was prop...
-
Article
Erratum to: Studying high impact fix-inducing changes
-
Article
What are mobile developers asking about? A large scale study using stack overflow
The popularity of mobile devices has been steadily growing in recent years. These devices heavily depend on software from the underlying operating systems to the applications they run. Prior research showed th...
-
Article
Studying high impact fix-inducing changes
As software systems continue to play an important role in our daily lives, their quality is of paramount importance. Therefore, a plethora of prior research has focused on predicting components of software tha...
-
Article
Automatic, high accuracy prediction of reopened bugs
Bug fixing is one of the most time-consuming and costly activities of the software development life cycle. In general, bugs are reported in a bug tracking system, validated by a triage team, assigned for someo...
-
Article
Studying re-opened bugs in open source software
Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be re-opened. Re-opened bugs increase...
-
Chapter and Conference Paper
On the Central Role of Mailing Lists in Open Source Projects: An Exploratory Study
Mailing lists provide a rich set of data that can be used to improve and enhance our understanding of software processes and practices. This information allows us to study development characteristics like team...