# US 2014/0195862 A1 · Software systems by minimizing error recovery logic

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

- Number: US 2014/0195862 A1
- Document ID: US20140195862A1
- Status: Published application
- Kind: A1
- Application number: 13/734,700
- Filed: 2013-01-04
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: Microsoft Corporation
- Applicants: Microsoft Corporation
- Inventors: Martin Taillefer; Jinsong Yu; John J. Duffy; Sean E. Trowbridge; Alexander D. Bromfield
- Web page: https://patentgrep.com/patent/US20140195862A1

## CPC

- G06F 11/0772: {Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers}
- G06F 8/4442: {Reducing the number of cache misses; Data prefetching (cache prefetching G06F12/0862)}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Handing errors in program execution. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that one or more of the explicitly identified failure conditions has occurred. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition. An alternative embodiment may be practiced in a computing environment, and includes a method handing errors. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.

## Claims

### Claim 1

In a computing environment, a method handing errors, the method comprising:
identifying a set including a plurality of explicitly identified failure conditions;
determining that one or more of the explicitly identified failure conditions has occurred; and
as a result, halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.

### Claim 2 (depends on 1)

The method of claim 1, wherein the set including a plurality of explicitly identified failure conditions comprises a failure condition indicating that a static invariant requirement of a computing module has been violated.

### Claim 3 (depends on 1)

The method of claim 1 further comprising identifying to a programmer user the set including a plurality of explicitly identified failure conditions to indicate to the programmer user failure conditions that can cause a failure of the first execution scope of computing.

### Claim 4 (depends on 1)

The method of claim 1 further comprising identifying to a compiler the set including a plurality of explicitly identified failure conditions to indicate to the compiler failure conditions that can cause a failure of the first execution scope of computing.

### Claim 5 (depends on 4)

The method of claim 4, further comprising the compiler compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions.

### Claim 6 (depends on 5)

The method of claim 5, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises organizing the code layout of the predetermined first execution scope to improve cache efficiency by moving infrequently used code out of line.

### Claim 7 (depends on 5)

The method of claim 5, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises eliminating redundant control flow based on knowledge by the compiler of the conditions that cause halting the predetermined first execution scope of computing.

### Claim 8

In a computing environment, a method handing errors, the method comprising:
identifying a set including a plurality of explicitly identified failure conditions;
determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions; and
as a result halting a predetermined first execution scope of computing, and notifying another scope of computing of the error condition.

### Claim 9 (depends on 8)

The method of claim 8, further comprising determining that another error condition has occurred that is in the set including the plurality of explicitly identified failure conditions, and as a result handling the other error condition internally to the first execution scope of computing.

### Claim 10 (depends on 8)

The method of claim 8, further comprising identifying to a programmer user the set including a plurality of explicitly identified failure conditions to indicate to the programmer user the conditions that will not cause the first scope of computing to fail.

### Claim 11 (depends on 8)

The method of claim 8, further comprising identifying to a compiler the set including a plurality of explicitly identified failure conditions to indicate to the compiler failure conditions that do cause a failure of the first execution scope of computing.

### Claim 12 (depends on 8)

The method of claim 8, further comprising the compiler compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions.

### Claim 13 (depends on 12)

The method of claim 12, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises organizing the code layout of the predetermined first execution scope to improve cache efficiency by moving infrequently used code out of line.

### Claim 14 (depends on 12)

The method of claim 12, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises eliminating redundant control flow based on knowledge by the compiler of the conditions that cause halting the predetermined first execution scope of computing.

### Claim 15

In a computing environment, a computer readable storage medium comprising computer executable instructions that when executed by one or more processors cause the one or more processor to perform the following:
identifying a set including a plurality of explicitly identified failure conditions;
determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions; and
as a result halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.

### Claim 16 (depends on 15)

The computer readable storage medium of claim 15, further comprising computer executable instructions that when executed by one or more processors cause one or more processors to determine that another error condition has occurred that is in the set including the plurality of explicitly identified failure conditions, and as a result handle the another error condition internally to the first execution scope of computing.

### Claim 17 (depends on 15)

The computer readable storage medium of claim 15, further comprising computer executable instructions that when executed by one or more processors cause one or more processors identify to a compiler the set including a plurality of explicitly identified failure conditions to indicate to the compiler failure conditions that do cause a failure of the first execution scope of computing.

### Claim 18 (depends on 17)

The computer readable storage medium of claim 17, wherein the compiler compiles the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions.

### Claim 19 (depends on 18)

The computer readable storage medium of claim 18, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises organizing the code layout of the predetermined first execution scope to improve cache efficiency by moving infrequently used code out of line.

### Claim 20 (depends on 18)

The computer readable storage medium of claim 18, wherein compiling the predetermined first execution scope of computing in an optimized way based on the identified set including a plurality of explicitly identified failure conditions comprises eliminating redundant control flow based on knowledge by the compiler of the conditions that cause halting the predetermined first execution scope of computing.
