Performance is one of the key aspects of non-functional qualities, where performance bugs can cause significant performance degradation and lead to poor user experience.
To the best of our knowledge, no study thus far has focused on numerical bugs, or has considered inspecting numerical libraries, despite the reputation of being particularly subtle and error prone.
our work is the first
To the best of our knowledge, our work is the first systematic study of versioning principles in a large collection of Java libraries. However, several case studies on backward compatible and incompatible changes in public interfaces as appearing in these libraries have been performed [2], [7], [9].
The goal of this paper is to study the causes, symptoms, and fixes of numerical bugs in numerical libraries, and provide a high-level categorization that can serve as a guide for researchers to develop tools for finding and fixing numerical bugs.
However, there is a gap of knowledge in understanding the characteristics of numerical bugs in real-world numerical software. What are the most common numerical bugs? How prevalent are these bugs? Are existing tools capable of detecting them? How are such bugs fixed?
lack basic knowledge
we lack basic knowledge on the breadth and depth of the adoption of CI by open-source projects.
As a first step towards promoting release engineering research, this paper makes three major contributions:
takes a first step
This paper takes a first step towards answering these questions by conducting the first comprehensive study of real-world numerical bug characteristics.
We start out, in Section II, by sketching related work in the area of version analysis.
Section II further explains the motivation for this research initiative.
Section II provides background information about patch uplift.
we first describe the nature of the imbalanced learning problem in Section 2, which provides the foundation for our review of imbalanced learning solutions.
First, we provide background about the Linux kernel integration process (Section II)
In Section III, we formulate the research questions we seek to answer.
Section IV gives an overview of our approach to the mapping exercise.
In Section 3, we provide a critical review of the innovative research developments targeting the imbalanced learning problem, including sampling methods, cost-sensitive learn- ing methods, kernel-based learning methods, and active learning methods.
Section II describes the context and the approach used to collect data for the study.
followed by an explanation of our case study methodology (Section III).
Section III describes the design of our case study.
Then, in Section IV, we describe our approach to answer these questions, and methods of measurement. In Section V we provide descriptive statistics of the Maven dataset.
Assessment metrics for imbalanced learning are reviewed in Section 4, which provides various suggested methods that are used to compare and evaluate the performance of different imbalanced learning algorithms.
Section VI discusses threats to the validity of this study.
Section V elaborates on the implications of these results.
We discuss the wider implications and the threats to the validity of our findings in Sections X and XI.
Considering how learning from imbalanced data is a relatively new topic in the research community, in Section 5, we present a detailed discussion on the opportu- nities and challenges for research development in this field.
Section IV discusses the implications of the findings.
followed by a discussion of threats to validity (Section V).
Section 6 discloses the threats to the validity of our study.