EDBT 2026 Demo / reviewers in the wild / expert
Yue Jia 0001
dblp:44/4993-1
· DBLP profile ↗
49ranked-venue papers
6as first author
1since 2021 · last 2021
0009-0004-2871-2285ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 47 · 6 first-author · 1 since 2021Artificial intelligence and machine learning · 13 · 1 first-authorDatabases, data management, data science and information retrieval · 3Applied, interdisciplinary, general and emerging computing · 1
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
20 papers |
Software testing · 72% Empirical software engineering · 9% Compilers and program optimization · 8% |
Topics — the 27 heaviest of 33, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
mutation testing |
1.8 | 8 | 2019 | Predictive Mutation Testing · IEEE Trans. Software Eng. 2019 Detecting Trivial Mutant Equivalences via Compiler Optimisations · IEEE Trans. Software Eng. 2018 Threats to the validity of mutation-based test assessment · ISSTA 2016 |
Software testing
combinatorial testing |
1.2 | 3 | 2021 | Comparative Analysis of Constraint Handling Techniques for Constrained Combinatorial Testing · IEEE Trans. Software Eng. 2021 An Empirical Comparison of Combinatorial Testing, Random Testing and Adaptive Random Testing · IEEE Trans. Software Eng. 2020 Learning Combinatorial Interaction Test Generation Strategies Using Hyperheuristic Search · ICSE (1) 2015 |
Software testing
test generation |
0.9 | 3 | 2020 | An Empirical Comparison of Combinatorial Testing, Random Testing and Adaptive Random Testing · IEEE Trans. Software Eng. 2020 Crowd intelligence enhances automated mobile testing · ASE 2017 Learning Combinatorial Interaction Test Generation Strategies Using Hyperheuristic Search · ICSE (1) 2015 |
Software testing
search-based software testing |
0.6 | 2 | 2019 | Some challenges for software testing research (invited talk paper) · ISSTA 2019 Sapienz: multi-objective automated testing for Android applications · ISSTA 2016 |
Software testing › mutation testing
equivalent mutant detection |
0.5 | 2 | 2018 | Detecting Trivial Mutant Equivalences via Compiler Optimisations · IEEE Trans. Software Eng. 2018 Trivial Compiler Equivalence: A Large Scale Empirical Study of a Simple, Fast and Effective Equivalent Mutant Detection Technique · ICSE (1) 2015 |
Software testing › mutation testing
predictive mutation testing |
0.4 | 1 | 2019 | Predictive Mutation Testing · IEEE Trans. Software Eng. 2019 |
Software testing
test suite evaluation |
0.4 | 1 | 2019 | Predictive Mutation Testing · IEEE Trans. Software Eng. 2019 |
Empirical software engineering
mining software repositories |
0.4 | 2 | 2017 | A Survey of App Store Analysis for Software Engineering · IEEE Trans. Software Eng. 2017 Mutation-aware fault prediction · ISSTA 2016 |
Compilers and program optimization
compiler optimization |
0.3 | 1 | 2018 | Detecting Trivial Mutant Equivalences via Compiler Optimisations · IEEE Trans. Software Eng. 2018 |
Software testing
regression testing |
0.3 | 2 | 2016 | Comparing white-box and black-box test prioritization · ICSE 2016 Automated software transplantation · ISSTA 2015 |
Software testing › mutation testing
higher order mutation |
0.3 | 2 | 2014 | Angels and monsters: an empirical investigation of potential test effectiveness and efficiency improvement from strongly subsuming higher order mutation · ASE 2014 Strong higher order mutation-based test data generation · SIGSOFT FSE 2011 |
Empirical software engineering › mining software repositories
app store mining |
0.3 | 1 | 2017 | A Survey of App Store Analysis for Software Engineering · IEEE Trans. Software Eng. 2017 |
Software testing
mobile application testing |
0.3 | 1 | 2017 | Crowd intelligence enhances automated mobile testing · ASE 2017 |
Software testing › GUI testing
Android GUI testing |
0.2 | 1 | 2016 | Sapienz: multi-objective automated testing for Android applications · ISSTA 2016 |
Empirical software engineering
fault prediction |
0.2 | 1 | 2016 | Mutation-aware fault prediction · ISSTA 2016 |
Software testing › regression testing
test case prioritization |
0.2 | 1 | 2016 | Comparing white-box and black-box test prioritization · ICSE 2016 |
Compilers and program optimization › program transformation
code transplantation |
0.2 | 1 | 2015 | Automated software transplantation · ISSTA 2015 |
Software maintenance and evolution
code clone detection |
0.2 | 1 | 2013 | Searching for better configurations: a rigorous approach to clone evaluation · ESEC/SIGSOFT FSE 2013 |
Software maintenance and evolution › software variability
configuration options |
0.2 | 1 | 2013 | Searching for better configurations: a rigorous approach to clone evaluation · ESEC/SIGSOFT FSE 2013 |
Software testing › test generation
test suite generation |
0.1 | 1 | 2021 | Comparative Analysis of Constraint Handling Techniques for Constrained Combinatorial Testing · IEEE Trans. Software Eng. 2021 |
Program synthesis and code generation
genetic programming |
0.1 | 1 | 2012 | The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper) · ASE 2012 |
Compilers and program optimization
software optimization |
0.1 | 1 | 2012 | The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper) · ASE 2012 |
Software testing
random testing |
0.1 | 1 | 2020 | An Empirical Comparison of Combinatorial Testing, Random Testing and Adaptive Random Testing · IEEE Trans. Software Eng. 2020 |
Software testing › test input generation
search-based test data generation |
0.1 | 1 | 2011 | Strong higher order mutation-based test data generation · SIGSOFT FSE 2011 |
Software testing › test adequacy
test suite adequacy |
0.1 | 1 | 2018 | Detecting Trivial Mutant Equivalences via Compiler Optimisations · IEEE Trans. Software Eng. 2018 |
Software maintenance and evolution
release planning |
0.1 | 1 | 2017 | A Survey of App Store Analysis for Software Engineering · IEEE Trans. Software Eng. 2017 |
Empirical software engineering › experimental methodology
threats to validity |
0.1 | 1 | 2016 | Threats to the validity of mutation-based test assessment · ISSTA 2016 |
Methods — techniques the papers use, named apart from their topics
search-based algorithm · 0.5greedy algorithm · 0.5constraint handling techniques · 0.5empirical comparison · 0.4adaptive random testing · 0.4machine learning · 0.4classification model · 0.4mutation analysis · 0.3compiler optimization · 0.3motif mining · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Comparative Analysis of Constraint Handling Techniques for Constrained Combinatorial TestingabstractConstraints depict the dependency relationships between parameters in a software system under test. Because almost all systems are constrained in some way, techniques that adequately cater for constraints have become a crucial factor for adoption, deployment and exploitation of Combinatorial Testing (CT). Currently, despite a variety of different constraint handling techniques available, the relationship between these techniques and the generation algorithms that use them remains unknown, yielding an important gap and pressing concern in the literature of constrained combination testing. In this article, we present a comparative empirical study to investigate the impact of four common constraint handling techniques on the efficiency of six representative (greedy and search-based) test suite generation algorithms. The results reveal that theVerifytechnique implemented with the Minimal Forbidden Tuple (MFT) approach is the fastest, while theReplacetechnique is promising for producing the smallest constrained covering arrays, especially for algorithms that construct test cases one-at-a-time. The results also show that there is an interplay between efficiency of the constraint handler and the test suite generation algorithm into which it is developed. Huayao Wu, Changhai Nie, Justyna Petke, Yue Jia 0001, Mark Harman |
IEEE Trans. Software Eng. | 4 |
| 2020 | An Empirical Comparison of Combinatorial Testing, Random Testing and Adaptive Random TestingabstractWe present an empirical comparison of three test generation techniques, namely, Combinatorial Testing (CT), Random Testing (RT) and Adaptive Random Testing (ART), under different test scenarios. This is the first study in the literature to account for the (more realistic) testing setting in which the tester may not have complete information about the parameters and constraints that pertain to the system, and to account for the challenge posed by faults (in terms of failure rate). Our study was conducted on nine real-world programs under a total of 1683 test scenarios (combinations of available parameter and constraint information and failure rate). The results show significant differences in the techniques' fault detection ability when faults are hard to detect (failure rates are relatively low). CT performs best overall; no worse than any other in 98 percent of scenarios studied. ART enhances RT, and is comparable to CT in 96 percent of scenarios, but its computational cost can be up to 3.5 times higher than CT when the program is highly constrained. Additionally, when constraint information is unavailable for a highly-constrained program, a large random test suite is as effective as CT or ART, yet its computational cost of test generation is significantly lower than that of other techniques. Huayao Wu, Changhai Nie, Justyna Petke, Yue Jia 0001, Mark Harman |
IEEE Trans. Software Eng. | 4 |
| 2019 | Some challenges for software testing research (invited talk paper)abstractThis paper outlines 4 open challenges for Software Testing in general and Search Based Software Testing in particular, arising from our experience with the Sapienz System Deployment at Facebook. The challenges may also apply more generally, thereby representing opportunities for the research community to further benefit from the growing interest in automated test design in industry. Nadia Alshahwan, Andrea Ciancone, Mark Harman, Yue Jia 0001, Ke Mao, Alexandru Marginean, Alexander Mols, Hila Peleg, Federica Sarro, Ilya Zorin |
ISSTA | 4 |
| 2019 | Predictive Mutation TestingabstractTest suites play a key role in ensuring software quality. A good test suite may detect more faults than a poor-quality one. Mutation testing is a powerful methodology for evaluating the fault-detection ability of test suites. In mutation testing, a large number of mutants may be generated and need to be executed against the test suite under evaluation to check how many mutants the test suite is able to detect, as well as the kind of mutants that the current test suite fails to detect. Consequently, although highly effective, mutation testing is widely recognized to be also computationally expensive, inhibiting wider uptake. To alleviate this efficiency concern, we propose Predictive Mutation Testing (PMT): the first approach to predicting mutation testing results without executing mutants. In particular, PMT constructs a classification model, based on a series of features related to mutants and tests, and uses the model to predict whether a mutant would be killed or remain alive without executing it. PMT has been evaluated on 163 real-world projects under two application scenarios (cross-version and cross-project). The experimental results demonstrate that PMT improves the efficiency of mutation testing by up to 151.4X while incurring only a small accuracy loss. It achieves above 0.80 AUC values for the majority of projects, indicating a good tradeoff between the efficiency and effectiveness of predictive mutation testing. Also, PMT is shown to perform well on different tools and tests, be robust in the presence of imbalanced data, and have high predictability (over 60 percent confidence) when predicting the execution results of the majority of mutants. Jie Zhang 0050, Lingming Zhang 0001, Mark Harman, Dan Hao 0001, Yue Jia 0001, Lu Zhang 0023 |
IEEE Trans. Software Eng. | 5 |
| 2018 | Customer Rating Reactions Can Be Predicted Purely using App FeaturesabstractIn this paper we provide empirical evidence that the rating that an app attracts can be accurately predicted from the features it offers. Our results, based on an analysis of 11,537 apps from the Samsung Android and BlackBerry World app stores, indicate that the rating of 89% of these apps can be predicted with 100% accuracy. Our prediction model is built by using feature and rating information from the existing apps offered in the App Store and it yields highly accurate rating predictions, using only a few (11-12) existing apps for case-based prediction. These findings may have important implications for requirements engineering in app stores: They indicate that app developers may be able to obtain (very accurate) assessments of the customer reaction to their proposed feature sets (requirements), thereby providing new opportunities to support the requirements elicitation process for app developers. Federica Sarro, Mark Harman, Yue Jia 0001, Yuanyuan Zhang 0003 |
RE | 3 |
| 2018 | Deploying Search Based Software Engineering with Sapienz at FacebookabstractWe describe the deployment of the Sapienz Search Based Software Engineering (SBSE) testing system. Sapienz has been deployed in production at Facebook since September 2017 to design test cases, localise and triage crashes to developers and to monitor their fixes. Since then, running in fully continuous integration within Facebook’s production development process, Sapienz has been testing Facebook’s Android app, which consists of millions of lines of code and is used daily by hundreds of millions of people around the globe. We continue to build on the Sapienz infrastructure, extending it to provide other software engineering services, applying it to other apps and platforms, and hope this will yield further industrial interest in and uptake of SBSE (and hybridisations of SBSE) as a result. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Nadia Alshahwan, Xinbo Gao 0002, Mark Harman, Yue Jia 0001, Ke Mao, Alexander Mols, Taijin Tei, Ilya Zorin |
SSBSE | 4 |
| 2018 | Detecting Trivial Mutant Equivalences via Compiler OptimisationsabstractMutation testing realises the idea of fault-based testing, i.e., using artificial defects to guide the testing process. It is used to evaluate the adequacy of test suites and to guide test case generation. It is a potentially powerful form of testing, but it is well-known that its effectiveness is inhibited by the presence of equivalent mutants. We recently studied Trivial Compiler Equivalence (TCE) as a simple, fast and readily applicable technique for identifying equivalent mutants for C programs. In the present work, we augment our findings with further results for the Java programming language. TCE can remove a large portion of all mutants because they are determined to be either equivalent or duplicates of other mutants. In particular, TCE equivalent mutants account for 7.4 and 5.7 percent of all C and Java mutants, while duplicated mutants account for a further 21 percent of all C mutants and 5.4 percent Java mutants, on average. With respect to a benchmark ground truth suite (of known equivalent mutants), approximately 30 percent (for C) and 54 percent (for Java) are TCE equivalent. It is unsurprising that results differ between languages, since mutation characteristics are language-dependent. In the case of Java, our new results suggest that TCE may be particularly effective, finding almost half of all equivalent mutants. Marinos Kintis, Mike Papadakis, Yue Jia 0001, Nicos Malevris, Yves Le Traon, Mark Harman |
IEEE Trans. Software Eng. | 3 |
| 2017 | Crowd intelligence enhances automated mobile testingabstractWe show that information extracted from crowd-based testing can enhance automated mobile testing. We introduce Polariz, which generates replicable test scripts from crowd-based testing, extracting cross-app `motif' events: automatically-inferred reusable higher-level event sequences composed of lower-level observed event actions. Our empirical study used 434 crowd workers from Mechanical Turk to perform 1,350 testing tasks on 9 popular Google Play apps, each with at least 1 million user installs. The findings reveal that the crowd was able to achieve 60.5% unique activity coverage and proved to be complementary to automated search-based testing in 5 out of the 9 subjects studied. Our leave-one-out evaluation demonstrates that coverage attainment can be improved (6 out of 9 cases, with no disimprovement on the remaining 3) by combining crowd-based and search-based testing. Ke Mao, Mark Harman, Yue Jia 0001 |
ASE | 3 |
| 2017 | Investigating the relationship between price, rating, and popularity in the Blackberry World App StoreabstractContext: App stores provide a software development space and a market place that are both different from those to which we have become accustomed for traditional software development: The granularity is finer and there is a far greater source of information available for research and analysis. Information is available on price, customer rating and, through the data mining approach presented in this paper, the features claimed by app developers. These attributes make app stores ideal for empirical software engineering analysis. Objective: This paper1 exploits App Store Analysis to understand the rich interplay between app customers and their developers. Method: We use data mining to extract app descriptions, price, rating, and popularity information from the Blackberry World App Store, and natural language processing to elicit each apps’ claimed features from its description. Results: The findings reveal that there are strong correlations between customer rating and popularity (rank of app downloads). We found evidence for a mild correlation between app price and the number of features claimed for the app and also found that higher priced features tended to be lower rated by their users. We also found that free apps have significantly (p-value < 0.001) higher ratings than non-free apps, with a moderately high effect size (A^12=0.68). All data from our experiments and analysis are made available on-line to support further investigations. Anthony Finkelstein, Mark Harman, Yue Jia 0001, William J. Martin, Federica Sarro, Yuanyuan Zhang 0003 |
Inf. Softw. Technol. | 3 |
| 2017 | KD-ART: Should we intensify or diversify tests to kill mutants?
Matthew Patrick, Yue Jia 0001 |
Inf. Softw. Technol. | 2 |
| 2017 | Memory mutation testing
Fan Wu 0009, Jay Nanavati, Mark Harman, Yue Jia 0001, Jens Krinke |
Inf. Softw. Technol. | 4 |
| 2017 | A survey of the use of crowdsourcing in software engineering
Ke Mao, Licia Capra, Mark Harman, Yue Jia 0001 |
J. Syst. Softw. | 4 |
| 2017 | A Survey of App Store Analysis for Software EngineeringabstractApp Store Analysis studies information about applications obtained from app stores. App stores provide a wealth of information derived from users that would not exist had the applications been distributed via previous software deployment methods. App Store Analysis combines this non-technical information with technical information to learn trends and behaviours within these forms of software repositories. Findings from App Store Analysis have a direct and actionable impact on the software teams that develop software for app stores, and have led to techniques for requirements engineering, release planning, software design, security and testing. This survey describes and compares the areas of research that have been explored thus far, drawing out common aspects, trends and directions future research should take to address open problems and challenges. William J. Martin, Federica Sarro, Yue Jia 0001, Yuanyuan Zhang 0003, Mark Harman |
IEEE Trans. Software Eng. | 3 |
| 2016 | Clustering Mobile Apps Based on Mined Textual FeaturesabstractContext: Categorising software systems according to their functionality yields many benefits to both users and developers. Goal: In order to uncover the latent clustering of mobile apps in app stores, we propose a novel technique that measures app similarity based on claimed behaviour. Method: Features are extracted using information retrieval augmented with ontological analysis and used as attributes to characterise apps. These attributes are then used to cluster the apps using agglomerative hierarchical clustering. We empirically evaluate our approach on 17,877 apps mined from the BlackBerry and Google app stores in 2014. Results: The results show that our approach dramatically improves the existing categorisation quality for both Blackberry (from 0.02 to 0.41 on average) and Google (from 0.03 to 0.21 on average) stores. We also find a strong Spearman rank correlation (ρ= 0.96 for Google and ρ= 0.99 for BlackBerry) between the number of apps and the ideal granularity within each category, indicating that ideal granularity increases with category size, as expected. Conclusions: Current categorisation in the app stores studied do not exhibit a good classification quality in terms of the claimed feature space. However, a better quality can be achieved using a good feature extraction technique and a traditional clustering method. Afnan A. Al-Subaihin, Federica Sarro, Sue Black 0001, Licia Capra, Mark Harman, Yue Jia 0001, Yuanyuan Zhang 0003 |
ESEM | 6 |
| 2016 | Comparing white-box and black-box test prioritizationabstractAlthough white-box regression test prioritization has been well-studied, the more recently introduced black-box prioritization approaches have neither been compared against each other nor against more well-established white-box techniques. We present a comprehensive experimental comparison of several test prioritization techniques, including well-established white-box strategies and more recently introduced black-box approaches. We found that Combinatorial Interaction Testing and diversity-based techniques (Input Model Diversity and Input Test Set Diameter) perform best among the black-box approaches. Perhaps surprisingly, we found little difference between black-box and white-box performance (at most 4% fault detection rate difference). We also found the overlap between black- and white-box faults to be high: the first 10% of the prioritized test suites already agree on at least 60% of the faults found. These are positive findings for practicing regression testers who may not have source code available, thereby making white-box techniques inapplicable. We also found evidence that both black-box and white-box prioritization remain robust over multiple system releases. Christopher Henard, Mike Papadakis, Mark Harman, Yue Jia 0001, Yves Le Traon |
ICSE | 4 |
| 2016 | Mutation-aware fault predictionabstractWe introduce mutation-aware fault prediction, which leverages additional guidance from metrics constructed in terms of mutants and the test cases that cover and detect them. We report the results of 12 sets of experiments, applying 4 different predictive modelling techniques to 3 large real-world systems (both open and closed source). The results show that our proposal can significantly (p ≤ 0.05) improve fault prediction performance. Moreover, mutation-based metrics lie in the top 5% most frequently relied upon fault predictors in 10 of the 12 sets of experiments, and provide the majority of the top ten fault predictors in 9 of the 12 sets of experiments. David Bowes, Tracy Hall, Mark Harman, Yue Jia 0001, Federica Sarro, Fan Wu 0009 |
ISSTA | 4 |
| 2016 | Sapienz: multi-objective automated testing for Android applicationsabstractWe introduce Sapienz, an approach to Android testing that uses multi-objective search-based testing to automatically explore and optimise test sequences, minimising length, while simultaneously maximising coverage and fault revelation. Sapienz combines random fuzzing, systematic and search-based exploration, exploiting seeding and multi-level instrumentation. Sapienz significantly outperforms (with large effect size) both the state-of-the-art technique Dynodroid and the widely-used tool, Android Monkey, in 7/10 experiments for coverage, 7/10 for fault detection and 10/10 for fault-revealing sequence length. When applied to the top 1,000 Google Play apps, Sapienz found 558 unique, previously unknown crashes. So far we have managed to make contact with the developers of 27 crashing apps. Of these, 14 have confirmed that the crashes are caused by real faults. Of those 14, six already have developer-confirmed fixes. Ke Mao, Mark Harman, Yue Jia 0001 |
ISSTA | 3 |
| 2016 | Threats to the validity of mutation-based test assessmentabstractMuch research on software testing and test techniques relies on experimental studies based on mutation testing. In this paper we reveal that such studies are vulnerable to a potential threat to validity, leading to possible Type I errors; incorrectly rejecting the Null Hypothesis. Our findings indicate that Type I errors occur, for arbitrary experiments that fail to take countermeasures, approximately 62% of the time. Clearly, a Type I error would potentially compromise any scientific conclusion. We show that the problem derives from such studies’ combined use of both subsuming and subsumed mutants. We collected articles published in the last two years at three leading software engineering conferences. Of those that use mutation-based test assessment, we found that 68% are vulnerable to this threat to validity. Mike Papadakis, Christopher Henard, Mark Harman, Yue Jia 0001, Yves Le Traon |
ISSTA | 4 |
| 2016 | API-Constrained Genetic Improvement
William B. Langdon, David Robert White, Mark Harman, Yue Jia 0001, Justyna Petke |
SSBSE | 4 |
| 2016 | HOMI: Searching Higher Order Mutants for Software Improvement
Fan Wu 0009, Mark Harman, Yue Jia 0001, Jens Krinke |
SSBSE | 3 |
| 2015 | Deep Parameter OptimisationabstractWe introduce a mutation-based approach to automatically discover and expose `deep' (previously unavailable) parameters that affect a program's runtime costs. These discovered parameters, together with existing (`shallow') parameters, form a search space that we tune using search-based optimisation in a bi-objective formulation that optimises both time and memory consumption. We implemented our approach and evaluated it on four real-world programs. The results show that we can improve execution time by 12\% or achieve a 21\% memory consumption reduction in the best cases. In three subjects, our deep parameter tuning results in a significant improvement over the baseline of shallow parameter tuning, demonstrating the potential value of our deep parameter extraction approach. Fan Wu 0009, Westley Weimer, Mark Harman, Yue Jia 0001, Jens Krinke |
GECCO | 4 |
| 2015 | Learning Combinatorial Interaction Test Generation Strategies Using Hyperheuristic SearchabstractThe surge of search based software engineering research has been hampered by the need to develop customized search algorithms for different classes of the same problem. For instance, two decades of bespoke Combinatorial Interaction Testing (CIT) algorithm development, our exemplar problem, has left software engineers with a bewildering choice of CIT techniques, each specialized for a particular task. This paper proposes the use of a single hyperheuristic algorithm that learns search strategies across a broad range of problem instances, providing a single generalist approach. We have developed a Hyperheuristic algorithm for CIT, and report experiments that show that our algorithm competes with known best solutions across constrained and unconstrained problems: For all 26 real-world subjects, it equals or outperforms the best result previously reported in the literature. We also present evidence that our algorithm's strong generic performance results from its unsupervised learning. Hyperheuristic search is thus a promising way to relocate CIT design intelligence from human to machine. Yue Jia 0001, Myra B. Cohen, Mark Harman, Justyna Petke |
ICSE (1) | 1 |
| 2015 | Trivial Compiler Equivalence: A Large Scale Empirical Study of a Simple, Fast and Effective Equivalent Mutant Detection TechniqueabstractIdentifying equivalent mutants remains the largest impediment to the widespread uptake of mutation testing. Despite being researched for more than three decades, the problem remains. We propose Trivial Compiler Equivalence (TCE) a technique that exploits the use of readily available compiler technology to address this long-standing challenge. TCE is directly applicable to real-world programs and can imbue existing tools with the ability to detect equivalent mutants and a special form of useless mutants called duplicated mutants. We present a thorough empirical study using 6 large open source programs, several orders of magnitude larger than those used in previous work, and 18 benchmark programs with hand-analysis equivalent mutants. Our results reveal that, on large real-world programs, TCE can discard more than 7% and 21% of all the mutants as being equivalent and duplicated mutants respectively. A human- based equivalence verification reveals that TCE has the ability to detect approximately 30% of all the existing equivalent mutants. Mike Papadakis, Yue Jia 0001, Mark Harman, Yves Le Traon |
ICSE (1) | 2 |
| 2015 | Achievements, Open Problems and Challenges for Search Based Software TestingabstractSearch Based Software Testing (SBST) formulates testing as an optimisation problem, which can be attacked using computational search techniques from the field of Search Based Software Engineering (SBSE). We present an analysis of the SBST research agenda, focusing on the open problems and challenges of testing non-functional properties, in particular a topic we call 'Search Based Energy Testing' (SBET), Multi-objective SBST and SBST for Test Strategy Identification. We conclude with a vision of FIFIVERIFY tools, which would automatically find faults, fix them and verify the fixes. We explain why we think such FIFIVERIFY tools constitute an exciting challenge for the SBSE community that already could be within its reach. Mark Harman, Yue Jia 0001, Yuanyuan Zhang 0003 |
ICST | 2 |
| 2015 | Automated software transplantationabstractAutomated transplantation would open many exciting avenues for software development: suppose we could autotransplant code from one system into another, entirely unrelated, system. This paper introduces a theory, an algorithm, and a tool that achieve this. Leveraging lightweight annotation, program analysis identifies an organ (interesting behavior to transplant); testing validates that the organ exhibits the desired behavior during its extraction and after its implantation into a host. While we do not claim automated transplantation is now a solved problem, our results are encouraging: we report that in 12 of 15 experiments, involving 5 donors and 3 hosts (all popular real-world systems), we successfully autotransplanted new functionality and passed all regression tests. Autotransplantation is also already useful: in 26 hours computation time we successfully autotransplanted the H.264 video encoding functionality from the x264 system to the VLC media player; compare this to upgrading x264 within VLC, a task that we estimate, from VLC's version history, took human programmers an average of 20 days of elapsed, as opposed to dedicated, time. Earl T. Barr, Mark Harman, Yue Jia 0001, Alexandru Marginean, Justyna Petke |
ISSTA | 3 |
| 2015 | The App Sampling Problem for App Store MiningabstractMany papers on App Store Mining are susceptible to the App Sampling Problem, which exists when only a subset of apps are studied, resulting in potential sampling bias. We introduce the App Sampling Problem, and study its effects on sets of user review data. We investigate the effects of sampling bias, and techniques for its amelioration in App Store Mining and Analysis, where sampling bias is often unavoidable. We mine 106,891 requests from 2,729,103 user reviews and investigate the properties of apps and reviews from 3 different partitions: the sets with fully complete review data, partially complete review data, and no review data at all. We find that app metrics such as price, rating, and download rank are significantly different between the three completeness levels. We show that correlation analysis can find trends in the data that prevail across the partitions, offering one possible approach to App Store Analysis in the presence of sampling bias. William J. Martin, Mark Harman, Yue Jia 0001, Federica Sarro, Yuanyuan Zhang 0003 |
MSR | 3 |
| 2015 | Feature lifecycles as they spread, migrate, remain, and die in App StoresabstractWe introduce a theoretical characterisation of feature lifecycles in app stores, to help app developers to identify trends and to find undiscovered requirements. To illustrate and motivate app feature lifecycle analysis, we use our theory to empirically analyse the migratory and non-migratory behaviours of 4,053 non-free features from two App Stores (Samsung and BlackBerry). The results reveal that, in both stores, intransitive features (those that neither migrate nor die out) exhibit significantly different behaviours with regard to important properties, such as their price. Further correlation analysis also highlights differences between trends relating price, rating, and popularity. Our results indicate that feature lifecycle analysis can yield insights that may also help developers to understand feature behaviours and attribute relationships. Federica Sarro, Afnan A. Al-Subaihin, Mark Harman, Yue Jia 0001, William J. Martin, Yuanyuan Zhang 0003 |
RE | 4 |
| 2015 | Regression Test Case Prioritisation for Guava
Serkan Kirbas, Mark Harman, Yue Jia 0001, Zheng Li 0002 |
SSBSE | 4 |
| 2015 | Grow and Serve: Growing Django Citation Services Using SBSE
Yue Jia 0001, Mark Harman, William B. Langdon, Alexandru Marginean |
SSBSE | 1 |
| 2015 | Automated Transplantation of Call Graph and Layout Features into Kate
Alexandru Marginean, Earl T. Barr, Mark Harman, Yue Jia 0001 |
SSBSE | 4 |
| 2015 | Exploring the Landscape of Non-Functional Program Properties Using Spatial Analysis
Matthew Patrick, Yue Jia 0001 |
SSBSE | 2 |
| 2015 | Inferring Test Models from Kate's Bug Reports Using Multi-objective Search
Yuanyuan Zhang 0003, Mark Harman, Yue Jia 0001, Federica Sarro |
SSBSE | 3 |
| 2015 | Introduction to the special issue on Mutation TestingabstractIt is our pleasure to introduce this special issue on Mutation Testing. The special issue contains nine papers, including four extended versions of papers presented at the 7th International Workshop on Mutation Analysis and five new submissions. We have divided the special issue into three broad areas based on the topics covered. The first area focuses on the techniques for making mutation testing more efficient and practical; the second area revisits some fundamental questions about mutants, whilst the third area presents some advanced applications of mutation testing for model-based testing. Mutation Testing has been proven to be an effective way to measure the quality of a test suite in terms of its ability to detect faults 1. The history of mutation testing can be traced back to 1971 in a publication by Richard Lipton 2 as well as in publications from the late 1970s by DeMillo et al. 3 and Hamlet 4. In Mutation Testing, faults are deliberately seeded into the original program (by simple syntactic changes) to create a set of faulty programs called mutants, each containing a different syntactic change. The general principle underpinning Mutation Testing is that artificial faults can be used to represent common programming mistakes. By carefully choosing the location within the program and the types of faults, it is possible to simulate any test adequacy criteria whilst providing improved fault detection. A recent survey on mutation testing provides evidence to suggest that the approach is increasing in maturity and practical application 5. One reason why mutation testing has become a popular testing approach is that it is a straightforward process to apply. To assess the quality of a given test set, the generated mutants are executed against the input test set. If the result of running a mutant is different from the result of running the original program for any test cases in the input test set, the seeded fault denoted by the mutant is detected. One outcome of the Mutation Testing process is the mutation score, which indicates the quality of the input test set. The mutation score is the ratio of the number of detected faults over the total number of seeded faults. Mutation Testing has been widely adopted in the academic community as a means to evaluate software testing techniques 6, as well as to generate tests and test oracles 7, 8. However, it still suffers from a number of problems that prevent the wider industrial uptake of this effective testing approach. One problem that prevents Mutation Testing from becoming a practical testing technique is the high computational cost of executing a large number of mutants against a test set. Other problems are related to the amount of effort involved in identifying equivalent mutants. Each submission received three reviews from a board of 36 mutation testing experts. For all submissions extended from the mutation workshop, we have recruited at least one new reviewer to ensure wider accessibility to a non-mutation expert testing audience. The first area covers the topic of making mutation testing more efficient and practical. The three papers in this area introduce novel techniques to optimize mutant execution, to reduce redundant mutants and to detect equivalent mutants. In the first paper 'Reducing Mutation Costs Through Uncovered Mutants', Pedro Reales Mateo and Macario Polo Usaola propose an improved mutant schema, namely, 'MUSIC' to reduce the execution cost for mutation testing. The MUSIC approach records runtime information about structural and mutation coverage; it reduces the execution cost by removing mutant execution tasks, which are not covered by the test cases. The second paper 'Higher Accuracy and Lower Run Time: Efficient Mutation Analysis using Non-redundant Mutation Operators' by René Just and Franz Schweiggert attempts to reduce the number of mutants by applying only non-redundant mutation operators. The authors identified a set of operators that tend to not generate any redundant mutants, and their results show that 20% of the runtime cost could be saved using the selected operators. The third paper 'Employing Second-order Mutation for Isolating First-order Equivalent Mutants' by Marinos Kintis, Mike Papadakis and Nicos Malevris seeks to automatically identify equivalent mutants through higher order mutation. Their approach combines impact analysis for both first-order and second-order mutants, and it achieved an equivalent mutant classification precision of 73% and a classification recall of 65%. The three papers in the second area revisit some fundamental questions about mutants and explore a new application of mutation testing. The first paper 'Quality Metrics for Mutation Testing with Applications to WS-BPEL Compositions' by Antonia Estero-Botaro, Francisco Palomo-Lozano, Inmaculada Medina-Bulo, Juan José Domínguez-Jiménez and Antonio García-Domínguez attempts to discover what it means for mutants to be effective. They formally define a set of metrics to measure the quality of mutation operators and evaluate them using WS-BPEL applications. The second paper 'MuRanker: a Mutant Ranking Tool' by Akbar Siami Namin, Xiaozhen Xue, Omar Rosas and Pankaj Sharma proposes metrics to measure the mutant complexity based on how easy or hard they are to kill. They implemented a prototype tool, MuRanker, which can help testers to prioritize the analysis of mutants based on their killing ability. The third paper 'Metallaxis-FL: Mutation-based Fault Localisation' by Mike Papadakis and Yves Le Traon explores the application of mutation testing for fault localization. This approach combines code coverage and mutation information to rank suspicious statements. The results show that it outperforms other traditional coverage-based fault detection approaches. The third area covers some advanced applications of mutation analysis for model-based testing techniques. This is an under-studied area compared with traditional program mutation. The first paper 'Using Mutation to Assess Fault Detection Capability of Model Review' by Paolo Arcaini, Angelo Gargantini and Elvinia Riccobene introduces a set of mutation operators for NuSMV Models. The mutant models simulate common behavioural faults and can be used to evaluate the fault detection ability of automated model review techniques. The second paper 'Towards an Automation of the Mutation Analysis Dedicated to Model Transformation' by Vincent Aranega, Jean-Marie Mottu, Anne Etien, Thomas Degueule, Benoit Baudry and Jean-Luc Dekeyser proposes to use mutation testing to test model transformations. They designed a set of mutation operators targeting three actions in model transformation: navigation, filtering and creation/modification. These are evaluated on the class2rdbms technique, which generates relational database management systems model from class diagrams. The third paper 'Model-based Mutation Testing from Security Protocols in HLPSL' by Frédéric Dadeau, Pierre-Cyrille Héam, Rafik Kheddam, Ghazi Maatoug and Michael Rusinowitch proposes a set of mutation operators to generate mutants for HLPSL security protocols. It also demonstrates that concretization test data generation techniques can be used to construct test scripts to kill the mutants. We wish to thank the authors and reviewers for their contributions to this special issue and Rob Hierons and Jeff Offutt for helping to manage the review process. Yue Jia 0001, Mercedes G. Merayo, Mark Harman |
Softw. Test. Verification Reliab. | 1 |
| 2014 | A study of equivalent and stubborn mutation operators using human analysis of equivalenceabstractThough mutation testing has been widely studied for more than thirty years, the prevalence and properties of equivalent mutants remain largely unknown. We report on the causes and prevalence of equivalent mutants and their relationship to stubborn mutants (those that remain undetected by a high quality test suite, yet are non-equivalent). Our results, based on manual analysis of 1,230 mutants from 18 programs, reveal a highly uneven distribution of equivalence and stubbornness. For example, the ABS class and half UOI class generate many equivalent and almost no stubborn mutants, while the LCR class generates many stubborn and few equivalent mutants. We conclude that previous test effectiveness studies based on fault seeding could be skewed, while developers of mutation testing tools should prioritise those operators that we found generate disproportionately many stubborn (and few equivalent) mutants. Xiangjuan Yao, Mark Harman, Yue Jia 0001 |
ICSE | 3 |
| 2014 | Angels and monsters: an empirical investigation of potential test effectiveness and efficiency improvement from strongly subsuming higher order mutationabstractWe study the simultaneous test effectiveness and efficiency improvement achievable by Strongly Subsuming Higher Order Mutants (SSHOMs), constructed from 15,792 first order mutants in four Java programs. Using SSHOMs in place of the first order mutants they subsume yielded a 35%-45% reduction in the number of mutants required, while simultaneously improving test efficiency by 15% and effectiveness by between 5.6% and 12%. Trivial first order faults often combine to form exceptionally non-trivial higher order faults; apparently innocuous angels can combine to breed monsters. Nevertheless, these same monsters can be recruited to improve automated test effectiveness and efficiency. Mark Harman, Yue Jia 0001, Pedro Reales Mateo, Macario Polo |
ASE | 2 |
| 2014 | Search based software engineering for software product line engineering: a survey and directions for future workabstractThis paper presents a survey of work on Search Based Software Engineering (SBSE) for Software Product Lines (SPLs). We have attempted to be comprehensive, in the sense that we have sought to include all papers that apply computational search techniques to problems in software product line engineering. Having surveyed the recent explosion in SBSE for SPL research activity, we highlight some directions for future work. We focus on suggestions for the development of recent advances in genetic improvement, showing how these might be exploited by SPL researchers and practitioners: Genetic improvement may grow new products with new functional and non-functional features and graft these into SPLs. It may also merge and parameterise multiple branches to cope with SPL branchmania. Mark Harman, Yue Jia 0001, Jens Krinke, William B. Langdon, Justyna Petke, Yuanyuan Zhang 0003 |
SPLC | 2 |
| 2014 | Less is More: Temporal Fault Predictive Performance over Multiple Hadoop Releases
Mark Harman, Syed S. Islam, Yue Jia 0001, Leandro L. Minku, Federica Sarro, Komsan Srivisut |
SSBSE | 3 |
| 2014 | Babel Pidgin: SBSE Can Grow and Graft Entirely New Functionality into a Real World System
Mark Harman, Yue Jia 0001, William B. Langdon |
SSBSE | 2 |
| 2013 | Searching for better configurations: a rigorous approach to clone evaluationabstractClone detection finds application in many software engineering activities such as comprehension and refactoring. However, the confounding configuration choice problem poses a widely-acknowledged threat to the validity of previous empirical analyses. We introduce desktop and parallelised cloud-deployed versions of a search based solution that finds suitable configurations for empirical studies. We evaluate our approach on 6 widely used clone detection tools applied to the Bellon suite of 8 subject systems. Our evaluation reports the results of 9.3 million total executions of a clone tool; the largest study yet reported. Our approach finds significantly better configurations (p < 0.05) than those currently used, providing evidence that our approach can ameliorate the confounding configuration choice problem. Tiantian Wang 0001, Mark Harman, Yue Jia 0001, Jens Krinke |
ESEC/SIGSOFT FSE | 3 |
| 2012 | Finding the Optimal Balance between Over and Under Approximation of Models Inferred from Execution LogsabstractModels inferred from execution traces (logs) may admit more behaviours than those possible in the real system (over-approximation) or may exclude behaviours that can indeed occur in the real system (under-approximation). Both problems negatively affect model based testing. In fact, over-approximation results in infeasible test cases, i.e., test cases that cannot be activated by any input data. Under-approximation results in missing test cases, i.e., system behaviours that are not represented in the model are also never tested. In this paper we balance over- and under-approximation of inferred models by resorting to multi-objective optimization achieved by means of two search-based algorithms: A multi-objective Genetic Algorithm (GA) and the NSGA-II. We report the results on two open-source web applications and compare the multi-objective optimization to the state-of-the-art KLFA tool. We show that it is possible to identify regions in the Pareto front that contain models which violate fewer application constraints and have a higher bug detection ratio. The Pareto fronts generated by the multi-objective GA contain a region where models violate on average 2% of an application's constraints, compared to 2.8% for NSGA-II and 28.3% for the KLFA models. Similarly, it is possible to identify a region on the Pareto front where the multi-objective GA inferred models have an average bug detection ratio of 110 : 3 and the NSGA-II inferred models have an average bug detection ratio of 101 : 6. This compares to a bug detection ratio of 310928 : 13 for the KLFA tool. Paolo Tonella, Alessandro Marchetto 0001, Duy Cu Nguyen, Yue Jia 0001, Kiran Lakhotia, Mark Harman |
ICST | 4 |
| 2012 | The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper)abstractOptimising programs for non-functional properties such as speed, size, throughput, power consumption and bandwidth can be demanding; pity the poor programmer who is asked to cater for them all at once! We set out an alternate vision for a new kind of software development environment inspired by recent results from Search Based Software Engineering (SBSE). Given an input program that satisfies the functional requirements, the proposed programming environment will automatically generate a set of candidate program implementations, all of which share functionality, but each of which differ in their non-functional trade offs. The software designer navigates this diverse Pareto surface of candidate implementations, gaining insight into the trade offs and selecting solutions for different platforms and environments, thereby stretching beyond the reach of current compiler technologies. Rather than having to focus on the details required to manage complex, inter-related and conflicting, non-functional trade offs, the designer is thus freed to explore, to understand, to control and to decide rather than to construct. Mark Harman, William B. Langdon, Yue Jia 0001, David Robert White, Andrea Arcuri, John A. Clark |
ASE | 3 |
| 2012 | App store mining and analysis: MSR for app storesabstractThis paper introduces app store mining and analysis as a form of software repository mining. Unlike other software repositories traditionally used in MSR work, app stores usually do not provide source code. However, they do provide a wealth of other information in the form of pricing and customer reviews. Therefore, we use data mining to extract feature information, which we then combine with more readily available information to analyse apps' technical, customer and business aspects. We applied our approach to the 32,108 non-zero priced apps available in the Blackberry app store in September 2011. Our results show that there is a strong correlation between customer rating and the rank of app downloads, though perhaps surprisingly, there is no correlation between price and downloads, nor between price and rating. More importantly, we show that these correlation findings carry over to (and are even occasionally enhanced within) the space of data mined app features, providing evidence that our `App store MSR' approach can be valuable to app developers. Mark Harman, Yue Jia 0001, Yuanyuan Zhang 0003 |
MSR | 2 |
| 2011 | Strong higher order mutation-based test data generationabstractThis paper introduces SHOM, a mutation-based test data generation approach that combines Dynamic Symbolic Execution and Search Based Software Testing. SHOM targets strong mutation adequacy and is capable of killing both first and higher order mutants. We report the results of an empirical study using 17 programs, including production industrial code from ABB and Daimler and open source code as well as previously studied subjects. SHOM achieved higher strong mutation adequacy than two recent mutation-based test data generation approaches, killing between 8% and 38% of those mutants left unkilled by the best performing previous approach. Mark Harman, Yue Jia 0001, William B. Langdon |
SIGSOFT FSE | 2 |
| 2011 | An Analysis and Survey of the Development of Mutation TestingabstractMutation Testing is a fault-based software testing technique that has been widely studied for over three decades. The literature on Mutation Testing has contributed a set of approaches, tools, developments, and empirical results. This paper provides a comprehensive analysis and survey of Mutation Testing. The paper also presents the results of several development trend analyses. These analyses provide evidence that Mutation Testing techniques and tools are reaching a state of maturity and applicability, while the topic of Mutation Testing itself is the subject of increasing interest. Yue Jia 0001, Mark Harman |
IEEE Trans. Software Eng. | 1 |
| 2010 | Cloning and copying between GNOME projectsabstractThis paper presents an approach to automatically distinguish the copied clone from the original in a pair of clones. It matches the line-by-line version information of a clone to the pair's other clone. A case study on the GNOME Desktop Suite revealed a complex flow of reused code between the different subprojects. In particular, it showed that the majority of larger clones (with a minimal size of 28 lines or higher) exist between the subprojects and more than 60% of the clone pairs can be automatically separated into original and copy. Jens Krinke, Nicolas E. Gold, Yue Jia 0001, Dave W. Binkley |
MSR | 3 |
| 2010 | Efficient multi-objective higher order mutation testing with genetic programming
William B. Langdon, Mark Harman, Yue Jia 0001 |
J. Syst. Softw. | 3 |
| 2009 | Multi objective higher order mutation testing with GPabstractMutation testing is a powerful software engineering technique for fault finding. It works by injecting known faults (mutations) into software and seeing if the test suite finds them. It remains very expensive and the few valuable traditional mutants that resemble real faults are mixed in with many others that denote unrealistic faults. The expense and lack of realism inhibit industrial uptake of mutation testing. Genetic programming searches the space of complex faults to find realistic higher order mutants. Despite the much larger search space, we have found mutants composed of multiple changes to the C source code that challenge the tester and which cannot be represented in the first order space. William B. Langdon, Mark Harman, Yue Jia 0001 |
GECCO | 3 |
| 2009 | Higher Order Mutation Testing
Yue Jia 0001, Mark Harman |
Inf. Softw. Technol. | 1 |
| 2008 | Constructing Subtle Faults Using Higher Order Mutation TestingabstractTraditional mutation testing considers only first order mutants, created by the injection of a single fault. Often these first order mutants denote trivial faults that are easily killed. This paper investigates higher order mutants (HOMs). It introduces the concept of a subsuming HOM; one that is harder to kill than the first order mutants from which it is constructed. By definition, subsuming HOMs denote subtle fault combinations. The paper reports the results of an empirical study into subsuming HOMs, using six benchmark programs. This is the largest study of mutation testing to date. To overcome the exponential explosion in the number of mutants considered, the paper introduces a search based approach to the identification of subsuming HOMs. Results are presented for a greedy algorithm, a genetic algorithm and a hill climbing algorithm. Yue Jia 0001, Mark Harman |
SCAM | 1 |