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

Enhance DOI model manipulation #39

Closed
yiming-tang-cs opened this issue Jun 19, 2018 · 23 comments
Closed

Enhance DOI model manipulation #39

yiming-tang-cs opened this issue Jun 19, 2018 · 23 comments
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@yiming-tang-cs
Copy link
Contributor

yiming-tang-cs commented Jun 19, 2018

Based on #66, there is no implicit propagation of the file DOI values to the constituent elements like method declarations, so we need to extract enclosing methods changes and bump the DOI values.

┆Issue is synchronized with this Asana task

@yiming-tang-cs yiming-tang-cs added the enhancement New feature or request label Jun 19, 2018
@yiming-tang-cs
Copy link
Contributor Author

I think the block context, method context and file context are also related to the log level. Can we get something from context to modify the DOI?

@yiming-tang-cs
Copy link
Contributor Author

yiming-tang-cs commented Jun 19, 2018

And the static text in the log expression is also related to the logging level. Can we use static text to modify DOI?

@khatchad khatchad added question Further information is requested enhancement New feature or request labels Jun 20, 2018
@khatchad
Copy link
Member

khatchad commented Jul 2, 2018

I think we have some ideas for this in #40.

@khatchad
Copy link
Member

See #41 (comment) for discussion on this issue. Is it the problem that we are using only the enclosing method? I think that the DOI values trickle down from higher level containers but I don't think there's anything at the statement level.

Raffi thinks that for levels such as INFO, FINE, FINER, and FINEST, there will be more of a correlation than with WARNING and CRITICAL, etc. We need to find out, and maybe #57 will help us correlate DOI to logging levels.

@yiming-tang-cs
Copy link
Contributor Author

yiming-tang-cs commented Jul 16, 2018

The figure 2 of this paper https://dl.acm.org/citation.cfm?id=3128785.3128834 is a figure logging distribution.

image

We may build a correlation based on those logging distribution. We could give a higher weight to the logging level which is high in the disctribution figure. However, if we decide to use this, this figure is not enough(some logging level is missing and the number of projects are not enough) and we shoud analyze more projects.

@yiming-tang-cs
Copy link
Contributor Author

This paper also mentions that

We find that the characteristics of the containing block of a newly-added logging
statement, the existing logging statements in the containing file, and the content
of the newly-added logging statement play important roles in determining the
appropriate log level for that particular logging statement.

I think we need to add DOI for blocks. I am unsure about whether we need the containing file because some of papers does not use this to investigate log, such as http://www.robo-paathshaala.in/ashish/CHAPTER-SAMPLE-PDF.pdf. We may also need to process the content of log. Currently, regular expression may be fine.

@khatchad
Copy link
Member

This is like augmenting the Mylyn DOI model with git history.

@khatchad
Copy link
Member

I think you want to create a richer history of "events" because more recent events make methods that were edited more recently more interesting in the DOI model and vice-versa.

@khatchad
Copy link
Member

Besides #66, a possible starting point would be to read the git history of the project (assuming it is a git project) to read commits using EGit.

@khatchad
Copy link
Member

You may need to make a new plug-in (which can be in the same GitHub repo or not) that is a relation provider or something like https://github.com/ponder-lab/fraglight/blob/c7b4dd40112cffdeec5bb54aaba2778bfe29d0be/edu.ohio_state.cse.khatchad.fraglight.ui/plugin.xml#L4-L10.

@khatchad khatchad added the enhancement New feature or request label Aug 1, 2018
@khatchad khatchad changed the title Ideas for DOI model manipulation enhancements Enhance DOI model manipulation Sep 10, 2018
@khatchad
Copy link
Member

➤ Raffi Khatchadourian commented:

Yiming Tang It would seem to me that Discover if any implicit DOI changes occur as a result of file DOI manipulation isn't going to work out. So, you'll need to get more fined grained info out of the commit history.

@khatchad
Copy link
Member

➤ Raffi Khatchadourian commented:

In other words, you'll need to find the enclosing methods within the change set yourself. There may be existing work to do this or perhaps a simple regex may do the trick.

@khatchad
Copy link
Member

➤ Raffi Khatchadourian commented:

Once you have the enclosing method, you'll need to bump the DOI value of the method similar to what is done with fraglight.

@khatchad
Copy link
Member

➤ Raffi Khatchadourian commented:

We should also check that when you are bumping the DOI value of a particular method, the DOI values of elements are decreasing in some way.

@khatchad
Copy link
Member

➤ Raffi Khatchadourian commented:

We may also want to think about how much to "bump" the DOI of a particular method. In other words, if there are many changes to a particular method, should that method have a higher DOI (i.e., should we bump it multiple times)?

@yiming-tang-cs
Copy link
Contributor Author

In other words, you'll need to find the enclosing methods within the change set yourself. There may be existing work to do this or perhaps a simple regex may do the trick.

Yeah, I saw some existing work. I will check them.

@yiming-tang-cs yiming-tang-cs changed the title Enhance DOI model manipulation Extract enclosing method changes and bump the DOI values Sep 11, 2018
@khatchad khatchad changed the title Extract enclosing method changes and bump the DOI values Enhance DOI model manipulation Sep 11, 2018
@khatchad
Copy link
Member

The first step is to extract the enclosing method of the change in the commit. In other words, which methods changed in the commit. Then we need to decide how to bump the DOI of those methods (e.g., should larger changes in a single method yield larger DOI values?).

@ponder-sync ponder-sync added the enhancement New feature or request label Sep 13, 2018
@khatchad
Copy link
Member

img_20181018_125134

@yiming-tang-cs
Copy link
Contributor Author

Currently, we are evaluating large projects by mylyngit plugin. While evaluating, we are fixing several bugs we found.

@khatchad
Copy link
Member

khatchad commented Jan 4, 2019

@saledouble Are we done here?

@yiming-tang-cs
Copy link
Contributor Author

Are we done here?

Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants