@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 {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}
}
@conference {BSB15,
	title = {{CodeMetropolis}: Eclipse over the City of Source Code},
	booktitle = {Proceedings of the 15th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM{\textquoteright}15)},
	year = {2015},
	month = {sep},
	pages = {271-276},
	author = {Gerg{\H o} Balogh and Szabolics, Attila and {\'A}rp{\'a}d Besz{\'e}des}
}
@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 {BaB13b,
	title = {{CodeMetropolis} - a {Minecraft} based collaboration tool for developers},
	booktitle = {Proceedings of the 1st IEEE Working Conference on Software Visualization (VISSOFT{\textquoteright}13), New Ideas or Emerging Results track},
	year = {2013},
	month = {sep},
	pages = {1-4},
	author = {Gerg{\H o} Balogh and {\'A}rp{\'a}d Besz{\'e}des}
}
@conference {BaB13a,
	title = {{CodeMetropolis} - code visualisation in {Minecraft}},
	booktitle = {Proceedings of the 13th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM{\textquoteright}13), Tool Track},
	year = {2013},
	pages = {127-132},
	author = {Gerg{\H o} Balogh and {\'A}rp{\'a}d Besz{\'e}des}
}
@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 {TNJ10,
	title = {{CIASYS} {\textendash} Change Impact Analysis at System Level},
	booktitle = {Proceedings of the 14th European Conference on Software Maintenance and Reengineering (CSMR{\textquoteright}10)},
	year = {2010},
	pages = {203-206},
	author = {T{\'o}th, G. and Csaba Nagy and Judit J{\'a}sz and {\'A}rp{\'a}d Besz{\'e}des and F{\"u}l{\"o}p, L.J.}
}
@conference {THJ10,
	title = {Comparison of Different Impact Analysis Methods and Programmer{\textquoteright}s Opinion {\textendash} an Empirical Study},
	booktitle = {Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java (PPPJ{\textquoteright}10)},
	year = {2010},
	pages = {109-118},
	publisher = {ACM},
	organization = {ACM},
	author = {T{\'o}th, G. and P Heged{\H u}s and Judit J{\'a}sz and {\'A}rp{\'a}d Besz{\'e}des and Tibor Gyim{\'o}thy}
}
@conference {TFV10,
	title = {Complex Event Processing Synergies with Predictive Analytics},
	booktitle = {Proceedings of the 4th ACM International Conference on Distributed Event-Based Systems (DEBS{\textquoteright}10), Posters Session},
	year = {2010},
	pages = {95-96},
	publisher = {ACM},
	organization = {ACM},
	author = {T{\'o}th, G. and F{\"u}l{\"o}p, L.J. and L{\'a}szl{\'o} Vid{\'a}cs and {\'A}rp{\'a}d Besz{\'e}des and Demeter, H. and Farkas, L. and Tibor Gyim{\'o}thy}
}
@article {VBG09,
	title = {Combining preprocessor slicing with {C}/{C++} language slicing},
	journal = {Science of Computer Programming},
	volume = {74},
	number = {7},
	year = {2009},
	note = {Special Issue on Program Comprehension (ICPC 2008)},
	pages = {399-413},
	publisher = {Elsevier},
	keywords = {relate:quality},
	author = {L{\'a}szl{\'o} Vid{\'a}cs and {\'A}rp{\'a}d Besz{\'e}des and Tibor Gyim{\'o}thy}
}
@conference {VJB08,
	title = {Combining Preprocessor Slicing with {C}/{C++} Language Slicing},
	booktitle = {Proceedings of the 16th IEEE International Conference on Program Comprehension (ICPC{\textquoteright}08)},
	year = {2008},
	month = {jun},
	pages = {163-171},
	keywords = {relate:quality, software quality selected},
	author = {L{\'a}szl{\'o} Vid{\'a}cs and Judit J{\'a}sz and {\'A}rp{\'a}d Besz{\'e}des and Tibor Gyim{\'o}thy}
}
@conference {BBF08,
	title = {Continuous Software Quality Supervision Using {SourceInventory} and {Columbus}},
	booktitle = {Research Demonstrations of 30th International Conference on Software Engineering (ICSE{\textquoteright}08)},
	year = {2008},
	pages = {931-932},
	author = {Tibor Bakota and {\'A}rp{\'a}d Besz{\'e}des and Rudolf Ferenc and Tibor Gyim{\'o}thy}
}
@conference {NLB07,
	title = {Code factoring in {GCC} on different intermediate languages},
	booktitle = {Proceedings of the 10th Symposium on Programming Languages and Software Tools (SPLST{\textquoteright}07)},
	year = {2007},
	month = {jun},
	pages = {79-95},
	author = {Csaba Nagy and G. L{\'o}ki and {\'A}rp{\'a}d Besz{\'e}des 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 {BFG05,
	title = {{Columbus: A Reverse Engineering Approach}},
	booktitle = {Proceedings of the 13th IEEE Workshop on Software Technology and Engineering Practice (STEP 2005)},
	year = {2005},
	month = {sep},
	pages = {93-96},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Rudolf Ferenc and Tibor Gyim{\'o}thy}
}
@conference {LKJ04,
	title = {{Code Factoring in GCC}},
	booktitle = {Proceedings of the 2004 GCC Developers{\textquoteright} Summit},
	year = {2004},
	month = {jun},
	pages = {79-84},
	keywords = {opensource},
	author = {G. L{\'o}ki and {\'A}kos Kiss and Judit J{\'a}sz and {\'A}rp{\'a}d Besz{\'e}des}
}
@conference {VBF04,
	title = {{Columbus Schema for C/C++ Preprocessing}},
	booktitle = {Proceedings of the 8th European Conference on Software Maintenance and Reengineering (CSMR 2004)},
	year = {2004},
	month = {mar},
	pages = {75-84},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	author = {L{\'a}szl{\'o} Vid{\'a}cs and {\'A}rp{\'a}d Besz{\'e}des and Rudolf Ferenc}
}
@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}
}
@conference {FBT02,
	title = {{Columbus {\textendash} Reverse Engineering Tool and Schema for C++}},
	booktitle = {Proceedings of the 18th International Conference on Software Maintenance (ICSM{\textquoteright}02)},
	year = {2002},
	month = {oct},
	pages = {172-181},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	keywords = {relate:quality},
	author = {Rudolf Ferenc and {\'A}rp{\'a}d Besz{\'e}des and M. Tarkiainen and Tibor Gyim{\'o}thy}
}
@conference {FMB01,
	title = {{C}olumbus {\textendash} Tool for Reverse Engineering Large Object Oriented Software Systems},
	booktitle = {Proceedings of the Seventh Symposium on Programming Languages and Software Tools (SPLST 2001)},
	year = {2001},
	month = {jun},
	pages = {16-27},
	publisher = {University of Szeged},
	organization = {University of Szeged},
	author = {Rudolf Ferenc and F. Magyar and {\'A}rp{\'a}d Besz{\'e}des and {\'A}kos Kiss and M. Tarkiainen}
}
@booklet {FMBe00,
	title = {Columbus 2.0 - Tool for Reverse Engineering Large Object Oriented Software Systems},
	year = {2000},
	publisher = {Research Group on Artificial Intelligence, Hungarian Academy of Sciences and University of Szeged},
	author = {Rudolf Ferenc and F. Magyar and {\'A}rp{\'a}d Besz{\'e}des and G. M{\'a}rton and M. Tarkiainen and Tibor Gyim{\'o}thy}
}
