Dear Jenkins developers,

you are working on an amazing project and I am sure you are investing a lot 
of time to keep it up and running! 

I am researching in the field of software maintenance and I implemented a 
tool to identify unnecessary code in code bases using a static code 
analysis. The aim of my work is to support developers like you in deleting 
parts of the system that are not needed anymore, resulting in less wasted 
maintenance time due to maintaining irrelevant code. The hypothesis of my 
work is that stable and decentral classes are good candidates for 
unnecessary code and could be taken care of in a future clean-up of the 
software system.

I evaluated my work on the history of some open source systems and the 
results are promising. Nevertheless, I would like to extend my evaluation 
using the feedback of developers. It would be great if you could help me 
with your expert knowledge about your system.

Using my tool, I generated some candidates for unnecessary code for your 
software system, i.e. classes or even whole packages that may be 
unnecessary and therefore could be deleted. Unfortunately, I am not able to 
classify whether the recommendations are helpful. You could help me a lot 
by taking a look at the suggestions (I generated ten of them for you) and 
answering one simple question for each of them ("Do you consider the 
suggested file(s) or package(s) as unnecessary?"). I estimate that you do 
not need to invest more than 10-15 minutes into this evaluation. In 
addition, I hope that the 10-15 minutes also pay off for you when my work 
supports you in maintaining and maybe even cleaning up your project.

In the attachment, you find a file that lists ten suggestions for 
unnecessary code in your code base. Each suggestion consists of one or more 
files or packages; if there are several elements they are part of the same 
package. Please use the link to the evaluation form in the attached file to 
provide your feedback.

Please do not hesitate to ask me if there are any questions regarding my 
research, the prototype in general or the suggestions for your project.

I am looking forward to your feedback! Thank you very much for your help 
and interest in my work.

Best regards,

Roman Haas
Master's Student at the Technical University of Munich
Student E-Mail: first<DOT>last<AT>tum.de

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/46237e93-964f-4465-8cc4-9e20c578e48b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
####################################################################
###                                                              ###
###    EVALUATION OF A PROTOTYPE IDENTIFYING UNNECESSARY CODE    ###
###                                                              ###
####################################################################

####################################################################
###                         INFORMATION                          ###
####################################################################

This file contains 10 suggestions of a research prototype that tries to 
identify unnecessary code.
Each suggestion consists of at least one file or package identifier. If several 
elements are part of a suggestion, all of them will have the same parent 
directory.

The following TOKEN is needed for the evaluation form:
        jenkins

Please copy the TOKEN above and enter it on the feedback form that is available 
at 
        https://goo.gl/forms/QqcIm2VeixAWuxKO2

Thank you very much for your interest in and support of my research :)

####################################################################
###                         SUGGESTIONS                          ###
####################################################################

+++ Suggestion #01 (705 LoC) +++
core/src/main/java/jenkins/model/ModelObjectWithChildren.java (24 LoC)
core/src/main/java/jenkins/model/ModifiableTopLevelItemGroup.java (76 LoC)
core/src/main/java/jenkins/model/TransientFingerprintFacetFactory.java (52 LoC)
core/src/main/java/jenkins/model/ParameterizedJobMixIn.java (326 LoC)
core/src/main/java/jenkins/model/ArtifactManagerFactory.java (56 LoC)
core/src/main/java/jenkins/model/BuildDiscarderProperty.java (81 LoC)
core/src/main/java/jenkins/model/RunAction2.java (46 LoC)
core/src/main/java/jenkins/model/Configuration.java (44 LoC)

+++ Suggestion #02 (367 LoC) +++
core/src/main/java/jenkins/widgets/HistoryPageFilter.java (367 LoC)

+++ Suggestion #03 (301 LoC) +++
core/src/main/java/jenkins/model/identity/InstanceIdentityProvider.java (301 
LoC)

+++ Suggestion #04 (273 LoC) +++
core/src/main/java/jenkins/security/BasicHeaderProcessor.java (162 LoC)
core/src/main/java/jenkins/security/RSAConfidentialKey.java (111 LoC)

+++ Suggestion #05 (131 LoC) +++
core/src/main/java/jenkins/model/queue/AsynchronousExecution.java (131 LoC)

+++ Suggestion #06 (94 LoC) +++
core/src/main/java/jenkins/scm/SCMCheckoutStrategy.java (94 LoC)

+++ Suggestion #07 (77 LoC) +++
core/src/main/java/jenkins/util/xml/FilteredFunctionContext.java (77 LoC)

+++ Suggestion #08 (74 LoC) +++
core/src/main/java/jenkins/mvn/FilePathGlobalSettingsProvider.java (74 LoC)

+++ Suggestion #09 (64 LoC) +++
core/src/main/java/jenkins/util/HttpSessionListener.java (64 LoC)

+++ Suggestion #10 (63 LoC) +++
core/src/main/java/jenkins/model/lazy/Boundary.java (63 LoC)

Reply via email to