Code coverage measurement framework for Android devices

F. Horváth, Szabolcs Bognár, Tamás Gergely, Róbert Rácz, A. Beszédes, Vladimir Marinkovic

Research output: Contribution to journalArticle

1 Citation (Scopus)

Abstract

Software testing is a very important activity in the software development life cycle. Numerous general black- and white-box techniques exist to achieve different goals and there are a lot of practices for different kinds of software. The testing of embedded systems, however, raises some very special constraints and requirements in software testing. Special solutions exist in this field, but there is no general testing methodology for embedded systems. One of the goals of the CIRENE project was to fill this gap and define a general testing methodology for embedded systems that could be specialized to different environments. The project included a pilot implementation of this methodology in a specific environment: an Android-based Digital TV receiver (Set-Top-Box). In this pilot, we implemented method level code coverage measurement of Android applications. This was done by instrumenting the applications and creating a framework for the Android device that collected basic information from the instrumented applications and communicated it through the network towards a server where the data was finally processed. The resulting code coverage information was used for many purposes according to the methodology: test case selection and prioritization, traceability computation, dead code detection, etc. The resulting methodology and toolset were reused in another project where we investigated whether the coverage information can be used to determine locations to be instrumented in order to collect relevant information about software usability. In this paper, we introduce the pilot implementation and, as a proof-ofconcept, present how the coverage results were used for different purposes.

Original languageEnglish
Pages (from-to)439-458
Number of pages20
JournalActa Cybernetica
Volume21
Issue number3
Publication statusPublished - 2014

Fingerprint

Embedded systems
Software testing
Coverage
Methodology
Embedded Systems
Testing
Software Testing
Set-top boxes
Life cycle
Software engineering
Servers
Software
Prioritization
Traceability
Life Cycle
Software Development
Usability
Receiver
Server
Framework

Keywords

  • Android
  • Coverage
  • Embedded
  • Traceability

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Theoretical Computer Science

Cite this

Horváth, F., Bognár, S., Gergely, T., Rácz, R., Beszédes, A., & Marinkovic, V. (2014). Code coverage measurement framework for Android devices. Acta Cybernetica, 21(3), 439-458.

Code coverage measurement framework for Android devices. / Horváth, F.; Bognár, Szabolcs; Gergely, Tamás; Rácz, Róbert; Beszédes, A.; Marinkovic, Vladimir.

In: Acta Cybernetica, Vol. 21, No. 3, 2014, p. 439-458.

Research output: Contribution to journalArticle

Horváth, F, Bognár, S, Gergely, T, Rácz, R, Beszédes, A & Marinkovic, V 2014, 'Code coverage measurement framework for Android devices', Acta Cybernetica, vol. 21, no. 3, pp. 439-458.
Horváth F, Bognár S, Gergely T, Rácz R, Beszédes A, Marinkovic V. Code coverage measurement framework for Android devices. Acta Cybernetica. 2014;21(3):439-458.
Horváth, F. ; Bognár, Szabolcs ; Gergely, Tamás ; Rácz, Róbert ; Beszédes, A. ; Marinkovic, Vladimir. / Code coverage measurement framework for Android devices. In: Acta Cybernetica. 2014 ; Vol. 21, No. 3. pp. 439-458.
@article{000f592feaed4e83a0677c6ed211d745,
title = "Code coverage measurement framework for Android devices",
abstract = "Software testing is a very important activity in the software development life cycle. Numerous general black- and white-box techniques exist to achieve different goals and there are a lot of practices for different kinds of software. The testing of embedded systems, however, raises some very special constraints and requirements in software testing. Special solutions exist in this field, but there is no general testing methodology for embedded systems. One of the goals of the CIRENE project was to fill this gap and define a general testing methodology for embedded systems that could be specialized to different environments. The project included a pilot implementation of this methodology in a specific environment: an Android-based Digital TV receiver (Set-Top-Box). In this pilot, we implemented method level code coverage measurement of Android applications. This was done by instrumenting the applications and creating a framework for the Android device that collected basic information from the instrumented applications and communicated it through the network towards a server where the data was finally processed. The resulting code coverage information was used for many purposes according to the methodology: test case selection and prioritization, traceability computation, dead code detection, etc. The resulting methodology and toolset were reused in another project where we investigated whether the coverage information can be used to determine locations to be instrumented in order to collect relevant information about software usability. In this paper, we introduce the pilot implementation and, as a proof-ofconcept, present how the coverage results were used for different purposes.",
keywords = "Android, Coverage, Embedded, Traceability",
author = "F. Horv{\'a}th and Szabolcs Bogn{\'a}r and Tam{\'a}s Gergely and R{\'o}bert R{\'a}cz and A. Besz{\'e}des and Vladimir Marinkovic",
year = "2014",
language = "English",
volume = "21",
pages = "439--458",
journal = "Acta Cybernetica",
issn = "0324-721X",
publisher = "University of Szeged",
number = "3",

}

TY - JOUR

T1 - Code coverage measurement framework for Android devices

AU - Horváth, F.

AU - Bognár, Szabolcs

AU - Gergely, Tamás

AU - Rácz, Róbert

AU - Beszédes, A.

AU - Marinkovic, Vladimir

PY - 2014

Y1 - 2014

N2 - Software testing is a very important activity in the software development life cycle. Numerous general black- and white-box techniques exist to achieve different goals and there are a lot of practices for different kinds of software. The testing of embedded systems, however, raises some very special constraints and requirements in software testing. Special solutions exist in this field, but there is no general testing methodology for embedded systems. One of the goals of the CIRENE project was to fill this gap and define a general testing methodology for embedded systems that could be specialized to different environments. The project included a pilot implementation of this methodology in a specific environment: an Android-based Digital TV receiver (Set-Top-Box). In this pilot, we implemented method level code coverage measurement of Android applications. This was done by instrumenting the applications and creating a framework for the Android device that collected basic information from the instrumented applications and communicated it through the network towards a server where the data was finally processed. The resulting code coverage information was used for many purposes according to the methodology: test case selection and prioritization, traceability computation, dead code detection, etc. The resulting methodology and toolset were reused in another project where we investigated whether the coverage information can be used to determine locations to be instrumented in order to collect relevant information about software usability. In this paper, we introduce the pilot implementation and, as a proof-ofconcept, present how the coverage results were used for different purposes.

AB - Software testing is a very important activity in the software development life cycle. Numerous general black- and white-box techniques exist to achieve different goals and there are a lot of practices for different kinds of software. The testing of embedded systems, however, raises some very special constraints and requirements in software testing. Special solutions exist in this field, but there is no general testing methodology for embedded systems. One of the goals of the CIRENE project was to fill this gap and define a general testing methodology for embedded systems that could be specialized to different environments. The project included a pilot implementation of this methodology in a specific environment: an Android-based Digital TV receiver (Set-Top-Box). In this pilot, we implemented method level code coverage measurement of Android applications. This was done by instrumenting the applications and creating a framework for the Android device that collected basic information from the instrumented applications and communicated it through the network towards a server where the data was finally processed. The resulting code coverage information was used for many purposes according to the methodology: test case selection and prioritization, traceability computation, dead code detection, etc. The resulting methodology and toolset were reused in another project where we investigated whether the coverage information can be used to determine locations to be instrumented in order to collect relevant information about software usability. In this paper, we introduce the pilot implementation and, as a proof-ofconcept, present how the coverage results were used for different purposes.

KW - Android

KW - Coverage

KW - Embedded

KW - Traceability

UR - http://www.scopus.com/inward/record.url?scp=84955451682&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84955451682&partnerID=8YFLogxK

M3 - Article

VL - 21

SP - 439

EP - 458

JO - Acta Cybernetica

JF - Acta Cybernetica

SN - 0324-721X

IS - 3

ER -