Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1572272.1572278acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Advanced code coverage analysis using substring holes

Published: 19 July 2009 Publication History

Abstract

Code coverage is a common aid in the testing process. It is generally used for marking the source code segments that were executed and, more importantly, those that were not executed.
Many code coverage tools exist, supporting a variety of languages and operating systems. Unfortunately, these tools provide little or no assistance when code coverage data is voluminous. Such quantities are typical of system tests and even for earlier testing phases. Drill-down capabilities that look at different granularities of the data, starting with directories and going through files to functions and lines of source code, are insufficient. Such capabilities make the assumption that the coverage issues themselves follow the code hierarchy. We argue that this is not the case for much of the uncovered code. Two notable examples are error handling code and platform-specific constructs. Both tend to be spread throughout the source in many files, even though the related coverage, or lack thereof, is highly dependent.
To make the task more manageable, and therefore more likely to be performed by users, we developed a hole analysis algorithm and tool that is based on common substrings in the names of functions. We tested its effectiveness using two large IBM software systems. In both of them, we asked domain experts to judge the results of several hole-ranking heuristics. They found that 57% - 87% of the 30 top-ranked holes identified by the effective heuristics are relevant. Moreover, these holes are often unexpected. This is especially impressive because substring hole analysis relies only on the names of functions, whereas domain experts have a broad and deep understanding of the system.
We grounded our results in a theoretical framework that states desirable mathematical properties of hole ranking heuristics. The empirical results show that heuristics with these properties tend to perform better, and do so more consistently, than heuristics lacking them.

References

[1]
Y. Adler, E. Farchi, M. Klausner, D. Pelleg, O. Raz, M. Shochat, S. Ur, and A. Zlotnick. Automated substring hole analysis. In ICSE, NIER Track, 2009.
[2]
R. Agrawal and R. Srikant. Fast algorithms for mining association rules in large databases. In J. B. Bocca, M. Jarke, and C. Zaniolo, editors, VLDB'94, Proceedings of 20th International Conference on Very Large Data Bases, September 12-15, 1994, Santiago de Chile, Chile, pages 487--499. Morgan Kaufmann, 1994.
[3]
H. Azatchi, L. Fournier, E. Marcus, S. Ur, A. Ziv, and K. Zohar. Advanced analysis techniques for cross-product coverage. IEEE Trans. Computers, 55(11):1367--1379, 2006.
[4]
C. Dwork, R. Kumar, M. Naor, and D. Sivakumar. Rank aggregation methods for the web. In WWW '01: Proceedings of the 10th international conference on World Wide Web, pages 613--622, New York, NY, USA, 2001. ACM.
[5]
Focus code and functional coverage tool. http://www.alphaworks.ibm.com/tech/focus. Accessed December 2008.
[6]
R. Grinwald, E. Harel, M. Orgad, S. Ur, and A. Ziv. User defined coverage - a tool supported methodology for design verification. In DAC, pages 158--163, 1998.
[7]
Y. W. Kim. Efficient use of code coverage in large-scale software development. In CASCON '03: Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research, pages 145--155. IBM Press, 2003.
[8]
T. Zimmermann, N. Nagappan, and A. Zeller. Predicting Bugs from History, chapter 4, pages 69--88. Springer, March 2008.

Cited By

View all
  • (2021)Ranking Data Slices for ML Model Validation: A Shapley Value Approach2021 IEEE 37th International Conference on Data Engineering (ICDE)10.1109/ICDE51399.2021.00180(1937-1942)Online publication date: Apr-2021
  • (2017)Feasibility of using Source Code Changes on the Selection of Text-based Regression Test CasesProceedings of the 2nd Brazilian Symposium on Systematic and Automated Software Testing10.1145/3128473.3128481(1-6)Online publication date: 18-Sep-2017
  • (2017)Automated test input generation for AndroidProceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track10.1109/ICSE-SEIP.2017.32(253-262)Online publication date: 20-May-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '09: Proceedings of the eighteenth international symposium on Software testing and analysis
July 2009
306 pages
ISBN:9781605583389
DOI:10.1145/1572272
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 July 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. coverage analysis
  2. software testing

Qualifiers

  • Research-article

Conference

ISSTA '09

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Ranking Data Slices for ML Model Validation: A Shapley Value Approach2021 IEEE 37th International Conference on Data Engineering (ICDE)10.1109/ICDE51399.2021.00180(1937-1942)Online publication date: Apr-2021
  • (2017)Feasibility of using Source Code Changes on the Selection of Text-based Regression Test CasesProceedings of the 2nd Brazilian Symposium on Systematic and Automated Software Testing10.1145/3128473.3128481(1-6)Online publication date: 18-Sep-2017
  • (2017)Automated test input generation for AndroidProceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track10.1109/ICSE-SEIP.2017.32(253-262)Online publication date: 20-May-2017
  • (2013)Testing of Future Internet Applications Running in the CloudSoftware Testing in the Cloud10.4018/978-1-4666-2536-5.ch014(305-321)Online publication date: 2013
  • (2011)Code coverage analysis in practice for large systemsProceedings of the 33rd International Conference on Software Engineering10.1145/1985793.1985897(736-745)Online publication date: 21-May-2011
  • (2011)Future Internet Testing with FITTESTProceedings of the 2011 15th European Conference on Software Maintenance and Reengineering10.1109/CSMR.2011.51(355-358)Online publication date: 1-Mar-2011
  • (2011)Evaluating Workloads Using Multi-comparative Functional CoverageHardware and Software: Verification and Testing10.1007/978-3-642-19237-1_9(57-70)Online publication date: 2011
  • (2009)Evaluating workloads using multi-comparative functional coverageProceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing10.5555/1965974.1965985(57-70)Online publication date: 19-Oct-2009
  • (2009)Automated substring hole analysis2009 31st International Conference on Software Engineering - Companion Volume10.1109/ICSE-COMPANION.2009.5070982(203-206)Online publication date: May-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media