Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rejuvenate log levels (N = 1000, CONFIG). #4

Conversation

yiming-tang-cs
Copy link

Introduction

We are in the process of evaluating our research prototype Eclipse plug-in that "rejuvenates" log statement levels based on how "interesting" the enclosing methods are to the developers. We hypothesize that portions of a system that are worked on more and more recently should have higher log levels (e.g., INFO as compared to FINEST) and vice-versa. This places event logs related to tasks that are currently more important to the forefront while pushing event logs pertaining to tasks worked on in the past to the background. The goal is to reduce information overload, bring more relevant events to developers' attention, and alleviate developers from manually making log level changes.

The transformation decision is made by analyzing the "degree of interest" (DOI) values of enclosing methods for logging invocations. DOI value is a kind of real number for a program element which shows how developers are interested in it. It is computed from the interaction events between developer and program elements, such as edits. In this project, we calculate the DOI using the project's git history.

Feedback Request

We are looking for feedback on our tool from developers. If you can, we would appreciate if you can comment on each of the transformations (if possible) in the case that this PR is not accepted. If there there are too many transformations to review, letting us know where you left off would be helpful. Of course, we would also love to contribute to your project if you wish.

Settings

We have several analysis settings. We can vary these settings and rerun if you desire. The settings we are using in this pull request are:

  1. Treat CONFIG levels as a category and not a traditional level, i.e., our tool ignores these log levels.
  2. Never lower the logging level of logging statements within catch blocks.
  3. Never lower the logging level of logging statements within if statements.
  4. Never lower the logging level of logging statements containing certain (important) keywords.
  5. Avoid log wrapping by disregarding logging statements contained in if statements mentioning log levels.
  6. The greatest number of commits from HEAD evaluated: 1000.

The head at time of analysis was: 8389311

@yiming-tang-cs
Copy link
Author

The CSV files: results_selenium_1000.tar.gz

@yiming-tang-cs
Copy link
Author

Sorry, I made a mistake in the previous PR (closed). I used the original decay factor to get the original data but I forgot to change it back. This PR has the correct decay factor.

I've checked DOI values for the transformed log invocations, their minimum DOI value is positive. There is no 0 value.

@yiming-tang-cs
Copy link
Author

results_C_1000.tar.gz

@yiming-tang-cs
Copy link
Author

yiming-tang-cs commented Oct 1, 2019

When N = 1000, no log expression mentioned in ponder-lab/Rejuvenate-Logging-Levels#217 is transformed. That log expression is not a candidate. When N = 24000, the log expression will be transformed in INFO.

@yiming-tang-cs yiming-tang-cs changed the title Rejuvenate log levels (N = 1000). Rejuvenate log levels (N = 1000, CONFIG). Oct 2, 2019
@yiming-tang-cs yiming-tang-cs deleted the c_1000_ififcatchkey_new branch October 31, 2019 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant