Lightweight software test library for vehicle compute hardware coverage testing
US-12124356-B2 · Oct 22, 2024 · US
US9594670B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9594670-B2 |
| Application number | US-16744608-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 3, 2008 |
| Priority date | Jul 3, 2008 |
| Publication date | Mar 14, 2017 |
| Grant date | Mar 14, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A solution for managing software dependencies during software testing and debugging includes a capture module configured to capture a software call stack of a software execution environment, each software call of the software call stack including a call signature and a call result. The solution defines a set of proxied software calls within the software call stack suitable for simulating conversation responses to runtime software calls by a target application. Once a set of proxied software calls is defined, a playback module recognizes runtime software calls by the target application that are within the set of proxied software calls and responds to the recognized runtime software call with a captured call result corresponding to the recognized software call.
Opening claim text (preview).
What is claimed is: 1. An apparatus for managing software dependencies during software testing and debugging comprising: a capture module configured to capture a software call stack of a software execution environment, the software call stack comprising a plurality of software calls from a target application to one or more external applications, each software call of the software call stack comprising a call result, wherein the target application is dependent on the one or more external applications to complete, the one or more external applications excluding an operating system; and capture a pre-call global variable set representative of a state of global variables in the software execution environment prior to calling the one or more external applications and capture a post-call global variable set representative of a state of the global variables in the software execution environment after calling the one or more external applications; a determination module configured to define a set of proxied software calls within the captured software call stack suitable for simulating conversation responses to runtime software calls by the target application; and a playback module configured to monitor a runtime software call stack and determine whether a runtime software call by the target application to the one or more external applications is within the defined set of proxied software calls, the playback module configured to respond to the runtime software call with a captured call result corresponding to the runtime software call in response to recognizing the runtime software call as being within the defined set of proxied software calls, the playback module configured to ignore the runtime software call and to continue monitoring the runtime software call stack in response to not recognizing the runtime software call as being within the defined set of proxied software calls, and the playback module configured to adjust global variables in the software execution environment to reflect the values of global variables in the post-call global variable set, wherein all or a portion of the capture module, the determination module, and the playback module comprise one or more of logic hardware and executable code, the executable code stored on a computer readable storage medium. 2. The apparatus of claim 1 , wherein the determination module comprises a user interface module configured to present the captured software call stack to a user, and an identification module configured to identify in response to user input, the defined set of proxied software calls from the target application within the captured software call stack that reference a particular external application of the one or more external applications, the target application defined by the user. 3. The apparatus of claim 1 , wherein the capture module is further configured to store each software call of the defined proxied set of software calls in persistent storage, each software call comprising at least a call name, a call parameter set, and a call result. 4. The apparatus of claim 3 , wherein the capture module is further configured to capture the call result from the runtime software stack after calling the one or more external applications and store the pre-call global variable set, post-call global variable set, and call result. 5. The apparatus of claim 4 , wherein each software call comprises a call signature and wherein the capture module stores each call signature and a conversation result as a call signature record in a relational database, the captured call signature comprising a key for a table storing a plurality of software call stack records, the call signature comprising the call name, call parameter set, and the pre-call global variable set and the conversation result comprising the call result and the post-call global variable set. 6. The apparatus of claim 5 , wherein the identification module is further configured to filter the call signature records retrieved from the relational database to produce a set of playback call records comprised of a call signature and a conversation result associated with the target application identified by the user. 7. The apparatus of claim 6 , wherein the playback module is further configured to watch the runtime software call stack for a runtime call signature originating from the target application to the one or more external applications and to search the playback call records for an exact match between the runtime call signature and a call signature of the playback call records. 8. The apparatus of claim 7 , wherein the call signature comprises at least one of a call name, a call parameter set, and a global variable set. 9. A method for managing software dependencies during software testing and debugging, the method comprising: capturing a software call stack of a software execution environment, the software call stack comprising a plurality of software calls from a target application to one or more external applications, each software call of the software call stack comprising a call signature and a call result, wherein the target application is dependent on the one or more external applications to complete, the one or more external applications excluding an operating system; capturing a pre-call global variable set representative of a state of global variables in the software execution environment prior to calling the one or more external applications and capturing a post-call global variable set representative of a state of the global variables in the software execution environment after calling the one or more external applications; presenting the captured software call stack to a user, by way of a user interface module; defining a set of proxied software calls within the captured software call stack suitable for simulating conversation responses to runtime software calls by the target application; identifying in response to user input, a set of proxied software calls from the target application within the captured software call stack that reference a particular external software application of the one or more external applications; monitoring a runtime software call stack and determining whether a runtime software call by the target application is within the identified set of proxied software calls; responding to the runtime software call with a captured call result corresponding to the software call in response to recognizing the software call as being within the identified set of proxied software calls; ignoring the runtime software call and continuing to monitor the runtime software call stack in response to not recognizing the runtime software call as being within the identified set of proxied software calls; and adjusting global variables in the software execution environment to reflect the values of global variables in the post-call global variable set. 10. The method of claim 9 , wherein the target application is identified by the user. 11. The method of claim 9 , further comprising storing each software call of the software call stack in persistent storage, each software call comprising at least a call name, a call parameter set, and a call result. 12. The method of claim 11 , further comprising capturing the call result from the software stack after calling the one or more external applications and storing the pre-call global variable set, post-call global variable set, and call result. 13. The method of claim 12 , further comprising storing each call signature and a conversation result as a call signature record in a relational database, the captured call signature comprising a key for a table storing a plurality of software c
by runtime analysis (performance monitoring G06F11/3466) · CPC title
by tracing the execution of the program · CPC title
Methods or tools to render software testable · CPC title
Physics · mapped topic
for test execution, e.g. scheduling of test suites · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.