Combining Automated GUI Exploration of Android apps with Capture and Replay through Machine Learning.

Saved in:
Bibliographic Details
Title: Combining Automated GUI Exploration of Android apps with Capture and Replay through Machine Learning.
Authors: Amalfitano, Domenico1, Riccio, Vincenzo1, Amatucci, Nicola1, Simone, Vincenzo De1, Fasolino, Anna Rita1 annarita.fasolino@unina.it
Source: Information & Software Technology. Jan2019, Vol. 105, p95-116. 22p.
Subjects: Mobile apps, Android (Operating system), Machine learning, Software engineering, Reverse engineering
Abstract: Abstract Context Automated GUI Exploration Techniques have been widely adopted in the context of mobile apps for supporting critical engineering tasks such as reverse engineering, testing, and network traffic signature generation. Although several techniques have been proposed in the literature, most of them fail to guarantee the exploration of relevant parts of the applications when GUIs require to be exercised with particular and complex input event sequences. We refer to these GUIs as Gate GUIs and to the sequences required to effectively exercise them as Unlocking GUI Input Event Sequences. Objective In this paper, we aim at proposing a GUI exploration approach that exploits the human involvement in the automated process to solve the limitations introduced by Gate GUIs, without requiring the preliminary configuration of the technique or the user involvement for the entire duration of the exploration process. Method We propose juGULAR, a Hybrid GUI Exploration Technique combining Automated GUI Exploration with Capture and Replay. Our approach is able to automatically detect Gate GUIs during the app exploration by exploiting a Machine Learning approach and to unlock them by leveraging input event sequences provided by the user. We implement juGULAR in a modular software architecture that targets the Android mobile platform. We evaluate the performance of juGULAR by an experiment involving 14 real Android apps. Results The experiment shows that the hybridization introduced by juGULAR allows to improve the exploration capabilities in terms of Covered Activities, Covered Lines of Code, and generated Network Traffic Bytes at a reasonable manual intervention cost. The experimental results also prove that juGULAR is able to outperform the state-of-the-practice tool Monkey. Conclusion We conclude that the combination of Automated GUI Exploration approaches with Capture and Replay techniques is promising to achieve a thorough app exploration. Machine Learning approaches aid to pragmatically integrate these two techniques. [ABSTRACT FROM AUTHOR]
Copyright of Information & Software Technology is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 132853604
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Combining Automated GUI Exploration of Android apps with Capture and Replay through Machine Learning.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Amalfitano%2C+Domenico%22">Amalfitano, Domenico</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Riccio%2C+Vincenzo%22">Riccio, Vincenzo</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Amatucci%2C+Nicola%22">Amatucci, Nicola</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Simone%2C+Vincenzo+De%22">Simone, Vincenzo De</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Fasolino%2C+Anna+Rita%22">Fasolino, Anna Rita</searchLink><relatesTo>1</relatesTo><i> annarita.fasolino@unina.it</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Information+%26+Software+Technology%22">Information & Software Technology</searchLink>. Jan2019, Vol. 105, p95-116. 22p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Mobile+apps%22">Mobile apps</searchLink><br /><searchLink fieldCode="DE" term="%22Android+%28Operating+system%29%22">Android (Operating system)</searchLink><br /><searchLink fieldCode="DE" term="%22Machine+learning%22">Machine learning</searchLink><br /><searchLink fieldCode="DE" term="%22Software+engineering%22">Software engineering</searchLink><br /><searchLink fieldCode="DE" term="%22Reverse+engineering%22">Reverse engineering</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Abstract Context Automated GUI Exploration Techniques have been widely adopted in the context of mobile apps for supporting critical engineering tasks such as reverse engineering, testing, and network traffic signature generation. Although several techniques have been proposed in the literature, most of them fail to guarantee the exploration of relevant parts of the applications when GUIs require to be exercised with particular and complex input event sequences. We refer to these GUIs as Gate GUIs and to the sequences required to effectively exercise them as Unlocking GUI Input Event Sequences. Objective In this paper, we aim at proposing a GUI exploration approach that exploits the human involvement in the automated process to solve the limitations introduced by Gate GUIs, without requiring the preliminary configuration of the technique or the user involvement for the entire duration of the exploration process. Method We propose juGULAR, a Hybrid GUI Exploration Technique combining Automated GUI Exploration with Capture and Replay. Our approach is able to automatically detect Gate GUIs during the app exploration by exploiting a Machine Learning approach and to unlock them by leveraging input event sequences provided by the user. We implement juGULAR in a modular software architecture that targets the Android mobile platform. We evaluate the performance of juGULAR by an experiment involving 14 real Android apps. Results The experiment shows that the hybridization introduced by juGULAR allows to improve the exploration capabilities in terms of Covered Activities, Covered Lines of Code, and generated Network Traffic Bytes at a reasonable manual intervention cost. The experimental results also prove that juGULAR is able to outperform the state-of-the-practice tool Monkey. Conclusion We conclude that the combination of Automated GUI Exploration approaches with Capture and Replay techniques is promising to achieve a thorough app exploration. Machine Learning approaches aid to pragmatically integrate these two techniques. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Information & Software Technology is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=132853604
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1016/j.infsof.2018.08.007
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 22
        StartPage: 95
    Subjects:
      – SubjectFull: Mobile apps
        Type: general
      – SubjectFull: Android (Operating system)
        Type: general
      – SubjectFull: Machine learning
        Type: general
      – SubjectFull: Software engineering
        Type: general
      – SubjectFull: Reverse engineering
        Type: general
    Titles:
      – TitleFull: Combining Automated GUI Exploration of Android apps with Capture and Replay through Machine Learning.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Amalfitano, Domenico
      – PersonEntity:
          Name:
            NameFull: Riccio, Vincenzo
      – PersonEntity:
          Name:
            NameFull: Amatucci, Nicola
      – PersonEntity:
          Name:
            NameFull: Simone, Vincenzo De
      – PersonEntity:
          Name:
            NameFull: Fasolino, Anna Rita
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Text: Jan2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 09505849
          Numbering:
            – Type: volume
              Value: 105
          Titles:
            – TitleFull: Information & Software Technology
              Type: main
ResultId 1