IP Library › Granted Patent US 12,254,299
Granted Patent B2
US 12,254,299 · App. 18/584,195 · Granted Mar 18, 2025

Automatic code reconfiguration based on function and subfunction analysis

Inventor: Carmit Sahar (Tel Aviv, IL)
Assignee: Aurora Labs Ltd.
G06F8/427G06F8/436
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 12,254,299
App. No.
18/584,195
Granted
Mar 18, 2025
Kind
B2
Abstract

Disclosed herein are techniques for automatically reconfiguring code based on function and subfunction analysis. Techniques include determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity; identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function; and forming a second function by reconfiguring the first function to call at least one of the identified plurality of subfunctions.

Claims (33)

1. A non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for automatically reconfiguring code based on function and subfunction analysis, the operations comprising:

determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity based on the code structure;

identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function, wherein:

identifying the subfunctions includes determining division indicators between portions of the at least one first function and generating at least one subfunction; and

generating the at least one subfunction comprises:

determining a subset of code of the at least one first function as the at least one subfunction; and

generating a code structure to hold the subset of code as a distinct subfunction;

forming a second function by reconfiguring the at least one first function to call at least one of the identified plurality of subfunctions; and

updating a code file to include the second function.

2. The non-transitory computer-readable medium of claim 1 , the operations further comprising designating the portions of code as the subfunctions.

3. The non-transitory computer-readable medium of claim 1 , the operations further comprising determining non-division indicators of the at least one first function.

4. The non-transitory computer-readable medium of claim 1 , wherein the commonality between the plurality of subfunctions and the at least one first function comprises at least one of a content commonality, a structure commonality, or a function commonality.

5. The non-transitory computer-readable medium of claim 1 , wherein the commonality between the plurality of subfunctions and the at least one first function comprises at least one of a common call, common argument, common statement, common variable, common operation, common block, common symbol, or common line of code.

6. The non-transitory computer-readable medium of claim 1 , wherein forming the second function comprises reconfiguring the first function to call at least one of the plurality of subfunctions.

7. The non-transitory computer-readable medium of claim 6 , wherein reconfiguring the first function comprises adding a subfunction, function, call, argument, reference to a memory location, or other segment of code to the first function.

8. The non-transitory computer-readable medium of claim 1 , the operations further comprising causing removal of the at least one first function from the code file.

9. The non-transitory computer-readable medium of claim 1 , wherein the code file is a software change file configured to change code on a controller from a first version of code to a second version of code.

10. The non-transitory computer-readable medium of claim 9 , wherein the code file is a delta file.

11. A computer-implemented method for automatically reconfiguring code based on function and subfunction analysis, comprising:

determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity based on the code structure;

identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function, wherein:

identifying the subfunctions includes determining division indicators between portions of the at least one first function and generating at least one subfunction; and

generating the at least one subfunction comprises:

determining a subset of code of the at least one first function as the at least one subfunction; and

generating a code structure to hold the subset of code as a distinct subfunction;

forming a second function by reconfiguring the at least one first function to call at least one of the identified plurality of subfunctions; and

updating a code file to include the second function.

12. The computer-implemented method of claim 11 , further comprising designating the portions of code as the subfunctions.

13. The computer-implemented method of claim 11 , further comprising determining non-division indicators of the at least one first function.

14. The computer-implemented method of claim 11 , wherein the commonality between the plurality of subfunctions and the at least one first function comprises at least one of a content commonality, a structure commonality, or a function commonality.

15. The computer-implemented method of claim 11 , wherein the commonality between the plurality of subfunctions and the at least one first function comprises at least one of a common call, common argument, common statement, common variable, common operation, common block, common symbol, or common line of code.

16. The computer-implemented method of claim 11 , wherein forming the second function comprises reconfiguring the first function to call at least one of the plurality of subfunctions.

17. The computer-implemented method of claim 16 , wherein reconfiguring the first function comprises adding a subfunction, function, call, argument, reference to a memory location, or other segment of code to the first function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2024
From: SAHAR, CARMIT
To: AURORA LABS LTD.
Reel/Frame 066532/0727 →
Continuity (3)
Continuation 18318354 · May 16, 2023
Continuation 18048690 · Oct 21, 2022
Related Publication 20240231776A1 · Jul 11, 2024
References Cited (8)
US 11042369B1 · Kimball et al. · 2021 [cited by applicant]
US 20190079759A1 · Kadam · 2019 [cited by applicant]
US 20190079853A1 · Makkar · 2019 [cited by applicant]
US 20190362241A1 · Ren · 2019 [cited by applicant]
US 20210124674A1 · Mamadapur · 2021 [cited by examiner]
Extended European Search Report for Application No. 23174559.7-1203 dated Mar. 14, 2024 (8 pages). [cited by applicant]
D. Lv, G. Qui, Y. Cai, Y. Lou and T. Zhang, Research on Modeling of Reconfiguration for Integrated Electronic System,: 2020 3rd International Conference on Unmanned Systems (ICUS), Harbin, China, 2020, pp. 158-161, doi:… [cited by applicant]
J. A. Hewson, P. Anderson and A. D. Gordon, “Constraint-Based Autonomic Reconfiguration,” 2013 IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems, Philadelphia, PA, USA, 2013, pp. 101-110, do… [cited by applicant]
Cited By (1)
US 12,657,039