Ranking of software code parts
AssigneeCodescene AB
InventorAdam Tornhill
Life of this patent
Estimating the term…
Abstract
A method of ranking a plurality of parts of a software code is disclosed for identification of one or more candidate parts of the software code for alteration. The software code is associated with a change history register indicative of previous alterations of the parts of the software code. The method includes (for each of the plurality of parts of the software code) determining a plurality of constituent metrics of the part of the software code by parsing the change history register and the software code determining an alteration recency metric for the part of the software code based on the time indications of the change history register, and scaling one or more of the constituent metrics based on the alteration recency metric.
Claims15
A method of ranking a plurality of parts of a software code for identification of one or more candidate parts of the software code for alteration,
- wherein the software code is associated with a change history register indicative of previous alterations of the parts of the software code, each indication of previous alteration of a part of the software code being associated in the change history register with a time indication, and
- wherein the software code and the change history register are comprised in storing circuitry,
- the method comprising:
- for each of the plurality of parts of the software code, determining a plurality of constituent metrics of the part of the software code by parsing the change history register and the software code, the plurality of constituent metrics comprising:
- a code complexity metric of the part of the software code derived based on the software code;
- and
- a change frequency metric of the part of the software code determined by using the time indications of the change history register to calculate how many alterations the part has undergone per time unit, wherein the calculation is based on a number of alterations in a first time window which excludes alterations that are older than a maximum trace-back time;
- for each of the plurality of parts of the software code, determining an alteration recency metric for the part of the software code by using the time indications of the change history register to determine how long ago the most recent alteration to the part took place and/or to calculate how many alterations the part has undergone per time unit in a second time window which excludes alterations that are older than a recency traceback time which is more recent than the maximum trace-back time;
- for each of the plurality of parts of the software code, scaling one or more of the constituent metrics based on the alteration recency metric;
- ranking the plurality of parts of the software code based on their respective constituent metrics;
- and
- generating a signal indicative of the one or more candidate parts of the software code based on the ranking.
An arrangement for ranking of a plurality of parts of a software code for identification of one or more candidate parts of the software code for alteration,
- wherein the software code is associated with a change history register indicative of previous alterations of the parts of the software code, each indication of previous alteration of a part of the software code being associated in the change history register with a time indication, and
- wherein the software code and the change history register are comprised in storing circuitry,
- the arrangement comprising controlling circuitry that includes programmable hardware that is associated with the storing circuitry and configured to cause:
- for each of the plurality of parts of the software code, determination of a plurality of constituent metrics of the part of the software code by parsing of the change history register and the software code, the plurality of constituent metrics comprising:
- a code complexity metric of the part of the software code derived based on the software code;
- a change frequency metric of the part of the software code determined by using the time indications of the change history register to calculate how many alterations the part has undergone per time unit, wherein the calculation is based on a number of alterations in a first time window which excludes alterations that are older than a maximum trace-back time;
- for each of the plurality of parts of the software code, determination of an alteration recency metric for the part of the software code by using the time indications of the change history register to determine how long ago the most recent alteration to the part took place and/or to calculate how many alterations the part has undergone per time unit in a second time window which excludes alterations that are older than a recency traceback time which is more recent than the maximum trace-back time;
- for each of the plurality of parts of the software code, scaling of one or more of the constituent metrics based on the alteration recency metric;
- ranking of the plurality of parts of the software code based on their respective constituent metrics;
- and
- generation of a signal indicative of the one or more candidate parts of the software code based on the ranking.
Dependencies are inferred from the claim text.