US11847041B2 - System and method for probe injection for code coverage - Google Patents
System and method for probe injection for code coverage Download PDFInfo
- Publication number
- US11847041B2 US11847041B2 US17/371,145 US202117371145A US11847041B2 US 11847041 B2 US11847041 B2 US 11847041B2 US 202117371145 A US202117371145 A US 202117371145A US 11847041 B2 US11847041 B2 US 11847041B2
- Authority
- US
- United States
- Prior art keywords
- probes
- probe
- code
- executable code
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3644—Debugging of software by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
Definitions
- U.S. Pat. No. 7,178,131 describes a method for analyzing runtime behavior of a program by injecting probes that cause minimum perturbation.
- KR20150007806 describes a method for determining test coverage of a multi-threaded software.
- CN102419728A describes methods for analyzing code when probes are injected for determining test coverage.
- US20090287729 relates to the injection of non-executable code to determine test coverage.
- the techniques described herein may be used to collect coverage information from production systems with minimal impact on the CPU and RAM resources of the host machines.
- Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or a combination thereof.
- several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof.
- selected steps of the invention could be implemented as a chip or a circuit.
- selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system.
- selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
- An algorithm as described herein may refer to any series of functions, steps, one or more methods or one or more processes, for example for performing data analysis.
- Implementation of the apparatuses, devices, methods and systems of the present disclosure involve performing or completing certain selected tasks or steps manually, automatically, or a combination thereof. Specifically, several selected steps can be implemented by hardware or by software on an operating system, of a firmware, and/or a combination thereof. For example, as hardware, selected steps of at least some embodiments of the disclosure can be implemented as a chip or circuit (e.g., ASIC). As software, selected steps of at least some embodiments of the disclosure can be implemented as a number of software instructions being executed by a computer (e.g., a processor of the computer) using an operating system. In any case, selected steps of methods of at least some embodiments of the disclosure can be described as being performed by a processor, such as a computing platform for executing a plurality of instructions.
- a processor such as a computing platform for executing a plurality of instructions.
- processor may be a hardware component, or, according to some embodiments, a software component.
- a processor may also be referred to as a module; in some embodiments, a processor may comprise one or more modules; in some embodiments, a module may comprise computer instructions—which can be a set of instructions, an application, software—which are operable on a computational device (e.g., a processor) to cause the computational device to conduct and/or achieve one or more specific functionality.
- a computational device e.g., a processor
- any device featuring a processor which may be referred to as “data processor”; “pre-processor” may also be referred to as “processor” and the ability to execute one or more instructions may be described as a computer, a computational device, and a processor (e.g., see above), including but not limited to a personal computer (PC), a server, a cellular telephone, an IP telephone, a smart phone, a PDA (personal digital assistant), a thin client, a mobile communication device, a smart watch, head mounted display or other wearable that is able to communicate externally, a virtual or cloud based processor, a pager, and/or a similar device. Two or more of such devices in communication with each other may be a “computer network.”
- FIGS. 1 A and 1 B show non-limiting exemplary systems for selecting one or more probes for injection into executable code for execution
- FIG. 2 shows a non-limiting exemplary method according at least some embodiments for creating and/or selecting one or more probes and then determining their effect on injecting into the code
- FIGS. 3 A and 3 B show non-limiting, exemplary methods for probe cost determination
- FIG. 4 shows a system which is similar to that of FIG. 1 A , except in this non-limiting example, the system also includes a test agent and a coverage computational device; and
- FIG. 5 shows a non-limiting exemplary method for determining code which may be executed according test coverage.
- the present invention in at least some embodiments, is of a system and method for providing probes for injection to binary or executable code, which may also be determined to be executable-ready code.
- a probe is a small piece of code, which may comprise only a few instructions, that is injected to executable code, whose purpose is to tell if a certain functionality was used, and if so, how many times.
- a probe should have no effect on the logic of the user code. For example, the name of the probe is passed as a string. When called, the counter for that probe is increased.
- Method probes tell whether the method was called or not. They may have a higher impact on the CPU since a method may be called multiple times, and while each call has a minimal impact on runtime, that impact adds up and make slow down the application noticeably. Additionally, there are typically more methods than classes, so more memory is allocated for those probes. Finally, every probe should save the hit count, which is a positive integer.
- Instruction probes tell whether an instruction was called or not. They are similar to method probes, and while they provide a higher resolution of coverage collection, they are even more costly than method probes in terms of CPU and RAM for the same reasons described above.
- Original “user” code Instrumented code with a single probe: public int add(int num1, public int add(int num1, int num2) ⁇ int num2) ⁇ return num1 + num2; Coverage.ReportProbeHit(“int add(int, int)”); ⁇ return num1 + num2; ⁇
- the cost of a probe may be determined as follows. Each probe requires two pieces of information—the identity of the probe (e.g. what it represents) and its hit information.
- a boolean probe like the class-level probe, can ideally take a single bit of RAM.
- a numeric probe like the method-level and instruction-level probe, can take a few bytes to store an unsigned integer.
- method probes can be set in either method a( ), method b( ) or both.
- a( ) always calls b( )
- This example can be extended with statistical branch prediction algorithms. It can be seen that c( ) may call a( ) or b( ), so placing a probe in c( ) can be used instead of either a or b.
- some methods to limit the impact of probes may include one or more of the following:
- the result counter value can be either 1 or 2. Again, for the requirements listed above, this level of granularity is insignificant, as long as the deviation is kept “reasonable”.
- the “listener agent” can implicitly choose, or explicitly be told to collect higher-resolution coverage from certain parts of the system, and lower-resolution coverage from other parts of the system. This can be even remotely be controlled by another component during runtime.
- the probe injection is used to determine code coverage of binary or executable code.
- the code coverage may be determined for new code or modified existing code, as well as for previously determined code.
- the code coverage is determined before the executable or binary is prepared.
- the code coverage is optionally determined after the executable or binary is prepared.
- code coverage may be determined from the executable or binary itself.
- T2 covers both M1 and M2
- Gateway 124 may read information from and write information to a database 128 (not shown), which may then pass system information to server 106 which may in turn communicate with user computational device 102 .
- Gateway 124 preferably communicates with the storage manager 142 and analysis engine 120 .
- Analysis engine 120 may analyze the executable code 156 , and/or which executable code processor 154 is executing on, as well as the probes, and the selection of the probes, and may even also construct the probes, for example as described in greater detail below.
- Analysis engine 120 may cause information to be stored in database 128 , which may, for example, be historical information.
- server 106 preferably comprises a processor 105 B and a memory 107 B with related or at least similar functions.
- User computational device 102 through user interface 104 may now pass commands directly to executable code processor 154 , and/or to agent 158 through server interface 108 .
- FIG. 2 shows a non-limiting exemplary method according at least some embodiments for creating and/or selecting one or more probes and then determining their effect on injecting into the code.
- agent is started or activated at 202 .
- the agent may be active all the time and maybe listening for a command and/or the agent may sleep and may only be activated upon receiving the command and/or upon determining that the condition exists such that the agent should be activated which may, for example, be determined according to amount of time that has lapsed.
- Next code is analyzed in 204 .
- This is the executable code which may be analyzed to determine if probes should be injected, and if so, which probes and also when.
- 206 when new probes are created, optionally, in this step, one or more probes are selected from existing probes.
- Cost may be determined according to resources required or their not being executional, or executable code is slowed down. The strains or burdens already placed on computation resources needed to execute the code and so forth.
- probes may be selected.
- steps 306 and 308 are performed in reverse, such that probes are selected or created first and after that their cost is determined. If the probes are selected in step 308 after the cost is determined, 306 then preferably the function of cost has at least an effect on their selection step 308 .
- Urgency may be determined according to whether or not one of the rules indicate that a probe should be set to, for example, according to test coverage as is described in greater detail below. Or according to other factors, such as, for example, the mission-critical factors related to the code itself, and/or whether the code needs to be tested before being put into production and/or released for new production hold.
- step 314 the probe is injected, and the effect is analyzed in step 316 as previously described.
- the cycle is repeated, since the steps of 312 to 316 may be performed more than once until one or more predetermined criteria met. Which may, for example, relate to test coverage as described in further detail below.
- the probe is also provided in 318 as previously described.
- FIG. 3 B relates to when one limited exemplary method for injecting probes according to greater efficiency requirements and/or costs.
- probes are considered for the code in 352 .
- the code probes have already been determined and/or selected and/or provided.
- the cost of the probe is determined as previously described.
- the lowest static cost is determined in 356 .
- the lowest static cost relates to the cost of the probes according to a static analysis of the executable code. This process may be repeated, such as 352 to 356 , may be performed more than once. After this process has been performed, such as that probes are determined which have the lowest static cost, then probes are selected 358 .
- Probe injection timing is then evaluated in 360 .
- the timing of the probe injection may be determined, especially, for example, immediately determined that it is better to proceed immediately or alternatively it is better to wait.
- step 360 After step 360 is been performed, and 362 machine placement is evaluated, this is because it may be possible to inject the probes onto code in no more than one machine and/or more than one other computational resource. And in this case, it may be determined that it is better to select a certain machine or computational resource over others.
- Fuzzy counting may then be evaluated in 364 in which the probes are not required to report frequently in order to reduce computational costs.
- steps 360 to 364 are repeated in 366 .
- FIG. 4 there is provided a system which is similar to that of FIG. 1 A , except in this non-limiting example, the system also includes a test agent and a coverage computational device. Components such as processor 105 A and memory 107 A are also present but are not shown for clarity.
- a system 400 again user computational device 402 , user interface 404 , a computer network 414 , server 406 , server interface 408 , and agent 412 , and control 416 , and injection engine 410 , executable code processor 454 , a cloud system 422 , an analysis engine 420 , a storage manager 442 , a gateway 425 , database 428 , which all may have similar or the same functions to those components with the same names as named in FIG. 1 A .
- now executable code processor 454 is executing a unit 100 test 456 .
- the test agent 436 monitors the behavior of unit under test 456 and causes one or more tests to be performed. These tests may perform through a test engine server 432 and a test engine 434 .
- Test engine 434 preferably determines the code coverage for new, modified, or existing code and may also receive information from cloud system 422 regarding previous tests. Test engine 434 may then calculate the effect of a new test as to whether or not it will increase code coverage or whether it will not increase test code coverage, and in particular test coverage for specific code.
- User computational device 402 or server 406 may pass instructions to cloud system 422 through computer network 414 and, hence, to gateway 424 . From gateway 424 , data transmission may be bifurcated. Information, such as the results of tests, test coverage, and other information, often also including the weight of various probes and the probe tests that may be required, are sent first to a storage manager 442 and then to analysis engine 420 . Analysis engine 420 determines whether or not test code coverage should be updated, how it should be updated, whether any code has not been tested, and so forth. This information is stored in database 428 and it is also passed back to gateway 424 and, hence, to server 406 and/or user computational device 402 .
- Information such as the results of tests, test coverage, and other information, often also including the weight of various probes and the probe tests that may be required, are sent first to a storage manager 442 and then to analysis engine 420 . Analysis engine 420 determines whether or not test code coverage should be updated, how it should be updated, whether any code has not been tested,
- information from user computational device 402 such as one or more commands, as entered by the user through user interface 404 , may also be passed to gateway 424 and then stored in database 428 .
- This information may provide a log or trail of commands that were issued and that need to be performed by server 406 , or alternatively by cloud system 422 .
- the process continues on to 510 . Otherwise, it is flagged for urgent testing in 506 B. If untested previous code is detected either from 506 or from 504 in 510 then it is flagged for testing in 510 A. Urgent probes are set in 512 and then the remaining probes are set in 514 . The probes are then injected in 506 .
- the above system and method may be used to detect code that is not covered by tests and is in use in the production systems. By releasing untested code to production, there is a high risk of regressions, bugs and other changes in behavior that may go unnoticed.
- M1, M2 and M3 an engineer modified 3 methods, termed M1, M2 and M3.
- methods M1, M2 were not covered by tests (e.g. unit tests), while M3 was covered by some tests. M1, M3 are already in use in production before the change, while M2 is not yet in production.
- M1 may be assigned a higher priority over M2 since it was modified and used in production.
- M3 is already tested, so it may have the lowest priority of the three.
- the method focuses on code that is useful to end users and that is actually in use, but has not been tested.
- the method may use static analysis to decide where to place the probes.
- the method finds the best place to put probes for monitoring.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
| Original “user” code: | Instrumented code with a single probe: |
| public int add(int num1, | public int add(int num1, int num2) { |
| int num2) { | |
| return num1 + num2; | Coverage.ReportProbeHit(“int add(int, int)”); |
| } | return num1 + num2; |
| } | |
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/371,145 US11847041B2 (en) | 2018-09-27 | 2021-07-09 | System and method for probe injection for code coverage |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862737162P | 2018-09-27 | 2018-09-27 | |
| US16/583,540 US11086759B2 (en) | 2018-09-27 | 2019-09-26 | System and method for probe injection for code coverage |
| US17/371,145 US11847041B2 (en) | 2018-09-27 | 2021-07-09 | System and method for probe injection for code coverage |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/583,540 Continuation US11086759B2 (en) | 2018-09-27 | 2019-09-26 | System and method for probe injection for code coverage |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20220138085A1 US20220138085A1 (en) | 2022-05-05 |
| US11847041B2 true US11847041B2 (en) | 2023-12-19 |
Family
ID=69946980
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/583,540 Active US11086759B2 (en) | 2018-09-27 | 2019-09-26 | System and method for probe injection for code coverage |
| US17/371,145 Active 2039-09-26 US11847041B2 (en) | 2018-09-27 | 2021-07-09 | System and method for probe injection for code coverage |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/583,540 Active US11086759B2 (en) | 2018-09-27 | 2019-09-26 | System and method for probe injection for code coverage |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US11086759B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12547516B2 (en) * | 2022-10-31 | 2026-02-10 | Bitdrift, Inc. | Systems and methods for dynamically configuring a client application |
Citations (96)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778169A (en) | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
| US20030212988A1 (en) | 2002-05-09 | 2003-11-13 | Hewlett-Packard Company | Preserving program context when adding probe routine calls for program instrumentation |
| US20050071815A1 (en) * | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | Method and system for inspecting the runtime behavior of a program while minimizing perturbation |
| US20050114848A1 (en) * | 2003-11-21 | 2005-05-26 | Jong-Deok Choi | Dynamic instrumentation for a mixed mode virtual machine |
| US20050166094A1 (en) | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
| US20050229165A1 (en) | 2004-04-07 | 2005-10-13 | Microsoft Corporation | Method and system for probe optimization while instrumenting a program |
| US7028290B2 (en) | 2002-04-29 | 2006-04-11 | Microsoft Corporation | Method and apparatus for prioritizing software tests |
| US20060155521A1 (en) * | 2005-01-07 | 2006-07-13 | Fujitus Limited | Method and apparatus for supporting verification, and computer product |
| US20060179350A1 (en) | 2005-02-10 | 2006-08-10 | Microsoft Corporation | Dynamic marshaling testing |
| US20060195724A1 (en) | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Method for determining code coverage |
| US20070006041A1 (en) | 2005-06-30 | 2007-01-04 | Frank Brunswig | Analytical regression testing on a software build |
| US20070074175A1 (en) * | 2005-09-23 | 2007-03-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for dynamic probes for injection and extraction of data for test and monitoring of software |
| US20070103175A1 (en) | 2005-11-04 | 2007-05-10 | Red Hat, Inc. | Static instrumentation macros for fast declaration free dynamic probes |
| US7281242B2 (en) | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
| US20070294506A1 (en) * | 2006-06-19 | 2007-12-20 | International Business Machines Corporation | Splash tables: an efficient hash scheme for processors |
| US20080120602A1 (en) | 2006-11-21 | 2008-05-22 | Microsoft Corporation | Test Automation for Business Applications |
| US20080141224A1 (en) | 2006-12-01 | 2008-06-12 | Shinichiro Kawasaki | Debug information collection method and debug information collection system |
| US7389497B1 (en) * | 2000-07-06 | 2008-06-17 | International Business Machines Corporation | Method and system for tracing profiling information using per thread metric variables with reused kernel threads |
| US7530060B1 (en) | 2008-01-08 | 2009-05-05 | International Business Machines Corporation | Methods and computer program product for optimizing binaries with coding style formalization |
| US20090144698A1 (en) | 2007-11-29 | 2009-06-04 | Microsoft Corporation | Prioritizing quality improvements to source code |
| US7594111B2 (en) * | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
| US20090249305A1 (en) | 2008-03-26 | 2009-10-01 | Avaya Technology Llc | Super Nested Block Method to Minimize Coverage Testing Overhead |
| US7607047B2 (en) * | 2005-05-16 | 2009-10-20 | Texas Instruments Incorporated | Method and system of identifying overlays |
| US20090287729A1 (en) | 2008-05-16 | 2009-11-19 | Microsoft Corporation | Source code coverage testing |
| US20090327680A1 (en) | 2006-06-09 | 2009-12-31 | International Business Machines Corporation | Selecting a Random Processor to Boot on a Multiprocessor System |
| US20100058295A1 (en) | 2008-09-02 | 2010-03-04 | International Business Machines Corporation | Dynamic Test Coverage |
| US7774663B2 (en) | 2004-05-28 | 2010-08-10 | Synopsys, Inc. | Dynamically reconfigurable shared scan-in test architecture |
| US7802149B2 (en) * | 2005-05-16 | 2010-09-21 | Texas Intruments Incorporated | Navigating trace data |
| US7856332B2 (en) | 2007-12-04 | 2010-12-21 | International Business Machines Corporation | Real time system for monitoring the commonality, sensitivity, and repeatability of test probes |
| US7868780B2 (en) | 2005-09-20 | 2011-01-11 | Jds Uniphase Corporation | System and method for test probe management |
| US7899661B2 (en) | 2006-02-16 | 2011-03-01 | Synopsys, Inc. | Run-time switching for simulation with dynamic run-time accuracy adjustment |
| US7966346B1 (en) | 2006-01-23 | 2011-06-21 | Coverity, Inc. | Updating groups of items |
| US7975257B2 (en) | 2006-06-13 | 2011-07-05 | Microsoft Corporation | Iterative static and dynamic software analysis |
| US8032875B2 (en) * | 2006-11-28 | 2011-10-04 | Oracle America, Inc. | Method and apparatus for computing user-specified cost metrics in a data space profiler |
| US8079018B2 (en) | 2007-11-22 | 2011-12-13 | Microsoft Corporation | Test impact feedback system for software developers |
| US20120084756A1 (en) | 2010-10-05 | 2012-04-05 | Infinera Corporation | Accurate identification of software tests based on changes to computer software code |
| CN102419728A (en) | 2011-11-01 | 2012-04-18 | 北京邮电大学 | Method for determining software testing process sufficiency based on coverage rate quantization index |
| US8205191B1 (en) | 2006-06-02 | 2012-06-19 | Parasoft Corporation | System and method for change-based testing |
| US20120167057A1 (en) | 2010-12-22 | 2012-06-28 | Microsoft Corporation | Dynamic instrumentation of software code |
| US20120198421A1 (en) | 2011-01-31 | 2012-08-02 | Tata Consultancy Services Limited | Testing Lifecycle |
| US20120222014A1 (en) | 2011-02-28 | 2012-08-30 | Typemock Ltd. | Method and apparatus for detecting software bugs |
| US8266563B2 (en) | 2009-11-24 | 2012-09-11 | Synopsys, Inc. | Multi-mode redundancy removal |
| US20120233596A1 (en) | 2011-03-07 | 2012-09-13 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
| CN102722436A (en) | 2012-05-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | Statistical method and device for incremental coverage information |
| US8386972B2 (en) | 1998-10-14 | 2013-02-26 | Synopsys, Inc. | Method and apparatus for managing the configuration and functionality of a semiconductor design |
| US20130107757A1 (en) * | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Systems and methods for fast initial network link setup |
| US20130125096A1 (en) | 2011-08-31 | 2013-05-16 | André Kruetzfeldt | Systems and Methods for Dynamic Collection of Probe Call Sites |
| US8468503B2 (en) | 2006-11-28 | 2013-06-18 | Synopsys, Inc. | Method for testing a computer program |
| US8473907B1 (en) | 2007-07-31 | 2013-06-25 | Coverity, Inc. | Computer programming adaptive analysis |
| WO2013115797A1 (en) | 2012-01-31 | 2013-08-08 | Hewlett-Packard Development Company L.P. | Identifcation of a failed code change |
| US8516434B2 (en) | 2008-07-07 | 2013-08-20 | Coverity, Inc. | Methods for marking, merging, and managing the results of software program analysis |
| US8522221B1 (en) | 2004-06-03 | 2013-08-27 | Synopsys, Inc. | Techniques for automatic generation of instruction-set documentation |
| US20130247014A1 (en) * | 2012-03-16 | 2013-09-19 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
| US8543367B1 (en) | 2006-02-16 | 2013-09-24 | Synopsys, Inc. | Simulation with dynamic run-time accuracy adjustment |
| US8578344B2 (en) | 2010-06-17 | 2013-11-05 | Microsoft Corporation | Incremental compositional dynamic test generation |
| US20130346947A1 (en) | 2012-06-25 | 2013-12-26 | International Business Machines Corporation | Comprehensively testing functionality of a computer program based on program code changes |
| US20140007090A1 (en) | 2012-06-29 | 2014-01-02 | Vmware, Inc. | Simultaneous probing of multiple software modules of a computer system |
| US20140047538A1 (en) | 2012-08-08 | 2014-02-13 | Coverity, Inc. | Static tainting anasystem and method for taint analysis of computer program codelysis |
| US20140059399A1 (en) | 2008-07-21 | 2014-02-27 | Synopsys, Inc. | Test design optimizer for configurable scan architectures |
| CN103631707A (en) | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | Method and device for obtaining code coverage rate |
| CN103699476A (en) | 2012-09-27 | 2014-04-02 | 腾讯科技(深圳)有限公司 | Coverage testing method and system |
| US20140096113A1 (en) | 2012-09-28 | 2014-04-03 | Andreas Kuehlmann | Policy evaluation based upon dynmamic observation, static analysis and code change history |
| US20140173564A1 (en) | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Test scope determination based on code change(s) |
| US8762918B2 (en) | 2009-12-04 | 2014-06-24 | Synopsys, Inc. | Banded computation architectures |
| US20140189641A1 (en) | 2011-09-26 | 2014-07-03 | Amazon Technologies, Inc. | Continuous deployment system for software development |
| US8832640B1 (en) | 2012-03-28 | 2014-09-09 | Emc Corporation | Component mapped software development workflow |
| US20140331206A1 (en) | 2013-05-06 | 2014-11-06 | Microsoft Corporation | Identifying impacted tests from statically collected data |
| US8898647B2 (en) | 2008-10-09 | 2014-11-25 | Siemens Aktiengesellschaft | Method and apparatus for test coverage analysis |
| US20140351793A1 (en) | 2013-05-21 | 2014-11-27 | International Business Machines Corporation | Prioritizing test cases using multiple variables |
| US20150007140A1 (en) | 2013-06-28 | 2015-01-01 | Coverity, Inc. | Prioritization of tests of computer program code |
| US8938729B2 (en) | 2010-10-12 | 2015-01-20 | Ca, Inc. | Two pass automated application instrumentation |
| KR20150007806A (en) | 2013-07-12 | 2015-01-21 | 한국과학기술원 | Auto-test generation device, method and recording medium using test coverage information for multi-thread program |
| US20150026121A1 (en) | 2012-04-30 | 2015-01-22 | Hewlett-Packard Development Company L.P. | Prioritization of continuous deployment pipeline tests |
| US20150052501A1 (en) | 2012-01-31 | 2015-02-19 | Inbar Shani | Continuous deployment of code changes |
| US20150095703A1 (en) | 2013-10-01 | 2015-04-02 | Blazemeter Ltd. | System and Method for Dynamically Testing Networked Target Systems |
| US9075914B2 (en) | 2011-09-29 | 2015-07-07 | Sauce Labs, Inc. | Analytics driven development |
| US9141807B2 (en) | 2012-09-28 | 2015-09-22 | Synopsys, Inc. | Security remediation |
| US9170847B2 (en) | 2010-01-08 | 2015-10-27 | Sauce Labs, Inc. | Real time verification of web applications |
| US20150355990A1 (en) * | 2014-06-04 | 2015-12-10 | Raymond E. Cole | Self-Spawning Probe in a Distributed Computing Environment |
| US20150381467A1 (en) | 2014-06-25 | 2015-12-31 | Blazemeter Ltd. | System and method thereof for dynamically testing networked target systems through simulation by a mobile device |
| CN105224460A (en) | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | A Method of Statistical Test Coverage Based on Instrumentation Technology |
| US20160026559A1 (en) | 2014-07-25 | 2016-01-28 | International Business Machines Corporation | Indicating a readiness of a change for implementation into a computer program |
| US20160259714A1 (en) | 2013-11-27 | 2016-09-08 | Hewlett-Packard Enterprise Development LP | Production sampling for determining code coverage |
| US20160299759A1 (en) | 2013-11-13 | 2016-10-13 | Concurix Corporation | Determination of Production vs. Development Uses from Tracer Data |
| US20170003948A1 (en) | 2015-07-02 | 2017-01-05 | International Business Machines Corporation | Continuous deployment success prediction |
| CN106326118A (en) | 2016-08-19 | 2017-01-11 | 东软集团股份有限公司 | Method and device for determining code test coverage |
| US9559928B1 (en) | 2013-05-03 | 2017-01-31 | Amazon Technologies, Inc. | Integrated test coverage measurement in distributed systems |
| CN104598378B (en) | 2014-12-31 | 2018-01-30 | 天津橙子科技有限公司 | A kind of WEB engineerings automatic test probe |
| US9898385B1 (en) * | 2016-10-11 | 2018-02-20 | Green Hills Software, Inc. | Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction |
| US20180123930A1 (en) * | 2016-10-27 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | Selectively monitoring a network of network function chains based on probability of service level agreement violation |
| US20190196952A1 (en) * | 2017-12-21 | 2019-06-27 | Verizon Patent And Licensing Inc. | Systems and methods using artificial intelligence to identify, test, and verify system modifications |
| US20190236012A1 (en) | 2015-10-29 | 2019-08-01 | International Business Machines Corporation | Interprocessor memory status communication |
| US10503243B1 (en) * | 2016-12-21 | 2019-12-10 | Cadence Design Systems, Inc. | Instrumenting low power coverage counters in emulation |
| US20210018887A1 (en) | 2015-09-11 | 2021-01-21 | Plethora Corporation | Automatic strategy determination for computer aided manufacturing |
| US20210029170A1 (en) | 2018-03-26 | 2021-01-28 | Virsec Systems, Inc. | Trusted Execution Security Policy Platform |
| US11520682B2 (en) * | 2018-08-27 | 2022-12-06 | Samsung Electronics Co., Ltd. | Code coverage method for embedded system on chip |
-
2019
- 2019-09-26 US US16/583,540 patent/US11086759B2/en active Active
-
2021
- 2021-07-09 US US17/371,145 patent/US11847041B2/en active Active
Patent Citations (106)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778169A (en) | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
| US8386972B2 (en) | 1998-10-14 | 2013-02-26 | Synopsys, Inc. | Method and apparatus for managing the configuration and functionality of a semiconductor design |
| US7389497B1 (en) * | 2000-07-06 | 2008-06-17 | International Business Machines Corporation | Method and system for tracing profiling information using per thread metric variables with reused kernel threads |
| US7281242B2 (en) | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
| US7962905B2 (en) | 2002-01-18 | 2011-06-14 | Oracle International Corporation | Flexible and extensible java bytecode instrumentation system |
| US7028290B2 (en) | 2002-04-29 | 2006-04-11 | Microsoft Corporation | Method and apparatus for prioritizing software tests |
| US20030212988A1 (en) | 2002-05-09 | 2003-11-13 | Hewlett-Packard Company | Preserving program context when adding probe routine calls for program instrumentation |
| US7594111B2 (en) * | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
| US20050071815A1 (en) * | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | Method and system for inspecting the runtime behavior of a program while minimizing perturbation |
| US7178131B2 (en) | 2003-09-29 | 2007-02-13 | International Business Machines Corporation | Inspecting the runtime behavior of a program while minimizing perturbation |
| US20050166094A1 (en) | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
| US20050114848A1 (en) * | 2003-11-21 | 2005-05-26 | Jong-Deok Choi | Dynamic instrumentation for a mixed mode virtual machine |
| US20050229165A1 (en) | 2004-04-07 | 2005-10-13 | Microsoft Corporation | Method and system for probe optimization while instrumenting a program |
| US7774663B2 (en) | 2004-05-28 | 2010-08-10 | Synopsys, Inc. | Dynamically reconfigurable shared scan-in test architecture |
| US7900105B2 (en) | 2004-05-28 | 2011-03-01 | Synopsys, Inc. | Dynamically reconfigurable shared scan-in test architecture |
| US7836367B2 (en) | 2004-05-28 | 2010-11-16 | Synopsys, Inc. | Dynamically reconfigurable shared scan-in test architecture |
| US8522221B1 (en) | 2004-06-03 | 2013-08-27 | Synopsys, Inc. | Techniques for automatic generation of instruction-set documentation |
| US20060155521A1 (en) * | 2005-01-07 | 2006-07-13 | Fujitus Limited | Method and apparatus for supporting verification, and computer product |
| US20060179350A1 (en) | 2005-02-10 | 2006-08-10 | Microsoft Corporation | Dynamic marshaling testing |
| US20060195724A1 (en) | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Method for determining code coverage |
| US7802149B2 (en) * | 2005-05-16 | 2010-09-21 | Texas Intruments Incorporated | Navigating trace data |
| US7607047B2 (en) * | 2005-05-16 | 2009-10-20 | Texas Instruments Incorporated | Method and system of identifying overlays |
| US20070006041A1 (en) | 2005-06-30 | 2007-01-04 | Frank Brunswig | Analytical regression testing on a software build |
| US7868780B2 (en) | 2005-09-20 | 2011-01-11 | Jds Uniphase Corporation | System and method for test probe management |
| US20070074175A1 (en) * | 2005-09-23 | 2007-03-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for dynamic probes for injection and extraction of data for test and monitoring of software |
| US8739135B2 (en) | 2005-11-04 | 2014-05-27 | Red Hat, Inc. | Static instrumentation macros for fast declaration free dynamic probes |
| US20070103175A1 (en) | 2005-11-04 | 2007-05-10 | Red Hat, Inc. | Static instrumentation macros for fast declaration free dynamic probes |
| US7966346B1 (en) | 2006-01-23 | 2011-06-21 | Coverity, Inc. | Updating groups of items |
| US7899661B2 (en) | 2006-02-16 | 2011-03-01 | Synopsys, Inc. | Run-time switching for simulation with dynamic run-time accuracy adjustment |
| US8543367B1 (en) | 2006-02-16 | 2013-09-24 | Synopsys, Inc. | Simulation with dynamic run-time accuracy adjustment |
| US8521499B1 (en) | 2006-02-16 | 2013-08-27 | Synopsys, Inc. | Run-time switching for simulation with dynamic run-time accuracy adjustment |
| US20130346046A1 (en) | 2006-02-16 | 2013-12-26 | Synopsys, Inc. | Simulation with Dynamic Run-Time Accuracy Adjustment |
| US8205191B1 (en) | 2006-06-02 | 2012-06-19 | Parasoft Corporation | System and method for change-based testing |
| US20090327680A1 (en) | 2006-06-09 | 2009-12-31 | International Business Machines Corporation | Selecting a Random Processor to Boot on a Multiprocessor System |
| US7975257B2 (en) | 2006-06-13 | 2011-07-05 | Microsoft Corporation | Iterative static and dynamic software analysis |
| US20070294506A1 (en) * | 2006-06-19 | 2007-12-20 | International Business Machines Corporation | Splash tables: an efficient hash scheme for processors |
| US20080120602A1 (en) | 2006-11-21 | 2008-05-22 | Microsoft Corporation | Test Automation for Business Applications |
| US8032875B2 (en) * | 2006-11-28 | 2011-10-04 | Oracle America, Inc. | Method and apparatus for computing user-specified cost metrics in a data space profiler |
| US8468503B2 (en) | 2006-11-28 | 2013-06-18 | Synopsys, Inc. | Method for testing a computer program |
| KR100990777B1 (en) | 2006-12-01 | 2010-10-29 | 가부시키가이샤 히타치세이사쿠쇼 | How to Collect Debug Information and Debug Information Collection System |
| US20080141224A1 (en) | 2006-12-01 | 2008-06-12 | Shinichiro Kawasaki | Debug information collection method and debug information collection system |
| US8473907B1 (en) | 2007-07-31 | 2013-06-25 | Coverity, Inc. | Computer programming adaptive analysis |
| US8079018B2 (en) | 2007-11-22 | 2011-12-13 | Microsoft Corporation | Test impact feedback system for software developers |
| US20090144698A1 (en) | 2007-11-29 | 2009-06-04 | Microsoft Corporation | Prioritizing quality improvements to source code |
| US7856332B2 (en) | 2007-12-04 | 2010-12-21 | International Business Machines Corporation | Real time system for monitoring the commonality, sensitivity, and repeatability of test probes |
| US7530060B1 (en) | 2008-01-08 | 2009-05-05 | International Business Machines Corporation | Methods and computer program product for optimizing binaries with coding style formalization |
| US20090249305A1 (en) | 2008-03-26 | 2009-10-01 | Avaya Technology Llc | Super Nested Block Method to Minimize Coverage Testing Overhead |
| US20090287729A1 (en) | 2008-05-16 | 2009-11-19 | Microsoft Corporation | Source code coverage testing |
| US8516434B2 (en) | 2008-07-07 | 2013-08-20 | Coverity, Inc. | Methods for marking, merging, and managing the results of software program analysis |
| US20140059399A1 (en) | 2008-07-21 | 2014-02-27 | Synopsys, Inc. | Test design optimizer for configurable scan architectures |
| US20100058295A1 (en) | 2008-09-02 | 2010-03-04 | International Business Machines Corporation | Dynamic Test Coverage |
| US8898647B2 (en) | 2008-10-09 | 2014-11-25 | Siemens Aktiengesellschaft | Method and apparatus for test coverage analysis |
| US8266563B2 (en) | 2009-11-24 | 2012-09-11 | Synopsys, Inc. | Multi-mode redundancy removal |
| US8762918B2 (en) | 2009-12-04 | 2014-06-24 | Synopsys, Inc. | Banded computation architectures |
| US9170847B2 (en) | 2010-01-08 | 2015-10-27 | Sauce Labs, Inc. | Real time verification of web applications |
| US8578344B2 (en) | 2010-06-17 | 2013-11-05 | Microsoft Corporation | Incremental compositional dynamic test generation |
| US20120084756A1 (en) | 2010-10-05 | 2012-04-05 | Infinera Corporation | Accurate identification of software tests based on changes to computer software code |
| US8938729B2 (en) | 2010-10-12 | 2015-01-20 | Ca, Inc. | Two pass automated application instrumentation |
| US20120167057A1 (en) | 2010-12-22 | 2012-06-28 | Microsoft Corporation | Dynamic instrumentation of software code |
| US20120198421A1 (en) | 2011-01-31 | 2012-08-02 | Tata Consultancy Services Limited | Testing Lifecycle |
| US20120222014A1 (en) | 2011-02-28 | 2012-08-30 | Typemock Ltd. | Method and apparatus for detecting software bugs |
| US20120233596A1 (en) | 2011-03-07 | 2012-09-13 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
| US20130125096A1 (en) | 2011-08-31 | 2013-05-16 | André Kruetzfeldt | Systems and Methods for Dynamic Collection of Probe Call Sites |
| US20140189641A1 (en) | 2011-09-26 | 2014-07-03 | Amazon Technologies, Inc. | Continuous deployment system for software development |
| US9075914B2 (en) | 2011-09-29 | 2015-07-07 | Sauce Labs, Inc. | Analytics driven development |
| US20130107757A1 (en) * | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Systems and methods for fast initial network link setup |
| CN102419728A (en) | 2011-11-01 | 2012-04-18 | 北京邮电大学 | Method for determining software testing process sufficiency based on coverage rate quantization index |
| US20150052501A1 (en) | 2012-01-31 | 2015-02-19 | Inbar Shani | Continuous deployment of code changes |
| WO2013115797A1 (en) | 2012-01-31 | 2013-08-08 | Hewlett-Packard Development Company L.P. | Identifcation of a failed code change |
| US20130247014A1 (en) * | 2012-03-16 | 2013-09-19 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
| US8832640B1 (en) | 2012-03-28 | 2014-09-09 | Emc Corporation | Component mapped software development workflow |
| US20150026121A1 (en) | 2012-04-30 | 2015-01-22 | Hewlett-Packard Development Company L.P. | Prioritization of continuous deployment pipeline tests |
| CN102722436A (en) | 2012-05-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | Statistical method and device for incremental coverage information |
| US20130346947A1 (en) | 2012-06-25 | 2013-12-26 | International Business Machines Corporation | Comprehensively testing functionality of a computer program based on program code changes |
| US20140007090A1 (en) | 2012-06-29 | 2014-01-02 | Vmware, Inc. | Simultaneous probing of multiple software modules of a computer system |
| US20140047538A1 (en) | 2012-08-08 | 2014-02-13 | Coverity, Inc. | Static tainting anasystem and method for taint analysis of computer program codelysis |
| CN103631707A (en) | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | Method and device for obtaining code coverage rate |
| CN103699476A (en) | 2012-09-27 | 2014-04-02 | 腾讯科技(深圳)有限公司 | Coverage testing method and system |
| US20140096113A1 (en) | 2012-09-28 | 2014-04-03 | Andreas Kuehlmann | Policy evaluation based upon dynmamic observation, static analysis and code change history |
| US9141807B2 (en) | 2012-09-28 | 2015-09-22 | Synopsys, Inc. | Security remediation |
| US20140173564A1 (en) | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Test scope determination based on code change(s) |
| US9559928B1 (en) | 2013-05-03 | 2017-01-31 | Amazon Technologies, Inc. | Integrated test coverage measurement in distributed systems |
| US20140331206A1 (en) | 2013-05-06 | 2014-11-06 | Microsoft Corporation | Identifying impacted tests from statically collected data |
| US9389986B2 (en) | 2013-05-06 | 2016-07-12 | Microsoft Technology Licensing, Llc | Identifying impacted tests from statically collected data |
| US20140351793A1 (en) | 2013-05-21 | 2014-11-27 | International Business Machines Corporation | Prioritizing test cases using multiple variables |
| US20150007140A1 (en) | 2013-06-28 | 2015-01-01 | Coverity, Inc. | Prioritization of tests of computer program code |
| KR20150007806A (en) | 2013-07-12 | 2015-01-21 | 한국과학기술원 | Auto-test generation device, method and recording medium using test coverage information for multi-thread program |
| US20150095703A1 (en) | 2013-10-01 | 2015-04-02 | Blazemeter Ltd. | System and Method for Dynamically Testing Networked Target Systems |
| US20160299759A1 (en) | 2013-11-13 | 2016-10-13 | Concurix Corporation | Determination of Production vs. Development Uses from Tracer Data |
| US20160259714A1 (en) | 2013-11-27 | 2016-09-08 | Hewlett-Packard Enterprise Development LP | Production sampling for determining code coverage |
| US20150355990A1 (en) * | 2014-06-04 | 2015-12-10 | Raymond E. Cole | Self-Spawning Probe in a Distributed Computing Environment |
| US20150381467A1 (en) | 2014-06-25 | 2015-12-31 | Blazemeter Ltd. | System and method thereof for dynamically testing networked target systems through simulation by a mobile device |
| US20160026559A1 (en) | 2014-07-25 | 2016-01-28 | International Business Machines Corporation | Indicating a readiness of a change for implementation into a computer program |
| CN104598378B (en) | 2014-12-31 | 2018-01-30 | 天津橙子科技有限公司 | A kind of WEB engineerings automatic test probe |
| US20170003948A1 (en) | 2015-07-02 | 2017-01-05 | International Business Machines Corporation | Continuous deployment success prediction |
| US20210018887A1 (en) | 2015-09-11 | 2021-01-21 | Plethora Corporation | Automatic strategy determination for computer aided manufacturing |
| CN105224460A (en) | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | A Method of Statistical Test Coverage Based on Instrumentation Technology |
| US20190236012A1 (en) | 2015-10-29 | 2019-08-01 | International Business Machines Corporation | Interprocessor memory status communication |
| CN106326118A (en) | 2016-08-19 | 2017-01-11 | 东软集团股份有限公司 | Method and device for determining code test coverage |
| US9898385B1 (en) * | 2016-10-11 | 2018-02-20 | Green Hills Software, Inc. | Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction |
| US20180123930A1 (en) * | 2016-10-27 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | Selectively monitoring a network of network function chains based on probability of service level agreement violation |
| US20200084152A1 (en) | 2016-10-27 | 2020-03-12 | Hewlett Packard Enterprise Development Lp | Selectively monitoring a network of network function chains based on probability of service level agreement violation |
| US10503243B1 (en) * | 2016-12-21 | 2019-12-10 | Cadence Design Systems, Inc. | Instrumenting low power coverage counters in emulation |
| US20190196952A1 (en) * | 2017-12-21 | 2019-06-27 | Verizon Patent And Licensing Inc. | Systems and methods using artificial intelligence to identify, test, and verify system modifications |
| US20210029170A1 (en) | 2018-03-26 | 2021-01-28 | Virsec Systems, Inc. | Trusted Execution Security Policy Platform |
| US11520682B2 (en) * | 2018-08-27 | 2022-12-06 | Samsung Electronics Co., Ltd. | Code coverage method for embedded system on chip |
Non-Patent Citations (14)
| Title |
|---|
| Capturing malware propagations with code injections and code-reuse attacks, author: D Korczynski, et al., published on 2017; Source ACM SIGSAC, 18 pages. |
| Extended European Search Report for App No. EP17838916.9, dated Apr. 14, 2020, 12 pages. |
| Notice of Allowance dated Apr. 16, 2021 for U.S. Appl. No. 15/583,540 (pp. 1-10). |
| Office Action dated Feb. 11, 2021 for U.S. Appl. No. 16/323,263 (pp. 1-77). |
| Office Action dated Jul. 30, 2020 for U.S. Appl. No. 16/323,263 (pp. 1-60). |
| Office Action dated Nov. 3, 2020 for U.S. Appl. No. 16/583,540 (pp. 1-14). |
| The dynamic probe class library—an infrastructure for developing instrumentation for performance tools, author: L DeRose, published on 2001 Source: IEEE, 7 pages. |
| Title: Automatic detection of performance anti-patterns in inter-component communications, author: A Wert, et al, published on 2014. * |
| Title: Code Coverage Aid, author: O Triantafyllos, published on 2016. * |
| Title: Pin: building customized program analysis tools with dynamic instrumentation, CK Luk, et al, published on 2005. * |
| Title: Run-time dynamic linking for reprogramming wireless sensor networks, author: A Dunkels, published on 2006. * |
| Title: Testing error handling code in device drivers using characteristic fault injection author: JJ Bai, published on 2016. * |
| Title: The dynamic probe class library—an infrastructure for developing instrumentation for performance tools, author: L DeRose et al., published on 2001. * |
| Valgrind: a framework for heavyweight dynamic binary instrumentation author: N Nethercore et al, published on 2007; source ACM Sigplan, 12 pages. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220138085A1 (en) | 2022-05-05 |
| US11086759B2 (en) | 2021-08-10 |
| US20200104239A1 (en) | 2020-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8561073B2 (en) | Managing thread affinity on multi-core processors | |
| US8090974B1 (en) | State machine controlled dynamic distributed computing | |
| CN110244991B (en) | Micro-service dependency analysis method and device | |
| Zhang et al. | Panappticon: Event-based tracing to measure mobile application and platform performance | |
| US8566803B2 (en) | Benchmark profiling for distributed systems | |
| US20060059486A1 (en) | Call stack capture in an interrupt driven architecture | |
| CN112433908B (en) | Method, system, device and medium for determining interval time of detection server | |
| US20200371891A1 (en) | Tracing branch instructions | |
| Netti et al. | FINJ: A fault injection tool for HPC systems | |
| CN118295732A (en) | A method and system for adaptive configuration adjustment applied to distributed systems | |
| US11847041B2 (en) | System and method for probe injection for code coverage | |
| CN113900896B (en) | Method, device, equipment and storage medium for monitoring code operation | |
| Pfister et al. | Daedalus: Self-adaptive horizontal autoscaling for resource efficiency of distributed stream processing systems | |
| CN106919444A (en) | script processing method and device | |
| US10761512B2 (en) | Numerical controller | |
| JP2005215816A (en) | Performance profiling method using hardware monitor | |
| Bashiri et al. | Performability guarantee for periodic tasks in real-time systems | |
| CN112698881B (en) | Android image loading behavior defect dynamic detection method | |
| Lu et al. | A Reinforcement Learning-Based Approach to Enhancing Concurrency Software Failure Reproduction Rate | |
| Rios et al. | An evaluation of safety-critical Java on a Java processor | |
| Yang et al. | Load Imbalance in HPC Applications: Improved Profiling and New Ways to Use Wasted Cycles | |
| CN109359024B (en) | Test method and system for simulating real system resource environment of android user | |
| Arokivi | Statistical benchmarking of distributed computing environments in real-time processing | |
| Kumura et al. | Overhead-Aware Schedulability Analysis on Responsive Multithreaded Processor | |
| Xu et al. | GScheduler: Optimizing resource provision by using GPU usage pattern extraction in cloud environments |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONMENT FOR FAILURE TO CORRECT DRAWINGS/OATH/NONPUB REQUEST |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: TRICENTIS ISRAEL LTD, ISRAEL Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:SEALIGHTS TECHNOLOGIES LTD;TRICENTIS ISRAEL LTD;REEL/FRAME:070407/0200 Effective date: 20250224 |