Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Chenggang Bai

dblp:15/6962 · DBLP profile ↗
← Back
14ranked-venue papers
4as first author
1since 2021 · last 2021
0000-0003-2224-2337ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 12 · 3 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-authorArtificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Empirical software engineering · 32% Software maintenance and evolution · 32% Debugging and program repair · 14%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.512021
Characterizing the Usage, Evolution and Impact of Java Annotations in Practice · IEEE Trans. Software Eng. 2021
Software maintenance and evolution
software evolution
0.512021
Characterizing the Usage, Evolution and Impact of Java Annotations in Practice · IEEE Trans. Software Eng. 2021
Debugging and program repair
fault localization
0.212015
Does the Failing Test Execute a Single or Multiple Faults? An Approach to Classifying Failing Tests · ICSE (1) 2015
Programming languages and type systems
language design
0.112021
Characterizing the Usage, Evolution and Impact of Java Annotations in Practice · IEEE Trans. Software Eng. 2021

Methods — techniques the papers use, named apart from their topics

statistical analysis · 0.5empirical study · 0.5test similarity · 0.2fault localization ranked lists · 0.2
YearPublicationVenuePosition
2021 Characterizing the Usage, Evolution and Impact of Java Annotations in Practice
abstract
Annotations have been formally introduced into Java since Java 5. Since then, annotations have been widely used by the Java community for different purposes, such as compiler guidance and runtime processing. Despite the ever-growing use, there is still limited empirical knowledge about the actual usage of annotations in practice, the changes made to annotations during software evolution, and the potential impact of annotations on code quality. To fill this gap, we perform the first large-scale empirical study about Java annotations on 1,094 notable open-source projects hosted on GitHub. Our study systematically investigates annotation usage, annotation evolution, and annotation impact, and generates 10 novel and important findings. We also present the implications of our findings, which shed light for developers, researchers, tool builders, and language or library designers in order to improve all facets of Java annotation engineering.
Zhongxing Yu, Chenggang Bai, Lionel Seinturier, Martin Monperrus
IEEE Trans. Software Eng.2
2015 Does the Failing Test Execute a Single or Multiple Faults? An Approach to Classifying Failing Tests
abstract
Debugging is an indispensable yet frustrating activity in software development and maintenance. Thus, numerous techniques have been proposed to aid this task. Despite the demonstrated effectiveness and future potential of these techniques, many of them have the unrealistic single-fault failure assumption. To alleviate this problem, we propose a technique that can be used to distinguish failing tests that executed a single fault from those that executed multiple faults in this paper. The technique suitably combines information from (i) a set of fault localization ranked lists, each produced for a certain failing test and (ii) the distance between a failing test and the passing test that most resembles it to achieve this goal. An experiment on 5 real-life medium-sized programs with 18, 920 multiple-fault versions, which are shipped with number of faults ranging from 2 to 8, has been conducted to evaluate the technique. The results indicate that the performance of the technique in terms of evaluation measures precision, recall, and F-measure is promising. In addition, for the identified failing tests that executed a single fault, the technique can also properly cluster them.
Zhongxing Yu, Chenggang Bai, Kai-Yuan Cai
ICSE (1)2
2015 Cross-Project Aging Related Bug Prediction
abstract
In a long running system, software tends to encounter performance degradation and increasing failure rate during execution, which is called software aging. The bugs contributing to the phenomenon of software aging are defined as Aging Related Bugs (ARBs). Lots of manpower and economic costs will be saved if ARBs can be found in the testing phase. However, due to the low presence probability and reproducing difficulty of ARBs, it is usually hard to predict ARBs within a project. In this paper, we study whether and how ARBs can be located through cross-project prediction. We propose a transfer learning based aging related bug prediction approach (TLAP), which takes advantage of transfer learning to reduce the distribution difference between training sets and testing sets while preserving their data variance. Furthermore, in order to mitigate the severe class imbalance, class imbalance learning is conducted on the transferred latent space. Finally, we employ machine learning methods to handle the bug prediction tasks. The effectiveness of our approach is validated and evaluated by experiments on two real software systems. It indicates that after the processing of TLAP, the performance of ARB bug prediction can be dramatically improved.
Fangyun Qin, Zheng Zheng 0001, Chenggang Bai, Zhenyu Zhang 0004
QRS3
2013 Mutation-oriented test data augmentation for GUI software fault localization
Zhongxing Yu, Chenggang Bai, Kai-Yuan Cai
Inf. Softw. Technol.2
2009 Cost-benefit factor analysis in e-services using bayesian networks
Jie Lu 0001, Chenggang Bai, Guangquan Zhang 0001
Expert Syst. Appl.2
2008 Does software reliability growth behavior follow a non-homogeneous Poisson process
Kai-Yuan Cai, De-Bin Hu, Chenggang Bai
Inf. Softw. Technol.3
2008 An experimental study of adaptive testing for software reliability assessment
Kai-Yuan Cai, Chang-Hai Jiang, Chenggang Bai
J. Syst. Softw.4
2008 On the Trend of Remaining Software Defect Estimation
abstract
Software defects play a key role in software reliability, and the number of remaining defects is one of most important software reliability indexes. Observing the trend of the number of remaining defects during the testing process can provide very useful information on the software reliability. However, the number of remaining defects is not known and has to be estimated. Therefore, it is important to study the trend of the remaining software defect estimation (RSDE). In this paper, the concept of RSDE curves is proposed. An RSDE curve describes the dynamic behavior of RSDE as software testing proceeds. Generally, RSDE changes over time and displays two typical patterns: 1) single mode and 2) multiple modes. This behavior is due to the different characteristics of the testing process, i.e., testing under a single testing profile or multiple testing profiles with various change points. By studying the trend of the estimated number of remaining software defects, RSDE curves can provide further insights into the software testing process. In particular, in this paper, the Goel-Okumoto model is used to estimate this number on actual software failure data, and some properties of RSDE are derived. In addition, we discuss some theoretical and application issues of the RSDE curves. The concept of the proposed RSDE curves is independent of the selected model. The methods and development discussed in this paper can be applied to any valid estimation model to develop and study its corresponding RSDE curve. Finally, we discuss several possible areas for future research.
Chenggang Bai, Kai-Yuan Cai, Q. P. Hu, Szu Hui Ng
IEEE Trans. Syst. Man Cybern. Part A1
2007 A Data Mining Approach for Software State Definition
abstract
A software system can be modeled by a transition system. In the existing approaches for software modeling, such as FSM, EFSM, and TM etc., states often have specific physics semantics which often represent variables, processes, or modules, etc. In this paper, a data mining approach is introduced into software modeling to do state definition in a different way. The approach is used to extract interesting relationships among program methods and a weighted hypergraph is constructed based on the mining results. Then the hypergraph is partitioned into k clusters which are used to define states in the transition system, using a hypergraph partitioning algorithm. States derived in this way have many particular properties. Some experiments about this approach are also presented in this paper.
Beibei Yin, Chenggang Bai, Kai-Yuan Cai
COMPSAC (1)2
2006 A Case Study for Invalidating the Markovian Property of GUI Software Structural Profile
abstract
Software reliability is one of the key factors for determining the quality of software, and a number of software reliability models have been developed for measuring it, among which a group of Markov-based models prevails. In fact, the Markovian assumption can also widely observed in performance evaluation of software system. In this paper, an experimental approach is used to check if GUI software structural profile, which is defined as transfer of control among software modules or states, possesses Markovian property, utilizing x2hypothesis test. The result of the case study indicates that the structural profile of GUI software fails to fit a Markov process
Beibei Yin, Chenggang Bai, Kai-Yuan Cai
COMPSAC (1)3
2005 Partition Testing with Dynamic Partitioning
abstract
A new partition testing strategy that adopts dynamic partitioning is proposed in this paper. By dynamic partitioning it is meant that the test suite or the input domain of the software under test is partitioned into several subdomains whose members are dynamically adjusted during testing by using feedback information such as the testing data collected on-line. Two controlled software experiments show that the new strategy can significantly outperform the purely random testing strategy in particular, and the random-partition testing strategy in general.
Kai-Yuan Cai, Chenggang Bai
COMPSAC (2)3
2005 Bayesian network based software reliability prediction with an operational profile
Chenggang Bai
J. Syst. Softw.1
2005 Software failure prediction based on a Markov Bayesian network model
Chenggang Bai, Q. P. Hu, Min Xie 0001, Szu Hui Ng
J. Syst. Softw.1
2003 An Efficient Defect Estimation Method for Software Defect Curves
abstract
Software defect curves describe the behavior of the estimate of the number of remaining software defects as software testing proceeds. They are of two possible patterns: single-trapezoidal-like curves or multiple-trapezoidal-like curves. In this paper we present some necessary and/or sufficient conditions for software defect curves of the Goel-Okumoto NHPP model. These conditions can be used to predict the effect of the detection and removal of a software defect on the variations of the estimates of the number of remaining defects. A field software reliability dataset is used to justify the trapezoidal shape of software defect curves and our theoretical analyses. The results presented in this paper may provide useful feedback information for assessing software testing progress and have potentials in the emerging area of software cybernetics that explores the interplay between software and control.
Chenggang Bai, Kai-Yuan Cai, Tsong Yueh Chen
COMPSAC1