@article {16565,
	title = {Code Coverage Differences of Java Bytecode and Source Code},
	journal = {Software Quality Journal},
	volume = {27},
	year = {2019},
	month = {03/2019},
	pages = {79-123},
	abstract = {Many software testing fields, like white-box testing, test case generation, test prioritization, and fault localization, depend on code coverage measurement. If used as an overall completeness measure, the minor inaccuracies of coverage data reported by a tool do not matter that much; however, in certain situations, they can lead to serious confusion. For example, a code element that is falsely reported as covered can introduce false confidence in the test. This work investigates code coverage measurement issues for the Java programming language. For Java, the prevalent approach to code coverage measurement is using bytecode instrumentation due to its various benefits over source code instrumentation. As we have experienced, bytecode instrumentation-based code coverage tools produce different results than source code instrumentation-based ones in terms of the reported items as covered. We report on an empirical study to compare the code coverage results provided by tools using the different instrumentation types for Java coverage measurement on the method level. In particular, we want to find out how much a bytecode instrumentation approach is inaccurate compared to a source code instrumentation method. The differences are systematically investigated both in quantitative (how much the outputs differ) and in qualitative terms (what the causes for the differences are). In addition, the impact on test prioritization and test suite reduction{\textemdash}a possible application of coverage measurement{\textemdash}is investigated in more detail as well.},
	keywords = {Code coverage, Coverage tools, Empirical study, Java bytecode instrumentation, select:quality, Source code instrumentation, White-box testing},
	doi = {10.1007/s11219-017-9389-z},
	url = {https://link.springer.com/article/10.1007/s11219-017-9389-z$\#$citeas},
	author = {Ferenc Horv{\'a}th and Tam{\'a}s Gergely and {\'A}rp{\'a}d Besz{\'e}des and D{\'a}vid Tengeri and Gerg{\H o} Balogh and Tibor Gyimothy}
}
@article {MTMT:3289296,
	title = {Code Coverage Differences of Java Bytecode and Source Code Instrumentation Tools},
	journal = {SOFTWARE QUALITY JOURNAL},
	volume = {27},
	year = {2019},
	pages = {79-123},
	issn = {0963-9314},
	doi = {10.1007/s11219-017-9389-z},
	url = {https://m2.mtmt.hu/api/publication/3289296},
	author = {Horv{\'a}th, Ferenc and Gergely, Tam{\'a}s and Besz{\'e}des, {\'A}rp{\'a}d and Tengeri, D{\'a}vid and Balogh, Gerg{\H o} and Tibor Gyim{\'o}thy}
}
@article {HGB17,
	title = {Code Coverage Differences of {Java} Bytecode and Source Code Instrumentation Tools},
	journal = {Software Quality Journal},
	year = {2017},
	publisher = {Springer US},
	doi = {http://dx.doi.org/10.1007/s11219-017-9389-z},
	author = {Horv{\'a}th, Ferenc and Tam{\'a}s Gergely and {\'A}rp{\'a}d Besz{\'e}des and Tengeri, D{\'a}vid and Gerg{\H o} Balogh and Tibor Gyim{\'o}thy}
}
@article {HBG14,
	title = {Code Coverage Measurement Framework for {Android} Devices},
	journal = {Acta Cybernetica},
	volume = {21},
	number = {3},
	year = {2014},
	note = {Special Issue on SPLST{\textquoteright}13},
	pages = {439-458},
	publisher = {Institute of Informatics, University of Szeged, Szeged, Hungary},
	author = {Horv{\'a}th, Ferenc and Bogn{\'a}r, Szabolcs and Tam{\'a}s Gergely and R{\'a}cz, R{\'o}bert and {\'A}rp{\'a}d Besz{\'e}des and Marinkovi{\'c}, Vladimir}
}
@conference {16355,
	title = {Code Coverage Measurement Framework for Android Devices},
	booktitle = {Proceedings of the 13th Symposium on Programming Languages and Software Tools, SPLST{\textquoteright}13},
	year = {2013},
	pages = {46{\textendash}60},
	publisher = {University of Szeged},
	organization = {University of Szeged},
	address = {Szeged},
	author = {Szabolcs Bogn{\'a}r and Tam{\'a}s Gergely and R{\'o}bert R{\'a}cz and {\'A}rp{\'a}d Besz{\'e}des and Vladimir Marinkovic},
	editor = {{\'A}kos Kiss}
}
@conference {16308,
	title = {Code Coverage-Based Regression Test Selection and Prioritization in {WebKit}},
	year = {2012},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Tam{\'a}s Gergely and Schrettner, L. and Judit J{\'a}sz and L{\'a}szl{\'o} Lang{\'o} and Tibor Gyim{\'o}thy}
}
@conference {BGJ07,
	title = {Computation of {Static Execute After} Relation with Applications to Software Maintenance},
	booktitle = {Proceedings of the 2007 IEEE International Conference on Software Maintenance (ICSM{\textquoteright}07)},
	year = {2007},
	month = {oct},
	pages = {295-304},
	keywords = {software quality selected},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Tam{\'a}s Gergely and Judit J{\'a}sz and T{\'o}th, G. and Tibor Gyim{\'o}thy and V. Rajlich}
}
@conference {BFG04,
	title = {{CSiBE Benchmark: One Year Perspective and Plans}},
	booktitle = {Proceedings of the 2004 GCC Developers{\textquoteright} Summit},
	year = {2004},
	month = {jun},
	pages = {7-15},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Rudolf Ferenc and Tam{\'a}s Gergely and Tibor Gyim{\'o}thy and G. L{\'o}ki and L{\'a}szl{\'o} Vid{\'a}cs}
}
