P
US8312433B2ActiveUtilityPatentIndex 62

Operating system aided code coverage

Assignee: BEN-YEHUDA SHMUELPriority: Dec 15, 2008Filed: Dec 15, 2008Granted: Nov 13, 2012
Est. expiryDec 15, 2028(~2.5 yrs left)· nominal 20-yr term from priority
Inventors:BEN-YEHUDA SHMUELKLAUSNER MOSHE
G06F 11/3676
62
PatentIndex Score
4
Cited by
24
References
20
Claims

Abstract

A method, system, and computer program product for operating system (OS) aided code coverage are provided. The method includes reading context information associated with a software process in response to a context switching event in an OS, the OS initiating the reading of the context information and controlling scheduling of the software process. The method further includes determining coverage information for code implementing the software process as a function of the context information in response to the OS reading the context information, and storing the coverage information as coverage data.

Claims

exact text as granted — not AI-modified
1. A method comprising:
 reading context information associated with a software process in response to a context switching event in an operating system (OS), the OS initiating the reading of the context information and controlling scheduling of the software process; 
 determining, using the context information, coverage information for code implementing the software process in response to the OS reading the context information; and 
 storing the coverage information as coverage data. 
 
     
     
       2. The method of  claim 1  wherein the software process is an executable instance of an application program, and performance of the determining and storing of the coverage information is configurable. 
     
     
       3. The method of  claim 1  further comprising:
 pausing execution of the software process in response to a scheduling event received at scheduling logic of the OS; 
 storing the context information associated with the software process in response to the context switching event; 
 triggering the context switching event in response to pausing the execution of the software process; 
 restoring previously stored context information associated with a second software process; and 
 resuming execution of the second software process subsequent to storing the coverage information. 
 
     
     
       4. The method of  claim 1  wherein the context switching event is a pseudo-context switch performing the determination of coverage information and resuming execution of the software process without switching to a second software process. 
     
     
       5. The method of  claim 1  wherein the context information associated with the software process includes one or more state values of one or more registers. 
     
     
       6. The method of  claim 5  wherein the one or more registers includes one of more of: a program counter, a stack pointer, condition codes, general purpose registers, floating-point registers, address registers, status registers, and memory management information. 
     
     
       7. The method of  claim 1  further comprising:
 checking parameters accessible to the OS, including inter-process state data; and 
 associating the parameters with the context information to determine the coverage information. 
 
     
     
       8. The method of  claim 1  further comprising:
 performing a coverage task in the OS, comprising: 
 reading parameters to establish one or more threshold limits to perform a coverage task in the OS; 
 comparing the context information against the one or more threshold limits; and
 storing a result of the comparing to the coverage data. 
 
 
     
     
       9. A system comprising:
 system memory; and 
 a processing unit coupled to the system memory, the processing unit executing an operating system (OS), the OS comprising:
 scheduling logic to control scheduling of a software process; 
 context switch logic to read context information associated with the software process in response to a context switching event; and 
 
 coverage logic to determine, using the context information, coverage information for code implementing the software process, and storing the coverage information as coverage data to the system memory. 
 
     
     
       10. The system of  claim 9  wherein the context switching event is a pseudo-context switch performing the determination of coverage information and resuming execution of the software process without switching to a second software process. 
     
     
       11. The system of  claim 9  wherein the context information associated with the software process includes one or more state values of one or more registers, the one or more registers including one of more of: a program counter, a stack pointer, condition codes, general purpose registers, floating-point registers, address registers, status registers, and memory management information. 
     
     
       12. The system of  claim 9  further comprising:
 parameters accessible to the OS, including inter-process state data, wherein the parameters are associated with the context information to determine the coverage information. 
 
     
     
       13. The system of  claim 9  wherein the software process is an executable instance of an application program, and performance of the determining and storing of the coverage information is configurable. 
     
     
       14. A computer program product comprising:
 a tangible storage medium readable by a processing unit and storing instructions for execution by the processing unit for implementing a method, the method comprising: 
 reading context information associated with a software process in response to a context switching event in an operating system (OS), the OS initiating the reading of the context information and controlling scheduling of the software process, wherein the software process is an executable instance of an application program; 
 determining, using the context information, coverage information for code implementing the software process in response to the OS reading the context information; and 
 storing the coverage information as coverage data. 
 
     
     
       15. The computer program product of  claim 14  wherein the context switching event is a pseudo-context switch performing the determination of coverage information and resuming execution of the software process without switching to a second software process. 
     
     
       16. The computer program product of  claim 14  wherein the context information associated with the software process includes one or more state values of one or more registers, the one or more registers including one of more of: a program counter, a stack pointer, condition codes, general purpose registers, floating-point registers, address registers, status registers, and memory management information. 
     
     
       17. The computer program product of  claim 14  further comprising:
 checking parameters accessible to the OS, including inter-process state data; and 
 associating the parameters with the context information to determine the coverage information. 
 
     
     
       18. The computer program product of  claim 14  further comprising:
 performing a coverage task in the OS, comprising: 
 reading parameters to establish one or more threshold limits to perform a coverage task in the OS; 
 comparing the context information against the one or more threshold limits; and
 storing a result of the comparing to the coverage data. 
 
 
     
     
       19. The computer program product of  claim 14  further comprising:
 pausing execution of the software process in response to a scheduling event received at scheduling logic of the OS; 
 storing the context information associated with the software process in response to the context switching event; 
 triggering the context switching event in response to pausing the execution of the software process; 
 restoring previously stored context information associated with a second software process; and
 resuming execution of the second software process subsequent to storing the coverage information. 
 
 
     
     
       20. The computer program product of  claim 14  wherein performance of the determining and storing of the coverage information is configurable.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.