Tytuł artykułu
Autorzy
Identyfikatory
Warianty tytułu
Analiza pokrycia linii kodu oraz pokrycia instrukcji maszynowych
Języki publikacji
Abstrakty
Analysis of code coverage supports different activities of software development. Coverage on assembly instruction level is especially important for applications with response time constraints and for the improvement of test suites in safety-related applications. Assembly instruction coverage should correspond to coverage at the higher level, i.e. program lines. We discuss the problem of their inconsistencies. To support the coverage analysis a tool was created that integrates different analyzers for C++ programs and combines their outcomes Cline coverage, assembly instruction coverage and profile, and fault injection results). We report experiments conducted to investigate the relation between line and assembly instruction coverage on the set of programs. Discrepancy between measured coverage was observed in more than 50% of code. The statistical relations between code coverage and static and dynamic features of the code are also discussed.
Analiza pokrycia kodu wspiera różne czynności w rozwoju oprogramowania. Pokrycie na poziomie instrukcji maszynowych jest zwłaszcza istotne dla tworzenia i testowania aplikacji o wysokich wymaganiach niezawodnościowych. Dyskutowany jest problem rozbieżności pomiędzy pokryciem instrukcji maszynowych a pokryciem np. linii kodu. W celu wspomagania analizy pokrycia wykonano narzędzie, które integruje wyniki z różnych analizatorów programów w C++ (pokrycie linii i instrukcji maszynowych oraz rezultaty wstrzykiwania błędów). Przedstawiono wyniki eksperymentów badających pokrycia dla zbioru programów. Omówiono również statystyczne relacje pomiędzy pokryciem, a statycznymi i dynamicznymi cechami wykonywanego kodu.
Słowa kluczowe
Rocznik
Tom
Strony
269--274
Opis fizyczny
Bibliogr. 12 poz., rys., tab.
Twórcy
autor
autor
autor
- Institute of Computer Science, Warsaw University of Technology
Bibliografia
- [1] Beizer B.: Software testing techniques, second ed. New York, Van Nostrand Reinhold, 1990.
- [2] Li J. J., D. Weiss D., H. Yee H.: Code coverage guided prioritized test generation, Information and Software Technology, no. 48, 2006, pp. 1187-1198.
- [3] Andrews J. H.: A case study of coverage-checked random data structure testing, Proc. of the 19th Intern. Conf. on Automated Software Engineering (ASE'04), IEEE Comp. Soc. 2004.
- [4] Sarba K.: Distributed environment integrating tools supporting software testing. Master Thesis, Institute of Computer Science, Warsaw University of Technology, Sept. 2007 (in polish).
- [5] Subbiah S., Nagaraj S.: Issues with Object Orientation in verifying Safety-Critical Systems, Proc. of the 6th IEEE Inter. Symp. on Object-Oriented Real-Time Distrib. Comput. (ISORC'03), 2003.
- [6] IBM Rational tools: http://www-306.ibm.com/software/rational/
- [7] Coverage Validator: http://www.softwareverify.com/cpp/coverage/index.html
- [8] Gawkowski P., Sosnowski J.: Experiences with software implemented fault injection. Proc. of the 20th Int'l Conf. on Architecture of Computing Systems 2007, March 2007, pp. 73-80
- [9] Sosnowski J., Gawkowski P., Zygulski P., Tymoczko A: Enhancing fault infection testbench. Proc. of Int’1 Conf. on Dependability of Comp. Systems DepCoS - RELCOMEX 2006, IEEE Computer Society, 2006, pp. 76-83.
- [10] Derezińska A: Experiences from an Empirical study of Programs Code Coverage. In Proc. of CISSE'07, Springer 2008 (in press).
- [11] Hill T., Lewicki P.: Statistical methods and applications, StatSoft Inc. 2006.
- [12] Gawkowski P., Ławryńczuk M, Marusak P., Sosnowski J., Tatjewski P.: Dependability of the Explicit DMC Algorithm for a Rectification Process.2nd Int’l Multiconf. on Computer Science and Information Technology, Oct. 2007, pp. 779-788.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BPG4-0036-0007