Fine-grained Code Coverage Measurement in Automated Black-box Android Testing

Today, there are millions of third-party Android applications. Some of these applications are buggy or even malicious. To identify such applications, novel frameworks for automated black-box testing and dynamic analysis are being developed by the Android community, including Google. Code coverage is...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Pilgun, Aleksandr, Gadyatskaya, Olga, Dashevskyi, Stanislav, Zhauniarovich, Yury, Kushniarou, Artsiom
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Pilgun, Aleksandr
Gadyatskaya, Olga
Dashevskyi, Stanislav
Zhauniarovich, Yury
Kushniarou, Artsiom
description Today, there are millions of third-party Android applications. Some of these applications are buggy or even malicious. To identify such applications, novel frameworks for automated black-box testing and dynamic analysis are being developed by the Android community, including Google. Code coverage is one of the most common metrics for evaluating effectiveness of these frameworks. Furthermore, code coverage is used as a fitness function for guiding evolutionary and fuzzy testing techniques. However, there are no reliable tools for measuring fine-grained code coverage in black-box Android app testing. We present the Android Code coVerage Tool, ACVTool for short, that instruments Android apps and measures the code coverage in the black-box setting at the class, method and instruction granularities. ACVTool has successfully instrumented 96.9% of apps in our experiments. It introduces a negligible instrumentation time overhead, and its runtime overhead is acceptable for automated testing tools. We show in a large-scale experiment with Sapienz, a state-of-art testing tool, that the fine-grained instruction-level code coverage provided by ACVTool helps to uncover a larger amount of faults than coarser-grained code coverage metrics.
doi_str_mv 10.48550/arxiv.1812.10729
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_1812_10729</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1812_10729</sourcerecordid><originalsourceid>FETCH-LOGICAL-a679-77c5bc66679436ff8df860f8a2253211b158640807ff8b1a4e5fdb5f5753377d3</originalsourceid><addsrcrecordid>eNotj0tOwzAYhL1hgQoHYIUv4OBH_OgyRBSQWrHJPvod25FF4yAnrcrtMYXNzEgzGulD6IHRqjZS0ifIl3iumGG8YlTz7S067GLyZMxQzOF2dr7I2WcYPT54WE7ZTz6tOCbcnNZ5grXMno8wfBI7X3CTXJ6jw51f1pjGO3QT4Lj4-3_foG730rVvZP_x-t42ewJKb4nWg7SDUiXXQoVgXDCKBgOcS8EZs0waVVNDdeksg9rL4KwMUkshtHZigx7_bq88_VeOE-Tv_perv3KJH7swR1w</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Fine-grained Code Coverage Measurement in Automated Black-box Android Testing</title><source>arXiv.org</source><creator>Pilgun, Aleksandr ; Gadyatskaya, Olga ; Dashevskyi, Stanislav ; Zhauniarovich, Yury ; Kushniarou, Artsiom</creator><creatorcontrib>Pilgun, Aleksandr ; Gadyatskaya, Olga ; Dashevskyi, Stanislav ; Zhauniarovich, Yury ; Kushniarou, Artsiom</creatorcontrib><description>Today, there are millions of third-party Android applications. Some of these applications are buggy or even malicious. To identify such applications, novel frameworks for automated black-box testing and dynamic analysis are being developed by the Android community, including Google. Code coverage is one of the most common metrics for evaluating effectiveness of these frameworks. Furthermore, code coverage is used as a fitness function for guiding evolutionary and fuzzy testing techniques. However, there are no reliable tools for measuring fine-grained code coverage in black-box Android app testing. We present the Android Code coVerage Tool, ACVTool for short, that instruments Android apps and measures the code coverage in the black-box setting at the class, method and instruction granularities. ACVTool has successfully instrumented 96.9% of apps in our experiments. It introduces a negligible instrumentation time overhead, and its runtime overhead is acceptable for automated testing tools. We show in a large-scale experiment with Sapienz, a state-of-art testing tool, that the fine-grained instruction-level code coverage provided by ACVTool helps to uncover a larger amount of faults than coarser-grained code coverage metrics.</description><identifier>DOI: 10.48550/arxiv.1812.10729</identifier><language>eng</language><subject>Computer Science - Cryptography and Security ; Computer Science - Software Engineering</subject><creationdate>2018-12</creationdate><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,885</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/1812.10729$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.1812.10729$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Pilgun, Aleksandr</creatorcontrib><creatorcontrib>Gadyatskaya, Olga</creatorcontrib><creatorcontrib>Dashevskyi, Stanislav</creatorcontrib><creatorcontrib>Zhauniarovich, Yury</creatorcontrib><creatorcontrib>Kushniarou, Artsiom</creatorcontrib><title>Fine-grained Code Coverage Measurement in Automated Black-box Android Testing</title><description>Today, there are millions of third-party Android applications. Some of these applications are buggy or even malicious. To identify such applications, novel frameworks for automated black-box testing and dynamic analysis are being developed by the Android community, including Google. Code coverage is one of the most common metrics for evaluating effectiveness of these frameworks. Furthermore, code coverage is used as a fitness function for guiding evolutionary and fuzzy testing techniques. However, there are no reliable tools for measuring fine-grained code coverage in black-box Android app testing. We present the Android Code coVerage Tool, ACVTool for short, that instruments Android apps and measures the code coverage in the black-box setting at the class, method and instruction granularities. ACVTool has successfully instrumented 96.9% of apps in our experiments. It introduces a negligible instrumentation time overhead, and its runtime overhead is acceptable for automated testing tools. We show in a large-scale experiment with Sapienz, a state-of-art testing tool, that the fine-grained instruction-level code coverage provided by ACVTool helps to uncover a larger amount of faults than coarser-grained code coverage metrics.</description><subject>Computer Science - Cryptography and Security</subject><subject>Computer Science - Software Engineering</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2018</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotj0tOwzAYhL1hgQoHYIUv4OBH_OgyRBSQWrHJPvod25FF4yAnrcrtMYXNzEgzGulD6IHRqjZS0ifIl3iumGG8YlTz7S067GLyZMxQzOF2dr7I2WcYPT54WE7ZTz6tOCbcnNZ5grXMno8wfBI7X3CTXJ6jw51f1pjGO3QT4Lj4-3_foG730rVvZP_x-t42ewJKb4nWg7SDUiXXQoVgXDCKBgOcS8EZs0waVVNDdeksg9rL4KwMUkshtHZigx7_bq88_VeOE-Tv_perv3KJH7swR1w</recordid><startdate>20181227</startdate><enddate>20181227</enddate><creator>Pilgun, Aleksandr</creator><creator>Gadyatskaya, Olga</creator><creator>Dashevskyi, Stanislav</creator><creator>Zhauniarovich, Yury</creator><creator>Kushniarou, Artsiom</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20181227</creationdate><title>Fine-grained Code Coverage Measurement in Automated Black-box Android Testing</title><author>Pilgun, Aleksandr ; Gadyatskaya, Olga ; Dashevskyi, Stanislav ; Zhauniarovich, Yury ; Kushniarou, Artsiom</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a679-77c5bc66679436ff8df860f8a2253211b158640807ff8b1a4e5fdb5f5753377d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2018</creationdate><topic>Computer Science - Cryptography and Security</topic><topic>Computer Science - Software Engineering</topic><toplevel>online_resources</toplevel><creatorcontrib>Pilgun, Aleksandr</creatorcontrib><creatorcontrib>Gadyatskaya, Olga</creatorcontrib><creatorcontrib>Dashevskyi, Stanislav</creatorcontrib><creatorcontrib>Zhauniarovich, Yury</creatorcontrib><creatorcontrib>Kushniarou, Artsiom</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Pilgun, Aleksandr</au><au>Gadyatskaya, Olga</au><au>Dashevskyi, Stanislav</au><au>Zhauniarovich, Yury</au><au>Kushniarou, Artsiom</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Fine-grained Code Coverage Measurement in Automated Black-box Android Testing</atitle><date>2018-12-27</date><risdate>2018</risdate><abstract>Today, there are millions of third-party Android applications. Some of these applications are buggy or even malicious. To identify such applications, novel frameworks for automated black-box testing and dynamic analysis are being developed by the Android community, including Google. Code coverage is one of the most common metrics for evaluating effectiveness of these frameworks. Furthermore, code coverage is used as a fitness function for guiding evolutionary and fuzzy testing techniques. However, there are no reliable tools for measuring fine-grained code coverage in black-box Android app testing. We present the Android Code coVerage Tool, ACVTool for short, that instruments Android apps and measures the code coverage in the black-box setting at the class, method and instruction granularities. ACVTool has successfully instrumented 96.9% of apps in our experiments. It introduces a negligible instrumentation time overhead, and its runtime overhead is acceptable for automated testing tools. We show in a large-scale experiment with Sapienz, a state-of-art testing tool, that the fine-grained instruction-level code coverage provided by ACVTool helps to uncover a larger amount of faults than coarser-grained code coverage metrics.</abstract><doi>10.48550/arxiv.1812.10729</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.1812.10729
ispartof
issn
language eng
recordid cdi_arxiv_primary_1812_10729
source arXiv.org
subjects Computer Science - Cryptography and Security
Computer Science - Software Engineering
title Fine-grained Code Coverage Measurement in Automated Black-box Android Testing
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T21%3A08%3A22IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Fine-grained%20Code%20Coverage%20Measurement%20in%20Automated%20Black-box%20Android%20Testing&rft.au=Pilgun,%20Aleksandr&rft.date=2018-12-27&rft_id=info:doi/10.48550/arxiv.1812.10729&rft_dat=%3Carxiv_GOX%3E1812_10729%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true