Published August 28, 2020 | Version v7
Dataset Open

Automated Evolution of Feature Logging Statement Levels Using Git Histories and Degree of Interest

  • 1. City University of New York (CUNY) Graduate Center
  • 2. City University of New York (CUNY) Hunter College
  • 3. Oakland University

Description

Logging—used for system events and security breaches to more informational yet essential aspects of software features—is pervasive. Given the high transactionality of today's software, logging effectiveness can be reduced by information overload. Log levels help alleviate this problem by correlating a priority to logs that can be later filtered. As software evolves, however, levels of logs documenting surrounding feature implementations may also require modification as features once deemed important may have decreased in urgency and vice-versa. We present an automated approach that assists developers in evolving levels of such (feature) logs. The approach, based on mining Git histories and manipulating a degree of interest (DOI) model, transforms source code to revitalize feature log levels based on the "interestingness" of the surrounding code. Built upon JGit and Mylyn, the approach is implemented as an Eclipse IDE plug-in and evaluated on 18 Java projects with ~3 million lines of code and ~4K log statements. Our tool successfully analyzes 99.26% of logging statements, increases log level distributions by ~20%, identifies logs manually modified with a recall of ~80% and a level-direction match rate of ~87%, and increases the focus of logs in bug fix contexts ~83% of the time. Moreover, pull (patch) requests were integrated into large and popular open-source projects. The results indicate that the approach is promising in assisting developers in evolving feature log levels.

Notes

Support for this project was provided by PSC-CUNY Award #61793-00 49 and #63801-00 51, jointly funded by The Professional Staff Congress and The City University of New York.

Files

actual_level_changes.csv

Files (13.2 MB)

Name Size Download all
md5:ab0116b537c122487415c0d7abe3d6fc
14.2 kB Preview Download
md5:574aec495d5c72e84573e86b7c1c8cea
673 Bytes Preview Download
md5:c673f437f294786043fa97c94508061b
952.4 kB Preview Download
md5:856b36e59266d14080d556ea917625c2
145.1 kB Download
md5:3c7691af1c75bc56e167a4274453daa0
4.7 kB Download
md5:e1fd55463ba10dd8254317089ac35ec3
20.1 kB Download
md5:6b56c3254bf74b3679920b3d6ad60f2d
2.0 MB Download
md5:28e9b3330a8b604668fea12e3eb14c8c
2.7 kB Download
md5:832c5248488ab705713f48f05c3d4136
5.6 kB Preview Download
md5:89e5a6afb0646c8c38ea8add3ef436c3
5.2 MB Download
md5:51856e5840597c4ff9df9bf6634b90d1
6.3 kB Download
md5:b29b45ae8255243ddbe08c63a38f05b3
11.1 kB Preview Download
md5:f9ddde0d83d379a08f7f919056427924
2.7 MB Preview Download
md5:2671d6a0e250bc1112b4af7352a2a8e4
737 Bytes Download
md5:74ad732d92289320ae04bda0229c6de0
1.1 MB Preview Download
md5:2344273f4f636462fc66ac08525f96c2
193.4 kB Preview Download
md5:6d36a69034bf97c6afcf6f8f55d52a80
105.7 kB Preview Download
md5:2886bd7d1a9e28bbb51d41dcbf13def8
3.0 kB Download
md5:d1c1c46b082241e8b0ac70ca823c6dd5
7.0 kB Download
md5:49cd6c14ddeae04120e6b69d22369a3c
40 Bytes Download
md5:ca198b6ec88f3b47d9d347dcaeaabcde
473 Bytes Download
md5:c36fbd5b8c3737718b7df1b83f24fa44
322.0 kB Preview Download
md5:559697145b0482195388a5e9e4da6da5
29.2 kB Preview Download
md5:ff1c7762149f5bd16ea1b095011c2d4b
100.2 kB Preview Download
md5:1b58208913fa88d51232ffbf3652121f
128.4 kB Preview Download
md5:9f01cd512f5e3479053e65189fb39b02
61.7 kB Preview Download
md5:457c2ab43c80c68301ed6507b3afba6f
853 Bytes Preview Download
md5:bac5493621f6c4a607d7e7865bca0bd4
5.8 kB Preview Download
md5:c9fbb1dffa23b0b46cddbe713bc9dded
2.5 kB Preview Download
md5:8202ecd689ee9d89e1f3d120f5252a67
16 Bytes Preview Download
md5:195a303fdd394c3055eaef52e1c62cff
46.1 kB Preview Download
md5:bdf735ff1e06948274f01aea7920de81
2.0 kB Preview Download

Additional details

Related works

Is supplement to
Preprint: arXiv:2104.07736 (arXiv)