IP Library Granted Patent US 10,802,823
Granted Patent B2
US 10,802,823 · App. 16/317,585 · Granted Oct 13, 2020

Method for identifying critical parts in software code

Inventor: Adam Tornhill (Malmö, SE)
Assignee: EMPEAR AB
G06F8/71G06F8/72G06F11/3616G06F21/577G06Q10/0635G06F8/33G06F8/447G06F8/65G06F8/75G06F11/3676G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,802,823
App. No.
16/317,585
Granted
Oct 13, 2020
Kind
B2
Abstract

A method for identifying critical parts in software code comprised in a number of software code files. The method comprises fetching at least two revisions of the software code, wherein the at least two revisions includes a first revision and a second revision, and the second revision being a latter revision. The method further comprises comparing the second revision to the first revision in order to identify at least a first and a second segment of software code in the second revision that have been changed, fetching at least a first and second timestamp correlated with the change of the at least first and second segment of software code respectively, and determining a time difference between the change of the at least first and second segment of software code based on the at least first and second timestamp. If the time difference is within a predetermined range, the method includes assigning a temporal coupling between the at least first and second segment of software code. If the temporal coupling has been assigned, the method also includes identifying the first and/or second segment of software code as critical parts.

Claims (23)

1. A method for identifying critical parts in software code comprised in a number of software code files, said method comprising:

fetching at least two revisions of said software code, wherein said at least two revisions comprises a first revision and a second revision, said second revision being a latter revision;

comparing said second revision to said first revision in order to identify at least a first and a second segment of software code in said second revision that have been changed;

fetching at least a first and second timestamp correlated with said change of said at least first and second segment of software code respectively;

determining a time difference between said change of said at least first and second segment of software code based on said at least first and second timestamp;

if said time difference is within a predetermined range, assigning a temporal coupling between said at least first and second segment of software code;

if said temporal coupling has been assigned, identifying said first and/or second segment of software code as critical parts;

suggesting how to re-arrange said software code such that said critical parts appear closer to each other; and

re-arranging said software code according to said suggestion, wherein the re-arranging comprises one or more of:

moving one of the critical parts closer to another one of the critical parts,

combining a first software code file comprising one of the critical parts with a second software code file comprising another one of the critical part, or

splitting a software code file comprising the critical parts and arranging the critical parts in one of the split software code files.

2. The method according to claim 1 , wherein the software code is comprised in at least two software code files.

3. The method according to claim 1 , further comprising the step of providing a suggestion on how to split one or several of said number of software code files and/or combine at least two software code files such that said critical parts appear closer to each other.

4. The method according to claim 3 , further comprising the step of splitting and/or combining said one or several of said number of software code files according to said suggestion.

5. The method according to claim 1 , further comprising the step of identifying a number of developers involved in said change of said at least first and second segment of software code, and wherein the step of assigning a temporal coupling between said at least first and second segment of software code further comprises a prerequisite that the same developer has been involved in said change of said at least first and second segment of software code.

6. The method according to claim 1 , further comprising the step of identifying a number of ticket identifiers referenced in said change of said at least first and second segment of software code, and wherein the step of assigning a temporal coupling between said at least first and second segment of software code further comprises the prerequisite that said change of said at least first and second segment of software code have been made with reference to the same ticket identifier.

7. The method according to claim 1 , further comprising:

identifying a number of developers that have been involved in developing said number of critical parts; and

providing names of said number of developers.

8. A computer having a processor executing computer program code to perform the steps of claim 1 .

9. The computer according to claim 8 , wherein the computer program code is embodied on a non-transitory, computer readable medium.

10. A computer program product comprising a non-transitory computer readable medium, having thereon computer program code loadable into a data processing unit and configured to cause execution of the method according to claim 1 when run by the data processing unit.

Assignments (3)
CHANGE OF NAME Recorded May 5, 2022
From: EMPEAR AB
To: CODESCENE AB
Reel/Frame 059857/0621 →
CHANGE OF NAME Recorded Apr 28, 2021
From: EMPEAR AB
To: CODESCENE AB
Reel/Frame 056077/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: TORNHILL, ADAM
To: EMPEAR AB
Reel/Frame 048184/0818 →
Priority Claims (1)
EP 16183741 · Aug 11, 2016 · regional
Continuity (1)
Related Publication 20190294432A1 · Sep 26, 2019
Cited By (1)
US 12,217,050