[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3510454.3516838acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A tool for rejuvenating feature logging levels via git histories and degree of interest

Published: 19 October 2022 Publication History

Abstract

Logging is a significant programming practice. Due to the highly transactional nature of modern software applications, massive amount of logs are generated every day, which may overwhelm developers. Logging information overload can be dangerous to software applications. Using log levels, developers can print the useful information while hiding the verbose logs during software runtime. As software evolves, the log levels of logging statements associated with the surrounding software feature implementation may also need to be altered. Maintaining log levels necessitates a significant amount of manual effort. In this paper, we demonstrate an automated approach that can rejuvenate feature log levels by matching the interest level of developers in the surrounding features. The approach is implemented as an open-source Eclipse plugin, using two external plug-ins (JGit and Mylyn). It was tested on 18 open-source Java projects consisting of ~3 million lines of code and ~4K log statements. Our tool successfully analyzes 99.22% of logging statements, increases log level distributions by ~20%, and increases the focus of logs in bug fix contexts ~83% of the time. For further details, interested readers can watch our demonstration video (https://www.youtube.com/watch?v=qIULoAXoDv4).

References

[1]
Boyuan Chen and Zhen Ming (Jack) Jiang. 2017. Characterizing and detecting anti-patterns in the logging code. In International Conference on Software Engineering (ICSE '17). Buenos Aires, Argentina.
[2]
Eclipse Foundation, Inc. 2021. The mylyn task and application lifecycle management (alm) framework for eclipse. Retrieved 11/21/2021 from http://www.eclipse.org/mylyn.
[3]
Qiang Fu, Jieming Zhu, Wenlu Hu, Jian-Guang Lou, Rui Ding, Qingwei Lin, Dongmei Zhang, and Tao Xie. 2014. Where do developers log? an empirical study on logging practices in industry. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014). ACM, Hyderabad, India.
[4]
Suhas Kabinna, Cor-Paul Bezemer, Weiyi Shang, Mark D. Syer, and Ahmed E. Hassan. 2018. Examining the stability of logging statements. Empirical Softw. Engg., 23, 1, (February 2018).
[5]
Mik Kersten and Gail C. Murphy. 2005. Mylar: a degree-of-interest model for IDEs. In International Conference on Aspect-Oriented Software Development. ACM, Chicago, Illinois, 159--168.
[6]
Heng Li, Weiyi Shang, and Ahmed E. Hassan. 2017. Which log level should developers choose for a new logging statement? Empirical Softw. Engg., 22, 4, (August 2017).
[7]
Heng Li, Weiyi Shang, Ying Zou, and Ahmed Hassan. 2017. Towards just-in-time suggestions for log changes. Empirical Softw. Engg.
[8]
Oracle. 2021. Logger. Retrieved 11/20/2021 from https://docs.oracle.com/en/java/javase/17/docs/api/java.logging/java/util/logging/Logger.html.
[9]
Jens Pilgrim. 2021. Create context from git diff. https://www.eclipse.org/forums/index.php/t/699154/.
[10]
QOS.ch. 2021. Interface Logger. Retrieved 11/21/2021 from http://www.slf4j.org/apidocs/org/slf4j/Logger.html.
[11]
A. Rozinat and W. M. P. van der Aalst. 2005. Conformance testing: measuring the fit and appropriateness of event logs and process models. In International Conference on Business Process Management (BPM'05). Nancy, France.
[12]
M. D. Syer, Z. M. Jiang, M. Nagappan, A. E. Hassan, M. Nasser, and P. Flora. 2013. Leveraging performance counters and execution logs to diagnose memory-related performance issues. In International Conference on Software Maintenance. (September 2013).
[13]
Yiming Tang. 2020. Pull request for jenkins. https://github.com/jenkinsci/jenkins/pull/4345.
[14]
Yiming Tang, Allan Spektor, Raffi Khatchadourian, and Mehdi Bagherzadeh. 2022. Automated evolution of feature logging statement levels using Git histories and degree of interest. Science of Computer Programming, 214, (February 2022), 102724. ISSN: 0167-6423. arXiv: 2104.07736 [cs.SE]. http://academicworks.cuny.edu/gc_pubs/686.
[15]
Ding Yuan, Soyeon Park, Peng Huang, Yang Liu, Michael M. Lee, Xiaoming Tang, Yuanyuan Zhou, and Stefan Savage. 2012. Be conservative: enhancing failure diagnosis with proactive logging. In Operating Systems Design and Implementation (OSDI'12). USENIX. USENIX Association, Hollywood, CA, USA, 14 pages.
[16]
Ding Yuan, Soyeon Park, and Yuanyuan Zhou. 2012. Characterizing logging practices in open-source software. In International Conference on Software Engineering (ICSE '12). Zurich, Switzerland.
[17]
Yi Zeng, Jinfu Chen, Weiyi Shang, and Tse-Hsun (Peter) Chen. 2019. Studying the characteristics of logging practices in mobile apps: a case study on f-droid. Empirical Softw. Engg., 24, (February 2019).
[18]
Jieming Zhu, Pinjia He, Qiang Fu, Hongyu Zhang, Michael R. Lyu, and Dongmei Zhang. 2015. Learning to log: helping developers make informed logging decisions. In International Conference on Software Engineering (ICSE '15). IEEE Press, Florence, Italy, 415--425.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings
May 2022
394 pages
ISBN:9781450392235
DOI:10.1145/3510454
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. degree of interest
  2. logging
  3. software evolution
  4. software repository mining
  5. source code analysis and transformation

Qualifiers

  • Research-article

Funding Sources

  • PSC-CUNY Awards

Conference

ICSE '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 68
    Total Downloads
  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)1
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media