Method, system and program product for detecting deviation from software development best practice resource in a code sharing system
First Claim
1. A system for building a dynamic best practice violation (BPV) engine resource for detecting software development best practice violations, the system comprising:
- at least one computing device having a processor and a memory, the memory including;
a code reception system for receiving sets of source code from a plurality of sources;
a language detection system for detecting a programming language of each of the sets of source code;
a pattern extraction system for extracting a plurality of code patterns from the sets of source code;
a code pattern analysis system for defining meta data for each of the plurality of code patterns that indicates a quality of the plurality of code patterns;
a classification and ranking system for classifying and assigning a rank to each of the plurality of code patterns based on the corresponding meta data;
a storage system for storing each of the plurality of code patterns and the assigned ranks in a data structure;
a test reception system for receiving a subsequent set of source code that is developed independently from the at least one code pattern stored in the data structure;
a test extraction system for extracting and classifying a code pattern to be tested from the subsequent set of source code;
a test classification system for classifying the code pattern to be tested;
a matching system for comparing the code pattern to be tested to the plurality of code patterns to determine a closest match to the code pattern to be tested, and for assigning a rank of the closest match to the code pattern to be tested; and
a deviation detection system for detecting a software development best practice violation if the rank assigned to the code pattern to be tested fails to comply with a predetermined threshold.
0 Assignments
0 Petitions
Accused Products
Abstract
Under the present invention, a best practice violation (BPV) engine resource is first built. This typically occurs by: receiving sets of source code from a plurality of sources; detecting a programming language of each of the sets of source code; extracting code patterns from the sets of source code; defining meta data for each code pattern that indicates a quality thereof, classifying each code pattern; and assigning a rank to each of the code pattern based on it'"'"'s corresponding meta data as well as a skill level and an experience level of the developer thereof. Once the BPV engine resource is built, it will be used to detect best practice violations in other sets of source code.
-
Citations
22 Claims
-
1. A system for building a dynamic best practice violation (BPV) engine resource for detecting software development best practice violations, the system comprising:
-
at least one computing device having a processor and a memory, the memory including; a code reception system for receiving sets of source code from a plurality of sources; a language detection system for detecting a programming language of each of the sets of source code; a pattern extraction system for extracting a plurality of code patterns from the sets of source code; a code pattern analysis system for defining meta data for each of the plurality of code patterns that indicates a quality of the plurality of code patterns; a classification and ranking system for classifying and assigning a rank to each of the plurality of code patterns based on the corresponding meta data; a storage system for storing each of the plurality of code patterns and the assigned ranks in a data structure; a test reception system for receiving a subsequent set of source code that is developed independently from the at least one code pattern stored in the data structure; a test extraction system for extracting and classifying a code pattern to be tested from the subsequent set of source code; a test classification system for classifying the code pattern to be tested; a matching system for comparing the code pattern to be tested to the plurality of code patterns to determine a closest match to the code pattern to be tested, and for assigning a rank of the closest match to the code pattern to be tested; and a deviation detection system for detecting a software development best practice violation if the rank assigned to the code pattern to be tested fails to comply with a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A best practice violation (BPV) engine for detecting software development best practice violations, comprising:
-
at least one computing device having a processor and a memory, the memory including; a test reception system for receiving a first set of source code; a test extraction system for extracting a code pattern to be tested from the first set of source code; a test classification system for classifying the code pattern to be tested; a matching system for comparing the code pattern to be tested to a plurality of code patterns extracted from other sets of source code previously received and analyzed by the BPV engine to determine a closest match to the code pattern to be tested, and for assigning a rank previously assigned to the closest match to the code pattern to be tested; and a deviation detection system for detecting a software development best practice violation if the rank assigned to the code pattern to be tested fails to comply with a predetermined threshold. - View Dependent Claims (10, 11)
-
-
12. A program product stored on a non-transitory recordable medium for building a dynamic best practice violation (BPV) engine resource for detecting software development best practice violations, which when executed, comprises:
-
program code for receiving sets of source code from a plurality of sources; program code for detecting a programming language of each of the sets of source code; program code for extracting a plurality of code patterns from the sets of source code; program code for defining meta data for each of the plurality of code patterns that indicates a quality of the plurality of code patterns; program code for classifying and assigning a rank to each of the plurality of code patterns based on the corresponding meta data; program code for receiving a subsequent set of source code; program code for a code pattern to be tested from the subsequent set of source code; program code for classifying the code pattern to be tested; program code for comparing the code pattern to be tested to the plurality of code patterns to determine a closest match to the code pattern to be tested, and for assigning a rank of the closest match to the code pattern to be tested; and program code for detecting a software development best practice violation if the rank assigned to the code pattern to be tested fails to comply with a predetermined threshold. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A best practice violation (BPV) engine stored on a non-transitory recordable medium for detecting software development best practice violations, which when executed, comprises:
-
program code for receiving a first set of source code; program code for extracting a code pattern to be tested from the first set of source code; program code for classifying the code pattern to be tested; program code for comparing the code pattern to be tested to a plurality of code patterns extracted from other sets of source code previously received and analyzed by the BPV engine to determine a closest match to the code pattern to be tested, and for assigning a rank previously assigned to the closest match to the code pattern to be tested; and program code for detecting a software development best practice violation if the rank assigned to the code pattern to be tested fails to comply with a predetermined threshold. - View Dependent Claims (21, 22)
-
Specification