Can we spot energy regressions using developers tests?
Software Energy Consumption is gaining more and more attention. In this paper, we tackle the problem of warning developers about the increase of SEC of their programs during Continuous Integration (CI).
ObjectiveIn this study, we investigate ...
Fixing Dockerfile smells: an empirical study
Docker is the de facto standard for software containerization. A Dockerfile contains the requirements to build a Docker image containing a target application. There are several best practice rules for writing Dockerfiles, but the developers do not ...
Design smells in multi-language systems and bug-proneness: a survival analysis
Modern applications are often developed using a combination of programming languages and technologies. Multi-language systems offer opportunities for code reuse and the possibility to leverage the strengths of multiple programming languages. ...
Causal inference of server- and client-side code smells in web apps evolution
Code smells (CS) are symptoms of poor design and implementation choices that may lead to increased defect incidence, decreased code comprehension, and longer times to release. Web applications and systems are seldom studied, probably due to ...
A comprehensive analysis of challenges and strategies for software release notes on GitHub
Release notes (RNs) refer to the technical documentation that offers users, developers, and other stakeholders comprehensive information about the changes and updates of a new software version. Producing high-quality RNs can be challenging, and it ...
An empirical study on cross-component dependent changes: A case study on the components of OpenStack
Modern software systems are composed of several loosely coupled components. Typical examples of such systems are plugin-based systems, microservices, and modular software systems. Such types of software systems have several advantages motivating a ...
App review driven collaborative bug finding
- Xunzhu Tang,
- Haoye Tian,
- Pingfan Kong,
- Saad Ezzini,
- Kui Liu,
- Xin Xia,
- Jacques Klein,
- Tegawendé F. Bissyandé
Software development teams generally welcome any effort to expose bugs in their code base. In this work, we build on the hypothesis that mobile apps from the same category (e.g., two web browser apps) may be affected by similar bugs in their ...
Does using Bazel help speed up continuous integration builds?
A long continuous integration (CI) build forces developers to wait for CI feedback before starting subsequent development activities, leading to time wasted. In addition to a variety of build scheduling and test selection heuristics studied in the ...
Investigating the online recruitment and selection journey of novice software engineers: Anti-patterns and recommendations
The growing software development market has increased the demand for qualified professionals in Software Engineering (SE). To this end, companies must enhance their Recruitment and Selection (R&S) processes to maintain high-quality teams, ...
What causes exceptions in machine learning applications? Mining machine learning-related stack traces on Stack Overflow
Machine learning (ML), including deep learning, has recently gained tremendous popularity in a wide range of applications. However, like traditional software, ML applications are not immune to the bugs that result from programming errors. Explicit ...
Industrial adoption of machine learning techniques for early identification of invalid bug reports
Despite the accuracy of machine learning (ML) techniques in predicting invalid bug reports, as shown in earlier research, and the importance of early identification of invalid bug reports in software maintenance, the adoption of ML techniques for ...
Test-based patch clustering for automatically-generated patches assessment
Previous studies have shown that Automated Program Repair (apr) techniques suffer from the overfitting problem. Overfitting happens when a patch is run and the test suite does not reveal any error, but the patch actually does not fix the ...
DDImage: an image reduction based approach for automatically explaining black-box classifiers
Due to the prevalent application of machine learning (ML) techniques and the intrinsic black-box nature of ML models, the need for good explanations that are sufficient and necessary towards locally interpreting a model’s prediction has been well ...
Adopting automated bug assignment in practice — a longitudinal case study at Ericsson
[Context] The continuous inflow of bug reports is a considerable challenge in large development projects. Inspired by contemporary work on mining software repositories, we designed a prototype bug assignment solution based on machine learning in ...
Towards Trusted Smart Contracts: A Comprehensive Test Suite For Vulnerability Detection
The term smart contract was originally used to describe automated legal contracts. Nowadays, it refers to special programs that run on blockchain platforms and are popular in decentralized applications. In recent years, vulnerabilities in smart ...
An empirical study on the potential of word embedding techniques in bug report management tasks
Representing the textual semantics of bug reports is a key component of bug report management (BRM) techniques. Existing studies mainly use classical information retrieval-based (IR-based) approaches, such as the vector space model (VSM) to ...
On Refining the SZZ Algorithm with Bug Discussion Data
Researchers testing hypotheses related to factors leading to low-quality software often rely on historical data, specifically on details regarding when defects were introduced into a codebase of interest. The prevailing techniques to ...
The role of psychological safety in promoting software quality in agile teams
Psychological safety continues to pique the interest of scholars in a variety of disciplines of study. Recent research indicates that psychological safety fosters knowledge sharing and norm clarity and complements agile values. Although software ...
Automatic title completion for Stack Overflow posts and GitHub issues
Title quality is important for different software engineering communities. For example, in Stack Overflow, posts with low-quality question titles often discourage potential answerers. In GitHub, issues with low-quality titles can make it difficult ...
IRJIT: A simple, online, information retrieval approach for just-in-time software defect prediction
Just-in-Time software defect prediction (JIT-SDP) prevents the introduction of defects into the software by identifying them at commit check-in time. Current software defect prediction approaches rely on manually crafted features such as change ...
Towards Exploring the Limitations of Test Selection Techniques on Graph Neural Networks: An Empirical Study
Graph Neural Networks (GNNs) have gained prominence in various domains, such as social network analysis, recommendation systems, and drug discovery, due to their ability to model complex relationships in graph-structured data. GNNs can exhibit ...
Guidelines for using financial incentives in software-engineering experimentation
Empirical studies with human participants (e.g., controlled experiments) are established methods in Software Engineering (SE) research to understand developers’ activities or the pros and cons of a technique, tool, or practice. Various ...
The impact of concept drift and data leakage on log level prediction models
Developers insert logging statements to collect information about the execution of their systems. Along with a logging framework (e.g., Log4j), practitioners can decide which log statement to print or suppress by tagging each log line with a log ...
Explaining poor performance of text-based machine learning models for vulnerability detection
With an increase of severity in software vulnerabilities, machine learning models are being adopted to combat this threat. Given the possibilities towards usage of such models, research in this area has introduced various approaches. Although ...
Dependabot and security pull requests: large empirical study
Modern software development is a complex engineering process where developer code cohabits with an increasingly larger number of external open-source components. Even though these components facilitate sharing and reusing code along with other ...
Neuron importance-aware coverage analysis for deep neural network testing
Deep Neural Network (DNN) models are widely used in many cutting-edge domains, such as medical diagnostics and autonomous driving. However, an urgent need to test DNN models thoroughly has increasingly risen. Recent research proposes various ...
Static analysis driven enhancements for comprehension in machine learning notebooks
Jupyter notebooks have emerged as the predominant tool for data scientists to develop and share machine learning solutions, primarily using Python as the programming language. Despite their widespread adoption, a significant fraction of these ...