System for automating calculation of a comprehensibility score for a software program
First Claim
Patent Images
1. A method for automating calculation of a comprehensibility score for a software program, the method comprising:
- matching, by an analytics engine on a computer, tokens of the software program with a language dictionary, a domain specific vocabulary, and a language grammar, wherein the tokens are non-terminal symbols and comprise class names, method names, and variable names;
matching, by the analytics engine, a compound word with different matching words of the language dictionary, in response to determining that the compound word is used in a token;
calculating, by the analytics engine, a weighted average derived from various categories of the non-terminal symbols used in the software program;
determining, by the analytics engine, a comprehensibility score for the software program, based on the weighted average derived from the various categories of the non-terminal symbols used in the software program; and
providing, by the analytics engine, the comprehensibility score to a reviewer evaluating the software program.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, a computer program product, and a computer system for automating calculation of a comprehensibility score for a software program. An analytics engine on a computer matches tokens of the software program with a language dictionary, a domain specific vocabulary, and a language grammar. The analytics engine determines a comprehensibility score for the software program, based on matching tokens. The analytics engine provides the comprehensibility score to a reviewer evaluating the software program.
-
Citations
12 Claims
-
1. A method for automating calculation of a comprehensibility score for a software program, the method comprising:
-
matching, by an analytics engine on a computer, tokens of the software program with a language dictionary, a domain specific vocabulary, and a language grammar, wherein the tokens are non-terminal symbols and comprise class names, method names, and variable names; matching, by the analytics engine, a compound word with different matching words of the language dictionary, in response to determining that the compound word is used in a token; calculating, by the analytics engine, a weighted average derived from various categories of the non-terminal symbols used in the software program; determining, by the analytics engine, a comprehensibility score for the software program, based on the weighted average derived from the various categories of the non-terminal symbols used in the software program; and providing, by the analytics engine, the comprehensibility score to a reviewer evaluating the software program. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product for automating calculation of a comprehensibility score for a software program, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable to:
-
match tokens of the software program with a language dictionary, a domain specific vocabulary, and a language grammar, wherein the tokens are non-terminal symbols and comprise class names, method names, and variable names; match a compound word with different matching words of the language dictionary, in response to determining that the compound word is used in a token; calculate a weighted average derived from various categories of the non-terminal symbols used in the software program; determine a comprehensibility score for the software program, based on the weighted average derived from the various categories of the non-terminal symbols used in the software program; and provide the comprehensibility score to a reviewer evaluating the software program. - View Dependent Claims (6, 7, 8)
-
-
9. A computer system for automating calculation of a comprehensibility score for a software program, the computer system comprising:
-
one or more processors, one or more computer readable tangible storage devices, and program instructions stored on at least one of the one or more computer readable tangible storage devices for execution by at least one of the one or more processors, the program instructions executable to; match tokens of the software program with a language dictionary, a domain specific vocabulary, and a language grammar, wherein the tokens are the non-terminal symbols and comprise class names, method names, and variable names; match a compound word with different matching words of the language dictionary, in response to determining that the compound word is used in a token; calculate a weighted average derived from various categories of non-terminal symbols used in the software program; determine a comprehensibility score for the software program, based on the weighted average derived from the various categories of the non-terminal symbols used in the software program; and provide the comprehensibility score to a reviewer evaluating the software program. - View Dependent Claims (10, 11, 12)
-
Specification