Studying the characteristics of logging practices in mobile apps: a case study on F-Droid.

Saved in:
Bibliographic Details
Title: Studying the characteristics of logging practices in mobile apps: a case study on F-Droid.
Authors: Zeng, Yi1 ze_yi@encs.concordia.ca, Chen, Jinfu1, Shang, Weiyi1, Chen, Tse-Hsun (Peter)1
Source: Empirical Software Engineering. Dec2019, Vol. 24 Issue 6, p3394-3434. 41p.
Subjects: Application logging (Computer science), Mobile apps, Computer software, Information retrieval, Software engineering
Abstract: Logging is a common practice in software engineering. Prior research has investigated the characteristics of logging practices in system software (e.g., web servers or databases) as well as desktop applications. However, despite the popularity of mobile apps, little is known about their logging practices. In this paper, we sought to study logging practices in mobile apps. In particular, we conduct a case study on 1,444 open source Android apps in the F-Droid repository. Through a quantitative study, we find that although mobile app logging is less pervasive than server and desktop applications, logging is leveraged in almost all studied apps. However, we find that there exist considerable differences between the logging practices of mobile apps and the logging practices in server and desktop applications observed by prior studies. In order to further understand such differences, we conduct a firehouse email interview and a qualitative annotation on the rationale of using logs in mobile app development. By comparing the logging level of each logging statement with developers' rationale of using the logs, we find that all too often (35.4%), the chosen logging level and the rationale are inconsistent. Such inconsistency may prevent the useful runtime information to be recorded or may generate unnecessary logs that may cause performance overhead. Finally, to understand the magnitude of such performance overhead, we conduct a performance evaluation between generating all the logs and not generating any logs in eight mobile apps. In general, we observe a statistically significant performance overhead based on various performance metrics (response time, CPU and battery consumption). In addition, we find that if the performance overhead of logging is significantly observed in an app, disabling the unnecessary logs indeed provides a statistically significant performance improvement. Our results show the need for a systematic guidance and automated tool support to assist in mobile logging practices. [ABSTRACT FROM AUTHOR]
Copyright of Empirical Software Engineering is the property of Springer Nature 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: 140205786
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Studying the characteristics of logging practices in mobile apps: a case study on F-Droid.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Zeng%2C+Yi%22">Zeng, Yi</searchLink><relatesTo>1</relatesTo><i> ze_yi@encs.concordia.ca</i><br /><searchLink fieldCode="AR" term="%22Chen%2C+Jinfu%22">Chen, Jinfu</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Shang%2C+Weiyi%22">Shang, Weiyi</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Chen%2C+Tse-Hsun+%28Peter%29%22">Chen, Tse-Hsun (Peter)</searchLink><relatesTo>1</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Empirical+Software+Engineering%22">Empirical Software Engineering</searchLink>. Dec2019, Vol. 24 Issue 6, p3394-3434. 41p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Application+logging+%28Computer+science%29%22">Application logging (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Mobile+apps%22">Mobile apps</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software%22">Computer software</searchLink><br /><searchLink fieldCode="DE" term="%22Information+retrieval%22">Information retrieval</searchLink><br /><searchLink fieldCode="DE" term="%22Software+engineering%22">Software engineering</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Logging is a common practice in software engineering. Prior research has investigated the characteristics of logging practices in system software (e.g., web servers or databases) as well as desktop applications. However, despite the popularity of mobile apps, little is known about their logging practices. In this paper, we sought to study logging practices in mobile apps. In particular, we conduct a case study on 1,444 open source Android apps in the F-Droid repository. Through a quantitative study, we find that although mobile app logging is less pervasive than server and desktop applications, logging is leveraged in almost all studied apps. However, we find that there exist considerable differences between the logging practices of mobile apps and the logging practices in server and desktop applications observed by prior studies. In order to further understand such differences, we conduct a firehouse email interview and a qualitative annotation on the rationale of using logs in mobile app development. By comparing the logging level of each logging statement with developers' rationale of using the logs, we find that all too often (35.4%), the chosen logging level and the rationale are inconsistent. Such inconsistency may prevent the useful runtime information to be recorded or may generate unnecessary logs that may cause performance overhead. Finally, to understand the magnitude of such performance overhead, we conduct a performance evaluation between generating all the logs and not generating any logs in eight mobile apps. In general, we observe a statistically significant performance overhead based on various performance metrics (response time, CPU and battery consumption). In addition, we find that if the performance overhead of logging is significantly observed in an app, disabling the unnecessary logs indeed provides a statistically significant performance improvement. Our results show the need for a systematic guidance and automated tool support to assist in mobile logging practices. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Empirical Software Engineering is the property of Springer Nature 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=140205786
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10664-019-09687-9
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 41
        StartPage: 3394
    Subjects:
      – SubjectFull: Application logging (Computer science)
        Type: general
      – SubjectFull: Mobile apps
        Type: general
      – SubjectFull: Computer software
        Type: general
      – SubjectFull: Information retrieval
        Type: general
      – SubjectFull: Software engineering
        Type: general
    Titles:
      – TitleFull: Studying the characteristics of logging practices in mobile apps: a case study on F-Droid.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Zeng, Yi
      – PersonEntity:
          Name:
            NameFull: Chen, Jinfu
      – PersonEntity:
          Name:
            NameFull: Shang, Weiyi
      – PersonEntity:
          Name:
            NameFull: Chen, Tse-Hsun (Peter)
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 12
              Text: Dec2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 13823256
          Numbering:
            – Type: volume
              Value: 24
            – Type: issue
              Value: 6
          Titles:
            – TitleFull: Empirical Software Engineering
              Type: main
ResultId 1