Skip to content

amir9979/repository_mining

Repository files navigation

repository_mining

TODO

  • SpotBugs

Tools

Tool Description Implemented?
Spotbugs SpotBugs is a program which uses static analysis to look for bugs in Java code. No
DesigniteJava DesigniteJava is a code quality assessment tool for code written in Java. Yes
Checkstyle Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. Yes
CK CK calculates class-level and metric-level code metrics in Java projects by means of static analysis (i.e. no need for compiled code). Yes
AwesomeStaticAnalysis This is a collection of static analysis tools and code quality checkers No
Coming Coming is a tool for mining git repositories No
Organic This project is an Eclipse plugin that aims to collect code smells from Java projects using only command line tools. Yes
TSE2015TDIdentification Npl tool to mine closed sequential patterns No
SourceMonitor The freeware program SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules. Yes
ConcernReCS ConcernReCS is an Eclipse plug-in written to find Aspectization Code Smells, i.e., scenarios in source code that can lead to aspectization mistakes.) No
Sonarqube Thousands of automated Static Code Analysis rules. No
Halstead The tool detects commented code using heuristics based on usage of Halstead code metrics Yes
gorgeous_metrics MOOD Metrics Yes
JaSoMe Jasome (JAH-suhm, rhymes with awesome) is a source code analyzer that mines internal quality metrics from projects based on source code alone Yes

Metrics

Categories

Product Metrics

  • CK

    • WMC - Weighted Method Count
    • DIT - Depth of Inheritance Tree
    • RFC - Response For Class
    • NOC - Number of Children
    • CBO - Coupling Between Objects
    • LCOM - Lack of Cohesion in Methods
  • OO

    • FanIn - Number of other classes that reference the class
    • FanOut - Number of other classes referenced by the class
    • NOA - Number Of Attributes
    • NOPA - Number of Public Attributes
    • NOPRA - Number of Private Attributes
    • NOAI - Number of Attributes Inherited
    • LOC - Number of Lines of Code
    • NOM - Number of Methods
    • NOPM - Number of Public Methods
    • NOPRM - Number of Private Methods
    • NOMI - Number of Methods Inherited
    • Ca - Afferent Couplings
    • Ce - Efferent Couplings
  • McCabe

    • Maximum Cabe's Cyclomatic Complexity
    • Average Cane's Cyclomatic Complexity

Process Metrics

Entropy

Method Granularity

metrics
Anonymous_inner_class_length
Boolean_expression_complexity
CC
Class_Data_Abstraction_Coupling
Class_Fan-Out_Complexity
Cyclomatic_Complexity
Executable_statement_count
File_length
LOC
Method_length
NCSS_for_this_class
NCSS_for_this_file
NCSS_for_this_method
NPath_Complexity
Nested_for_depth
Nested_if-else_depth
Nested_try_depth
Number_of_package_methods
Number_of_private_methods
Number_of_protected_methods
Number_of_public_methods
PC
Return_count
Throws_count
Total_number_of_methods
anonymousClassesQty
assignmentsQty
cbo
comparisonsQty
constructor
innerClassesQty
lambdasQty
loc
logStatementsQty
loopQty
mathOperationsQty
maxNestedBlocks
modifiers
numbersQty
parameters
parenthesizedExpsQty
returns
rfc
stringLiteralsQty
tryCatchQty
uniqueWordsQty
variables
wmc

WMC + Smells Designite vs Fowler

Metrics

category subcategory metric description implemented tool
product CK WMC Weighted Method Count
product CK DIT Depth of Inheritance Tree
product CK RFC Response For Class
product CK NOC Number of Children
product CK CBO Coupling Between Objects
product CK LCOM Lack of Cohesion in Methods
product OO FanIn Number of other classes that reference the class
product OO FanOut Number of other classes referenced by the class
product OO NOA Number Of Attributes
product OO NOPA Number of Public Attributes
product OO NOPRA Number of Private Attributes
product OO NOAI Number of Attributes Inherited
product OO LOC Number of Lines of Code
product OO NOM Number of Methods
product OO NOPM Number of Public Methods
product OO NOPRM Number of Private Methods
product OO NOMI Number of Methods Inherited
product OO Ca Afferent Couplings
product OO Ce Efferent Couplings
product McCabe Max(CC) Maximum Cabe's Cyclomatic Complexity
product McCabe Avg(CC) Average Cane's Cyclomatic Complexity
process Moser REVISION Number of revisions of a file
process Moser REFACTORINGS Number of times a file has been refactored
process Moser BUGFIXES Number of times a file was involved in bug-fixing
process Moser AUTHORS Number of distinct authors that checked a file into the repository
process Moser LOC_ADDED Sum over all revisions of the lines of code added to a file
process Moser MAX_LOC_ADDED Maximum number of lines of code added for all revisions
process Moser AVE_LOC_ADDED Average lines of code added per revision
process Moser LOC_DELETED Sum over all revisions of the lines of code deleted from a file
process Moser MAX_LOC_DELETED Maximum number of lines of code deleted for all revisions
process Moser AVE_LOC_DELETED Average lines of code deleted per revision
process Moser CODECHURN Sum of (added lines of code – deleted lines of code) over all revisions Maximum CODECHURN for all revisions
process Moser MAX_CODECHURN Maximum CODECHURN for all revisions
process Moser AVE_CODECHURN Average CODECHURN per revision
process Moser MAX_CHANGESET Maximum number of files committed together to the repository
process Moser AVE_CHANGESET Average number of files committed together to the repository
process Moser AGE WEIGHTED_AGE Age of a file in weeks (counting backwards from a specific release) See equation (1)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •