Branch coverage prediction in automated testing
read more
Citations
The impact of test case summaries on bug fixing performance: An empirical investigation.
Can this fault be detected: A study on fault detection via automated test generation
An Empirical Study of the Relationship between Continuous Integration and Test Code Evolution
Integrated Pairwise Testing based Genetic Algorithm for Test Optimization
Автоматическая настройка систем автоматического управления газотурбинными установками с использованием алгоритмов библиотеки Apache Commons Math
References
LIBSVM: A library for support vector machines
Scikit-learn: Machine Learning in Python
Learning internal representations by error propagation
Parallel Distributed Processing: Explorations in the Microstructure of Cognition: Foundations
An introduction to variable and feature selection
Related Papers (5)
A Large-Scale Evaluation of Automated Unit Test Generation Using EvoSuite
EvoSuite: automatic test suite generation for object-oriented software
Frequently Asked Questions (12)
Q2. What are the future works mentioned in the paper "Branch coverage prediction in automated testing" ?
Future efforts will involve both the horizontal and the vertical extension of this work: with the former, the authors plan to still enlarge the training dataset ; with the latter they aim at detecting evenmore sophisticated features aimed at improving the precision of themodel.
Q3. What is the reason for the lack of a complete regression testing pipeline?
due to the time constraints between frequent commits, a complete regression testing is not feasible for large projects 5. Furthermore, even test suite augmentation6, i.e., the automatic generation considering code changes and their effect on the previous codebase, is hardly doable due to the extensive amount of time needed to generate tests for just a single class.
Q4. What is the accurate algorithm amongst the considered ones?
RANDOM FOREST REGRESSOR is the most accurate algorithm amongst the considered ones, scoring an average 0.15 and a 0.21 MAE respectively for the EVOSUITE and the RANDOOPmodel over the different search-budgets.
Q5. What is the main rationale behind the use of halstead metrics?
The main rationale behind the choice of this set of metrics lies indeed in the fact that they use operands and operators as atomic units of measurement.
Q6. How many times do the authors repeat the outer cross-validation loop?
It is worth to note that, to cope with the randomness arising fromusing different data splits 50, the authors repeat the outer cross-validation loop 10 times.
Q7. What is the purpose of the Halstead complexitymetrics?
TheHalstead complexitymetrics have been developed byMaurice Halstead 10 with the goal to quantitativelymeasure the complexity of a program directly from the source code.
Q8. How many MAEs are achieved for EVOSUITE?
It is worth to remark that, in their previous work 11, the authors achieve a MAE of 0.291 and 0.225 respectively for the EVOSUITE and RANDOOP model (only trained with the default-budget).
Q9. What is the main reason why RANDOOP relies on random-search?
RANDOOP relies on random-search: thismeans that the additional budget given to the search ismerely used to generate additional random inputs, without any guidance towards better solutions.
Q10. What is the role of testing in a continuous integration pipeline?
Testing plays an important role in such a pipeline: in an ideal world, at every single commit, every system’s test case should be executed (regression testing).
Q11. What is the argument that makes the prediction of the achievable branch harder?
The authors argue that the intrinsic randomness of RANDOOP makes harder the prediction of the achievable branch-coverage, compared to EVOSUITE.
Q12. How does a test-case generation tool achieve high coverage?
in some cases —especially for a very trivial class— a testing tool achieves a high-level of coverage in a short amount of time, sometimes even the 100% of coverage with the default search-budget.