# US 10,872,027 B2 · Run-time or compile-time error solutions for locating missing program elements in a programming environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,027 B2
- Document ID: US10872027B2
- Status: Granted
- Kind: B2
- Application number: 15/956,153
- Filed: 2018-04-18
- Published: 2019-10-24
- Granted: 2020-12-22
- Earliest claimed: 2018-04-18
- Assignees: The MathWorks, Inc.
- Applicants: The MathWorks, Inc.
- Inventors: Ryan M. Santos; Jason D. Breslau
- Web page: https://patentgrep.com/patent/US10872027B2

## CPC

- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 9/3836: {Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution}
- G06F 11/0766: {Error or fault reporting or storing}
- G06F 11/3624: {by performing operations on the source code, e.g. via a compiler}
- G06F 16/14: Details of searching files based on file metadata
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems associated with a programming environment are described that provide automated or semi-automated recovery during run-time or compile-time operation in response to attempts to access a program element that is not in a working folder or in a folder location for which a path has been specified for accessing the program element.

## Claims

### Claim 1

In a programming environment, a computer-implemented method comprising:
receiving, by a computing system, a run-time or compile-time instruction that requires accessing a program element in a working folder or in a folder specified by a path, wherein the program element is identified by an identifier;
detecting that the program element is not present in the working folder or the folder specified by the path and that the instruction cannot be performed;
in response to detecting that the program element is not present in the working folder or the folder specified by the path, reviewing folder-history data that records folders previously accessed by a user;
searching one or more folders identified from the folder-history data to locate a program element having the identifier; or
searching one or more related folders to locate the program element, wherein the one or more related folders comprise any combination of super-folders, sibling folders, or sub-folders; and
providing location display data containing information that indicates to the user or another user one or more folders in which a program element having the identifier is located;
wherein the folder-history data is maintained across multiple user sessions by a system supporting the programming environment.

### Claim 2 (depends on 1)

The method of claim 1, wherein detecting that the program element is not present in the working folder or the folder specified by the path comprises intercepting, by a first handler, an exception generated in response to the program element not being present in the working folder or the folder specified by the path.

### Claim 3 (depends on 2)

The method of claim 2, wherein providing location display data comprises replacing an error message that would have been generated by a second handler with the location display data.

### Claim 4 (depends on 3)

The method of claim 3, wherein the error message corresponds to an undefined file or missing file exception.

### Claim 5 (depends on 1)

The method of claim 1, further comprising providing, with the location display data, active text or an icon that, when selected, automatically changes a user's current folder location to a first folder of the one or more folders.

### Claim 6 (depends on 1)

The method of claim 1, further comprising providing, with the location display data, active text or an icon that, when selected, automatically defines a folder path to the programming environment that allows access to a first folder of the one or more folders from a user's current folder location.

### Claim 7 (depends on 1)

The method of claim 1, further comprising prioritizing the searching based on temporal data stored with the folder-history data.

### Claim 8 (depends on 1)

The method of claim 1, further comprising searching one or a combination of the super-folders, sibling folders, or sub-folders prior to searching other folders for a program element having the identifier.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
if the program element is not located in any folder of the one or more folders, searching the one or more folders for one or more relevant program elements associated with the program element, wherein the one or more relevant program elements were previously used in combination with the program element; and
in response to locating a first relevant program element of the one or more relevant program elements in a first folder, providing location display data that includes information indicating that the program element may be located in the first folder.

### Claim 10 (depends on 1)

The method of claim 1, wherein the accessing comprises calling an executable program element for use with an algorithm executed in the programming environment.

### Claim 11 (depends on 1)

The method of claim 1, wherein the programming environment comprises executing an interpretive programming language.

### Claim 12 (depends on 1)

The method of claim 1, wherein the programming environment supports graphical programming or textual programming.

### Claim 13 (depends on 1)

The method of claim 1, wherein the instruction comprises an include statement or a function call executed within code.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
recording in the folder-history data the one or more folders in response to the user accessing the one or more folders.

### Claim 15 (depends on 1)

The method of claim 1, further comprising automatically changing a user's current folder location to a first folder of the one or more folders or automatically defining a folder path to the programming environment that allows access to the first folder of the one or more folders from a user's current folder location, wherein the automatically changing and automatically defining occur without user selection.

### Claim 16

A computing system comprising at least one processor for use in a computer implemented programming environment, configured to:
receive, by the computing system, a run-time or compile-time instruction that requires accessing a program element in a working folder or in a folder specified by a path, wherein the program element is identified by an identifier;
detect that the program element is not present in the working folder or the folder specified by the path and that the instruction cannot be performed;
in response to detecting that the program element is not present in the working folder or the folder specified by the path, reviewing folder-history data that records folders previously accessed by a user;
search one or more folders identified from the folder-history data to locate a program element having the identifier; or
search one or more related folders to locate the program element, wherein the one or more related folders comprise any combination of super-folders, sibling folders, or sub-folders; and
provide location display data containing information that indicates to the user or another user one or more folders in which a program element having the identifier is located;
wherein the folder-history data is maintained across multiple user sessions by a system supporting the programming environment.

### Claim 17 (depends on 16)

The computing system of claim 16, wherein detecting that the program element is not present in the working folder or the folder specified by the path comprises intercepting, by a first handler, an exception generated in response to the program element not being present in the working folder or the folder specified by the path.

### Claim 18 (depends on 17)

The computing system of claim 17, wherein providing location display data comprises replacing an error message that would have been generated by a second handler with the location display data.

### Claim 19 (depends on 18)

The computing system of claim 18 wherein the error message corresponds to an undefined file or missing file exception.

### Claim 20 (depends on 16)

The computing system of claim 16, further comprising providing, with the location display data, active text or an icon that, when selected, automatically changes a user's current folder location to a first folder of the one or more folders.

### Claim 21 (depends on 16)

The computing system of claim 16, further comprising providing, with the location display data, active text or an icon that, when selected, automatically defines a folder path to the programming environment that allows access to a first folder of the one or more folders from a user's current folder location.

### Claim 22 (depends on 16)

The computing system of claim 16, further comprising prioritizing the searching based on temporal data stored with the folder-history data.

### Claim 23 (depends on 16)

The computing system of claim 16, further comprising searching one or a combination of the super-folders, sibling folders, or sub-folders prior to searching other folders for a program element having the identifier.

### Claim 24

A non-transitory computer readable storage medium have computer readable instructions stored thereon that, when executed by a processor of a computing system, perform a method comprising:
receiving, by the computing system, a run-time or compile-time instruction that requires accessing a program element in a working folder or in a folder specified by a path, wherein the program element is identified by an identifier;
detecting that the program element is not present in the working folder or the folder specified by the path and that the instruction cannot be performed;
in response to detecting that the program element is not present in the working folder or the folder specified by the path, reviewing folder-history data that records folders previously accessed by a user;
searching one or more folders identified from the folder-history data to locate a program element having the identifier; or
searching one or more related folders to locate the program element, wherein the one or more related folders comprise any combination of super-folders, sibling folders, or sub-folders; and
providing location display data containing information that indicates to the user or another user one or more folders in which a program element having the identifier is located;
wherein the folder-history data is maintained across multiple user sessions by a system supporting the programming environment.

### Claim 25 (depends on 24)

The non-transitory computer readable storage medium of claim 24, wherein detecting that the program element is not present in the working folder or the folder specified by the path comprises intercepting, by a first handler, an exception generated in response to the program element not being present in the working folder or the folder specified by the path.

### Claim 26 (depends on 25)

The non-transitory computer readable storage medium of claim 25, wherein providing location display data comprises replacing an error message that would have been generated by a second handler with the location display data.

### Claim 27 (depends on 26)

The non-transitory computer readable storage medium of claim 26, wherein the error message corresponds to an undefined file or missing file exception.

### Claim 28 (depends on 24)

The non-transitory computer readable storage medium of claim 24, further comprising providing, with the location display data, active text or an icon that, when selected, automatically changes a user's current folder location to a first folder of the one or more folders.

### Claim 29 (depends on 24)

The non-transitory computer readable storage medium of claim 24, further comprising providing, with the location display data, active text or an icon that, when selected, automatically defines a folder path to the programming environment that allows access to a first folder of the one or more folders from a user's current folder location.

### Claim 30 (depends on 24)

The non-transitory computer readable storage medium of claim 24, further comprising prioritizing the searching based on temporal data stored with the folder-history data.

### Claim 31 (depends on 24)

The non-transitory computer readable storage medium of claim 24, further comprising searching one or a combination of the super-folders, sibling folders, or sub-folders prior to searching other folders for a program element having the identifier.
