CN101473301A - Iterative static and dynamic software analysis - Google Patents
Iterative static and dynamic software analysis Download PDFInfo
- Publication number
- CN101473301A CN101473301A CNA2007800223690A CN200780022369A CN101473301A CN 101473301 A CN101473301 A CN 101473301A CN A2007800223690 A CNA2007800223690 A CN A2007800223690A CN 200780022369 A CN200780022369 A CN 200780022369A CN 101473301 A CN101473301 A CN 101473301A
- Authority
- CN
- China
- Prior art keywords
- software entity
- analysis
- described software
- static
- tolerance
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3616—Software analysis for verifying properties of programs using software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Static and dynamic code analyses are seamlessly, iteratively performed. A software analysis tool integrates the results of dynamic and static analysis and iteratively utilizes results from a previous analysis, or analyses, to augment a current analysis. During a debugging process, information collected at runtime is integrated with static code analysis results. This information is generated and stored as part of the results of the testing and debugging processes. The stored information is subsequently utilized to provide improved analysis results. The software analysis tool eliminates the need for software developers to separately perform static analysis and dynamic analysis.
Description
Technical field
The present technique field relates generally to computing system, and relates more specifically to be used for the software development of computing system.
Background
Typical software analysis tool provides statically and the ability of independent analysis software code dynamically.By as technology such as data flow analysis, value traces, static analysis in can authentication code correctness problem and needn't actually carry out this code.Yet static analysis is subjected to can be by the restriction of the information that obtain the static check of binary code through compiling.Performance analysis for example can provide, about sequential with distributed information such as how many storeies.During software development process, the software developer carries out static analysis and performance analysis usually independently, attempts being applied to the result of an alanysis another kind of.
General introduction
Provide this general introduction so that some notions that will in the detailed description of following illustrative embodiment, further describe with the form introduction of simplifying.This general introduction is not intended to identify the key feature or the essential feature of theme required for protection, is not intended to be used to limit the scope of theme required for protection yet.
A kind of software analysis tool seamlessly provides static and dynamic code analysis simultaneously.During static analysis, collect, issue and utilize by information that run time version obtained and concentrate on provable significant group with the result who enables new analysis and behavior will be analyzed during based on operation.This software analysis tool is integrated dynamically and the result of static analysis and be used to result from previous one or more analyses iteratively with the expansion present analysis.This software analysis tool is eliminated the needs of the software developer being carried out static analysis and performance analysis respectively.In an example embodiment, during debug process, carry out analyzed code.Integrated result from previous static state and performance analysis is to expand this debug process.The result of this debug process indicate staticaanalysis results and performance analysis as a result both.
The accompanying drawing summary
More than the general introduction and below be described in detail in when reading in conjunction with the accompanying drawings and can be better understood.For the purpose that dynamic and staticasoftware analysis coupling, iteration is shown, its representative configuration shown in the drawings; Yet ofaiterative, dynamic and staticasoftware analysis are not limited to disclosed concrete grammar and means.
Fig. 1 is the process flow diagram that is used to provide the example process of ofaiterative, dynamic and staticasoftware analysis.
Fig. 2 is the process flow diagram that is used to provide another example process of ofaiterative, dynamic and staticasoftware analysis.
Fig. 3 be used for iteratively, the process flow diagram of the instantiation procedure of analysis software dynamically and statically, this process is the part of debug process.
Fig. 4 be used for iteratively, the figure of the example system of analysis software dynamically and statically.
The detailed description of illustrative embodiment
During debug process, integrated static state and dynamic software analysis result.The information and the static code analysis result that will collect when operation integrate.This information generates as the spin-off of test and debug process, and is arrived dish by persistent storage in an example embodiment.Utilize institute's canned data to provide subsequently through improved analysis result.
In an example embodiment, when making up, call static analysis.In its original state, regulate static analysis and come minimum noise.That is, if information not sufficiently complete guarantee high determinacy result (or not existing fully), then will can not analyze.As the spin-off that makes up code, this application program is carried out plug-in mounting (instrument) come when moving, to collect specific tolerance.Whenever this information is (to comprise the debugging scene) and dynamically collect what the user ran application.In this example embodiment, when operation, dynamically collect particular data and its persistent storage is arrived storage.During aasubsequent staticaanalysis, recover this information and staticaanalysis results is refined as one group of low noise, high value message and/or enables the brand-new analysis that takes place statically, but but this analysiss is only possible in the tolerance time spent of dynamically collection with it.
For example, in an exemplary scenario, static analysis tools comprises in the detection object code, or checks the inspection of the ineffectivity among the IL (intermediate language) under the situation of managed analysis.This inspection is not enabled acquiescently, because may detect hundreds of positions this ineffectivity pattern and, in most of the cases, solve any single violation and can not produce significant performance gain, and therefore be unworthy the risk that spended time is repaired to be increased introducing code defective and increase.In this exemplary scene, when making up, code is carried out plug-in mounting write down each method or the quantity of calling that function took place.The user carries out this code, and collects these tolerance.In subsequent analysis signal (gesture), excite above-mentioned ineffectivity to detect to a method and check.Static analysis phase is checked the evaluating objects method in the storage vault, and writes down it and frequently called with respect to other the method/function in this application program.This static analysis inspection presents violation to the user, because definite now, if address this problem then may produce significant performance gain.
In another exemplary scene, there is the inspection of interested some things of checking point of invocation.For example, this inspection can attempt determining whether point of invocation will remove quoting a parameter.If then the static check device can warn the user that who has transmitted possible null term to this point of invocation provablely, this can cause collapse when operation.This inspection can not the analyzing virtual point of invocation, because the virtual statement of a point of invocation quoting method.That is, the IL vague generalization that comprises definition is quoted; It does not quote any specific specific implementation that this definition is provided.Run time between, detect to realize virtual method specific subclass and with it with IL in the general reference that exists carry out related.During aasubsequent staticaanalysis, above-mentioned inspection can be retrieved the specific implementation that is associated with general point of invocation provablely, and makes this specific implementation stand its inspection.
Fig. 1 is the process flow diagram that is used to provide the example process of ofaiterative, dynamic and staticasoftware analysis.In an example embodiment, as shown in Figure 1, carry out dynamic software analysis also expands this dynamic software analysis with previously stored staticaanalysis results result.Start dynamic software analysis in step 12.Carry out dynamic software analysis (DA) in step 14.Dynamic software analysis can be carried out by any suitable dynamic software analysis instrument.For example, performance analysis can utilize such as MICROSOFT
SDK (Software Development Kit) such as VISUAL STUDIO are carried out.During dynamic software analysis, analyze when carrying out analyzed software or its part and carrying out operation.The result of dynamic software analysis can comprise time sequence information, such as for example carrying out an operation and/or moving the needed time quantum of a part (fragment) of analyzed software.Exemplary dynamic software analysis tolerance comprise call the frequency that is performed, carry out the needed experience time of a function, with the definition of the method for virtual call spot correlation connection with whether be invoked at when carrying out allocate memory.
In an example embodiment, use is called the frequency that is performed and is come the static analysis performance checking that the refinement height is deterministic and frequently excited.In this case, it is favourable the result being narrowed down to the evaluating objects group of frequently being called.The time of repairing the item that does not often call does not guarantee this benefit, because the increment type performance gain is very little.Code changes also introduces the risk of degenerating, and this is the result to be concentrated on another reason of the most significant group.
In an exemplary scene, it is performance-sensitive that the user may want to specify a method or function.That is this method or call and in specific time threshold, to carry out.Can utilize the execution needed practical experience time of function to determine when operation, whether the execution time surpasses this threshold value.And, can be in aasubsequent staticaanalysis issue result in service.This static analysis can also indicate any point of invocation that the time that is spent in carrying out is responsible for.
The static analysis that needs the visit specific call site to realize can not be operated the virtual call point.Can determine to expand this static analysis with the definition of the specific concrete grammar of virtual call spot correlation connection and with it.Can provide such as the information such as specific subclass that are tied to virtual call point to this static analysis.
In an exemplary scene, may need to understand the term of execution whether distributed storer.Determining whether to have taken place memory allocation statically may be impossible very difficult and in some cases.For example, can not determine the memory allocation that causes because of to calling of virtual method via static analysis.Can dynamically collect this information and provide it to aasubsequent staticaanalysis.
In step 16, determine whether to have stored tolerance from previous dynamic software analysis.This tolerance can be about the same software entity of dynamically being analyzed, or about a version of analyzed software entity.For example, during code development, the first version of analysis software assembly and selected (or all) tolerance that therefrom obtains can being stored in the storer dynamically.Then, can make a change, obtain another version of this software module software module.(for example, step 14) can determine that (for example, step 16) stored from the tolerance to the performance analysis of the previous version of this software module when dynamically analyzing the later release of this software.Can comprise tolerance from the tolerance of previous performance analysis from performance analysis previous expansion and/or that do not expand.That is, from the tolerance of previous performance analysis can comprise coming the performance analysis that free static analysis expands tolerance, come the tolerance of the performance analysis that free previous performance analysis expands, from tolerance or its combination of the performance analysis of not expanding.
In an example embodiment, the code of visiting other binary code of himself not analyzed is statically carried out static analysis.Yet if there are the data that dynamically obtain in those dependences, the static analysis of targeted binary code utilizes this information to verify its client's use.
If stored from tolerance (step 16) to the previous dynamic software analysis of a same software entity or an one version, the tolerance of being stored then in step 18 retrieval.Tolerance can be stored on any suitable medium, such as for example, and magnetic storage, optical memory, hard disk, semiconductor memory, flash memory etc.In step 20, tolerance and the current performance analysis of being retrieved integrated to expand present analysis.
In an example embodiment, for the purpose of efficient, realized limiting the mechanism of collecting when moving based on static analysis.For example, the user can indicate this user interested in the ad hoc approach of particular type or a certain type.When operation, can forbid dynamic data collection fully, unless the code that proof is performed can arrive from the target that will be analyzed statically.
In step 22, storage is from the result's who expands tolerance, and this process advances to step 24.For example, during code development, the first version of software entity can comprise calling non-existent website when this first version is dynamically analyzed.Therefore, will be used as virtual call to calling of this website and treat, and during to the performance analysis of this first version, will estimate such as sequential and memory allocation isometry.Then, can finish this website, and to the subsequent dynamic analysis of this software entity will comprise such as sequential and memory allocation etc. with call the tolerance that this real network website is associated.
If do not store,, determine whether to have stored from tolerance to the previous staticasoftware analysis of a same entity or an one version then in step 24 from tolerance (step 16) to the previous dynamic software analysis of a same software entity or an one version.Can comprise tolerance from the tolerance of previous static analysis from static analysis previous expansion and/or that do not expand.That is, from the tolerance of previous static analysis can comprise coming the static analysis that free performance analysis expands tolerance, come the tolerance of the static analysis that free previous static analysis expands, from tolerance or its combination of the static analysis of not expanding.On software, carry out static analysis and do not carry out this software.Can on source code and/or object code, carry out static analysis.From the result of static analysis can comprise lines of code in the software for example, (the order complicacy is the extended measurements to the soundness of program and trust property to possible code error (for example, incorrect sentence structure), maintainability metrics, Program Semantics mistake, logic error, order complicacy (cyclomatic complexity).The order complicacy provides and can be utilized to the single ordinal number that the complicacy with other program compares.) or the like.Another example static analysis tolerance can comprise the easy configuration details static state setting of collecting when indicating whether to should be binary code, type, method enables analysiss/operation.Another example static analysis tolerance can comprise code complexity.
If the tolerance of the static analysis before the storage (step 24) then in step 32, does not provide the result of current performance analysis.If the tolerance of the static analysis before having stored (step 28) then in step 26, is retrieved these tolerance.In step 28, the tolerance retrieved and the result of current performance analysis are integrated to expand current performance analysis.In step 34, store tolerance, and provide these results in step 32 from integrated result.
Fig. 2 is the process flow diagram that is used to provide another example process of ofaiterative, dynamic and staticasoftware analysis.In an example embodiment, as shown in Figure 2, carry out staticasoftware analysis and expand the result of this staticasoftware analysis with previously stored static dynamic result.Start staticasoftware analysis in step 34.Carry out staticasoftware analysis (SA) in step 36.Can carry out staticasoftware analysis by any suitable staticasoftware analysis instrument.During staticasoftware analysis, analyze analyzed software or its part and do not carry out this analyzed software.
In step 38, determine whether to have stored tolerance from previous staticasoftware analysis.As mentioned above, can comprise tolerance from the tolerance of previous static analysis from static analysis previous expansion and/or that do not expand.This tolerance can be about the same software entity of being analyzed statically or about a version of analyzed software entity.For example, during code development, the first version of analysis software assembly and selected (or all) tolerance that therefrom obtains can being stored in the storer statically.Then, can make a change, obtain another version of this software module software module.When analyzing the later release of this software statically (for example, step 36), can determine that (for example, step 38) stored from the tolerance to the static analysis of the previous version of this software module.
If stored from tolerance (step 38) to the previous staticasoftware analysis of a same entity or an one version, the tolerance of being stored then in step 48 retrieval.In step 50, tolerance and the current static analysis of being retrieved integrated to expand current static analysis.In the tolerance of step 52 storage from integrated result.This process advances to step 40.
If do not store,, determine whether to have stored from tolerance to the previous dynamic software analysis of a same software entity or an one version then in step 40 from tolerance (step 38) to the previous staticasoftware analysis of a same software entity or an one version.As mentioned above, can comprise tolerance from the tolerance of previous performance analysis from performance analysis previous expansion and/or that do not expand.If do not store previous performance analysis tolerance (step 40),, provide the result of current static analysis then in step 54.If the tolerance of the performance analysis before having stored (step 40) then in step 42, is retrieved these tolerance.In step 44, the tolerance retrieved and the result of current static analysis are integrated to expand current static analysis.In step 46, store tolerance, and provide these results in step 54 from integrated result.
In an example embodiment, user/software developer can begin debug process and seamlessly carry out static state and performance analysis on the backstage.Fig. 3 is used for as the part of the debug process process flow diagram of the instantiation procedure of analysis software dynamically and statically iteratively.Process depicted in figure 3 is the combination of the process that Fig. 1 and Fig. 2 described basically.Start software analysis in step 56.Then, carry out static analysis (step 58) and carry out performance analysis (step 80).In response to starting software analysis, carry out static state and performance analysis.Can side by side or with any sequence ground carry out static state and performance analysis.In step 60, determine whether to have stored tolerance from previous staticasoftware analysis.As mentioned above, can comprise tolerance from the tolerance of previous static analysis from static analysis previous expansion and/or that do not expand.This tolerance can be about the same software entity of being analyzed statically or about a version of analyzed software entity.
If stored from tolerance (step 60) to the previous staticasoftware analysis of a same software entity or an one version, the tolerance of being stored then in step 62 retrieval.In step 64, tolerance and the current static analysis of being retrieved integrated to expand current static analysis.In the tolerance of step 66 storage from integrated result.At this some place, this process advances to step 68.If do not store,, determine whether to have stored from tolerance to the previous dynamic software analysis of a same software entity or an one version then in step 68 from tolerance (step 60) to the previous staticasoftware analysis of a same software entity or an one version.As mentioned above, can comprise tolerance from the tolerance of previous performance analysis from performance analysis previous expansion and/or that do not expand.If the tolerance of the performance analysis before having stored (step 68) then in step 70, is retrieved these tolerance.In step 72, the result of the tolerance retrieved and current static analysis is integrated expanding current static analysis, and in the tolerance of step 74 storage from integrated result.At this some place, this process advances to step 94.Equally, if (step 68) do not measured in storage performance analysis before, then this process advances to step 94.In step 94, static analysis and performance analysis are integrated to expand the result of each alanysis collaboratively.In step 96, provide the result of expansion.
In step 76, carry out dynamic software analysis.In step 78, determine whether to have stored tolerance from the previous attitude software analysis that moves.This tolerance can be about the same software entity of dynamically being analyzed or about a version of analyzed software entity.If stored tolerance (step 78), then retrieve the tolerance of being stored in step 80 from previous dynamic software analysis.In step 82, tolerance and the current performance analysis of being retrieved integrated to expand present analysis.In step 84, storage is from the result's who expands tolerance, and this process advances to step 86.If do not store,, determine whether to have stored from tolerance to the previous staticasoftware analysis of a same software entity or an one version then in step 86 from tolerance (step 78) to the previous dynamic software analysis of a same software entity or an one version.Can comprise tolerance from the tolerance of previous static analysis from static analysis previous expansion and/or that do not expand.If (step 86) do not measured in the static analysis before the storage, then as mentioned above, this process advances to step 94.If the tolerance of the static analysis before having stored (step 86) then in step 88, is retrieved these tolerance.In step 90, the tolerance retrieved and the result of current performance analysis are integrated to expand current performance analysis.In step 92 storage from the tolerance of the performance analysis of expanding and as mentioned above, this process advances to step 94.
Fig. 4 is used for iteratively dynamically and the figure of the example system 98 of analysis software statically.As mentioned above, in an example embodiment, the information that analytic system 98 will be collected when operation is mutually integrated with the static code analysis inspection.When enabling, the transition structure is carried out the execution feature of plug-in mounting to collect Useful Information and can use when moving.This information is to generate and store as the test and the result of debug process.System 98 can be implemented as client processor and/or processor-server.System 98 comprises processing section 110, memory portion 102 and I/O part 104.Processing section 100, memory portion 102 and I/O part 104 are coupling in together (not shown coupling among Fig. 4) and communicate betwixt allowing.System 98 can comprise that each part (for example, processing section 100, memory portion 102 and I/O part 104) of distributed processors and system 98 can comprise distributed processors.System 98 can carry out and each operation that comes analysis software iteratively to be associated via static and dynamic software analysis.For example, processing section 100 can be carried out staticasoftware analysis, carried out dynamic software analysis, retrieval static state and dynamic software analysis tolerance, storage static state and dynamic software analysis tolerance and integrated dynamic software analysis and staticasoftware analysis expand static state and/or dynamic software analysis from storage.Memory portion 102 can be stored and all parameters of being associated of analysis software dynamically and statically iteratively.In an example embodiment, memory portion 102 storages derive from the tolerance of the software analysis of staticasoftware analysis and dynamic software analysis and expansion.
As mentioned above, I/O part 104 can provide and/or receive and be utilized to iteratively dynamically and the assembly of analysis software statically.I/O part 104 can provide or receives data from it to another system, memory device and/or data stream.I/O part 104 can receive the input of all kinds of software analysis and the result of all kinds of software analysis is provided.
The accurate configuration and the type that depend on processor, memory portion 102 can be volatibility (as RAM and/or high-speed cache) 116, non-volatile (as ROM, flash memory etc.) 108 or its combination.System 98 can have additional features/functionality.For example, system 98 can comprise extra storage (removable storage 110 and/or can not mobile storage 112), includes but not limited to disk or CD, tape, flash memory, smart card or its combination.Comprise to be used to store such as computer-readable storage mediums such as memory portion 102,106,108,110 and 112 such as any means of the such information of computer-readable instruction, data structure, program module or other data or volatibility that technology realizes and non-volatile, removable and removable medium not.Computer-readable storage medium comprises, but be not limited to, the storer of RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical disc storage, tape cassete, tape, disk storage or other magnetic storage apparatus, compatible universal universal serial bus (USB), smart card, maybe can be used to store information needed and can be by any other medium of system's 98 visits.Any such computer-readable storage medium can be the part of system 98.
Computer system 98 also can comprise permission system 98 and communicate to connect 118 with miscellaneous equipment communicates.Communicating to connect 118 is examples of communication media.Communication media is usually embodying computer-readable instruction, data structure, program module or other data such as modulated message signal such as carrier wave or other transmission mechanisms, and comprises any information transmitting medium.Term " modulated message signal " refers to the signal that its one or more features are set or change in the mode of coded message in signal.And unrestricted, communication media comprises wire medium as example, such as cable network or directly line connection, and wireless medium, such as acoustics, RF, infrared ray and other wireless medium.As used herein, term computer-readable medium comprises storage medium and communication media.System 98 also can have input equipment 116, such as keyboard, mouse, pen, voice-input device, touch input device etc.Also can comprise output device 114, as display, loudspeaker, printer etc.
Although a plurality of embodiment of anticipation ofaiterative, dynamic and staticasoftware analysis are particularly useful for computerized system, be not intended to limit its scope herein.On the contrary, be intended to comprise can storage and process information and/or can use canned data to come any and all devices of the behavior or the execution of opertaing device itself for the term of Shi Yonging " computer system " herein, and no matter whether those device, in essence are electronics, mechanical, logic or virtual.
But various technology combined with hardware or software described herein, or make up with it in due course and realize.Therefore, the method and apparatus of ofaiterative, dynamic and staticasoftware analysis or its some aspect or part, can adopt the program code that is included in the tangible medium (promptly, instruction) form, tangible medium such as floppy disk, CD-ROM, hard disk drive or any other machinable medium, wherein, when program code is loaded on when carrying out such as machines such as computing machines and by it, this machine becomes and is used for iteratively dynamically and the device of analysis software statically.
If desired, program can realize with assembly language or machine language.In any case, this language can be language compiling or that explain, and the w ofaiterative, dynamic of combination and staticasoftware analysis also can be via with by certain transmission mediums, such as by electric wire or cable, realize by optical fiber or via the communication that the form of the program code of any other transmission form transmission embodies, wherein, when program code when receiving such as machines such as EPROM, gate array, programmable logic device (PLD) (PLD), client computers, loading and carrying out, this machine becomes the device that is used for ofaiterative, dynamic and staticasoftware analysis.When realizing on general processor, program code combines with processor provides a kind of unique apparatus that is used to call the function of ofaiterative, dynamic and staticasoftware analysis.In addition, any memory technology in conjunction with ofaiterative, dynamic and staticasoftware analysis use always can be the combination of hardware and software.
Although each example embodiment in conjunction with each accompanying drawing is described ofaiterative, dynamic and staticasoftware analysis, but be appreciated that, can use other similar embodiment, maybe can make amendment or add, realize the identical function of ofaiterative, dynamic and staticasoftware analysis and do not deviate from the present invention described embodiment.Therefore, ofaiterative, dynamic described herein and staticasoftware analysis should not be limited to any single embodiment, but should explain according to the range and the scope of appended claims.
Claims (18)
1. method that is used for analysis software, described method comprises:
Analysis software entity dynamically;
The retrieval indication is at least one static tolerance of the result of one previous static analysis in the version of described software entity and described software entity;
At least one static tolerance of being retrieved is integrated in the performance analysis of described software entity; And
Storage at least one static tolerance of measuring at least one expansion of gained in the performance analysis that is integrated into described software entity because of being retrieved.
2. the method for claim 1 is characterized in that, also is included in integrated storage before from least one dynamic measurement of the performance analysis of described software entity.
3. method as claimed in claim 2 is characterized in that, stores described at least one dynamic measurement for using with following at least one:
The subsequent dynamic analysis of at least one in the version of described software entity and described software entity; And
The aasubsequent staticaanalysis of at least one in the version of described software entity and described software entity.
4. the method for claim 1 is characterized in that, the tolerance of described at least one expansion of storage is for using with following at least one:
The subsequent dynamic analysis of at least one in the version of described software entity and described software entity; And
The aasubsequent staticaanalysis of at least one in the version of described software entity and described software entity.
5. the method for claim 1, it is characterized in that dynamic measurement comprises at least one in following: the scope of the value of the frequency that the part of described software entity is performed during carrying out described software entity, the parameter in the described software entity, the execution time of carrying out the amount of memory that the part of described software entity utilizes and being used to carry out the part of described software entity.
6. the method for claim 1 is characterized in that, static analysis comprises at least one in following: the scope of the value of the parameter in the lines of code in the described software entity, order complicacy and the described software entity.
7. method that is used for analysis software, described method comprises:
Analysis software entity statically;
The retrieval indication is at least one dynamic measurement of the result of one previous performance analysis in the version of described software entity and described software entity;
At least one dynamic measurement of being retrieved is integrated in the static analysis of described software entity; And
Storage is because of being integrated at least one dynamic measurement of being retrieved the tolerance of at least one expansion that gets in the static analysis of described software entity.
8. method as claimed in claim 7 is characterized in that, also is included in integrated storage before at least one static tolerance from the result of the static analysis of described software entity.
9. method as claimed in claim 8 is characterized in that, stores described at least one static tolerance for using with following at least one:
The subsequent dynamic analysis of at least one in the version of described software entity and described software entity; And
The aasubsequent staticaanalysis of at least one in the version of described software entity and described software entity.
10. method as claimed in claim 7 is characterized in that, the tolerance of described at least one expansion of storage is for using with following at least one:
The subsequent dynamic analysis of at least one in the version of described software entity and described software entity; And
The aasubsequent staticaanalysis of at least one in the version of described software entity and described software entity.
11. method as claimed in claim 7, it is characterized in that dynamic measurement comprises following at least one: the scope of the value of the frequency that the part of described software entity is performed during carrying out described software entity, the parameter in the described software entity, the execution time of carrying out the amount of memory that the part of described software entity utilizes and being used to carry out the part of described software entity.
12. method as claimed in claim 7 is characterized in that, static analysis comprises following at least one: the scope of the value of the parameter in the lines of code in the described software entity, order complicacy and the described software entity.
13. a system that is used for analysis software, described system comprises:
The processor part, to be used for:
Analysis software entity dynamically;
From memory portion retrieval indication at least one static tolerance to the result of one previous static analysis the version of described software entity and described software entity;
At least one static tolerance of being retrieved is integrated in the performance analysis of described software entity; And
Storage at least one static dynamic measurement of measuring at least one expansion of gained in the performance analysis that is integrated into described software entity in described memory portion because of being retrieved; And
Described memory portion is used for:
Store at least one static tolerance of the described previous staticaanalysis results of described indication; And
The dynamic measurement of described at least one expansion of storage.
14. system as claimed in claim 13 is characterized in that:
Described processor part also is used for:
Analyze described software entity statically;
From described memory portion retrieval indication at least one dynamic measurement to the result of one previous performance analysis the version of described software entity and described software entity;
At least one dynamic measurement of being retrieved is integrated in the static analysis of described software entity; And
Storage is integrated into the static state tolerance of at least one expansion of gained in the static analysis of described software entity because of at least one dynamic measurement that will be retrieved in described memory portion; And
Described memory portion also is used for:
Store at least one dynamic measurement of the described previous performance analysis result of described indication; And
The static state tolerance of described at least one expansion of storage.
15. system as claimed in claim 14 is characterized in that, described processor part also is used at least one below described memory portion storage:
Come comfortable be integrated at least one dynamic measurement of being retrieved in the described static analysis before at least one static tolerance of the result of the static analysis of described software entity; And
Come comfortable be integrated at least one static tolerance of being retrieved in the described performance analysis before at least one dynamic measurement of the result of the performance analysis of described software entity.
16. method as claimed in claim 15, it is characterized in that at least one in the dynamic measurement of the static state tolerance of the dynamic measurement that the static state that storage is stored is measured, stored, the expansion of being stored and the expansion of being stored is to use with following at least one:
The subsequent dynamic analysis of at least one in the version of described software entity and described software entity; And
The aasubsequent staticaanalysis of at least one in the version of described software entity and described software entity.
17. system as claimed in claim 13 is characterized in that, static analysis comprises at least one in following: the scope of the value of the parameter in the lines of code in the described software entity, order complicacy and the described software entity.
18. system as claimed in claim 13, it is characterized in that dynamic measurement comprises following at least one: the scope of the value of the frequency that the part of described software entity is performed during carrying out described software entity, the parameter in the described software entity, the execution time of carrying out the amount of memory that the part of described software entity utilizes and being used to carry out the part of described software entity.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/451,851 | 2006-06-13 | ||
US11/451,851 US7975257B2 (en) | 2006-06-13 | 2006-06-13 | Iterative static and dynamic software analysis |
PCT/US2007/011198 WO2007145745A1 (en) | 2006-06-13 | 2007-05-08 | Iterative static and dynamic software analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101473301A true CN101473301A (en) | 2009-07-01 |
CN101473301B CN101473301B (en) | 2018-12-11 |
Family
ID=38823409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780022369.0A Active CN101473301B (en) | 2006-06-13 | 2007-05-08 | Iterative static and dynamic software analysis |
Country Status (6)
Country | Link |
---|---|
US (1) | US7975257B2 (en) |
EP (1) | EP2035922A4 (en) |
JP (1) | JP2009540464A (en) |
KR (1) | KR20090017598A (en) |
CN (1) | CN101473301B (en) |
WO (1) | WO2007145745A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012814A (en) * | 2010-11-24 | 2011-04-13 | 中兴通讯股份有限公司 | Construction method and system for software version |
CN102385511A (en) * | 2010-06-23 | 2012-03-21 | 微软公司 | Visualization of runtime analysis across dynamic boundaries |
CN102968173A (en) * | 2012-09-28 | 2013-03-13 | 北京航空航天大学 | Bandwidth self-adaption code migration-based energy saving method for mobile equipment |
CN103635876A (en) * | 2011-06-20 | 2014-03-12 | 微软公司 | Memory management model and interface for unmodified applications |
CN109783383A (en) * | 2019-01-08 | 2019-05-21 | 郑州云海信息技术有限公司 | A kind of code level method for testing software, device, terminal and storage medium |
CN111061789A (en) * | 2019-12-10 | 2020-04-24 | 国家电网有限公司 | Smart power grids capital construction information management system |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644334B2 (en) * | 2006-11-27 | 2010-01-05 | Honeywell International, Inc. | Requirements-based test generation |
US8627287B2 (en) * | 2007-11-29 | 2014-01-07 | Microsoft Corporation | Prioritizing quality improvements to source code |
US8307342B2 (en) * | 2008-05-14 | 2012-11-06 | Honeywell International Inc. | Method, apparatus, and system for automatic test generation from statecharts |
US8423879B2 (en) * | 2008-05-14 | 2013-04-16 | Honeywell International Inc. | Method and apparatus for test generation from hybrid diagrams with combined data flow and statechart notation |
US8782608B2 (en) * | 2008-06-17 | 2014-07-15 | International Business Machines Corporation | System and method of identifying and tracking software pattern metrics |
CN101639804A (en) * | 2008-07-29 | 2010-02-03 | 国际商业机器公司 | Method for confirming memory leakage position in program and device |
US8782613B2 (en) * | 2008-08-12 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Optimizing applications using source code patterns and performance analysis |
JP2010061461A (en) * | 2008-09-04 | 2010-03-18 | Ricoh Co Ltd | System for automatic evaluation of software performance |
US20100192128A1 (en) * | 2009-01-27 | 2010-07-29 | Honeywell International Inc. | System and methods of using test points and signal overrides in requirements-based test generation |
JP5186443B2 (en) * | 2009-06-30 | 2013-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System, method and program for judging validity of character string |
KR101412465B1 (en) * | 2009-07-30 | 2014-06-30 | 에스케이플래닛 주식회사 | Verification system and verification method of code block for separating execution based contents |
US8549490B2 (en) | 2009-09-29 | 2013-10-01 | International Business Machines Corporation | Static code analysis for packaged application customization |
US8584246B2 (en) * | 2009-10-13 | 2013-11-12 | International Business Machines Corporation | Eliminating false reports of security vulnerabilities when testing computer software |
US8468605B2 (en) * | 2009-11-30 | 2013-06-18 | International Business Machines Corporation | Identifying security vulnerability in computer software |
US9098616B2 (en) * | 2009-12-11 | 2015-08-04 | International Business Machines Corporation | Analyzing computer programs to identify errors |
US9098619B2 (en) | 2010-04-19 | 2015-08-04 | Honeywell International Inc. | Method for automated error detection and verification of software |
US20110271258A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Software Development Tool |
US8443342B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Static analysis using interactive and integration tools |
US8578344B2 (en) | 2010-06-17 | 2013-11-05 | Microsoft Corporation | Incremental compositional dynamic test generation |
US8528095B2 (en) | 2010-06-28 | 2013-09-03 | International Business Machines Corporation | Injection context based static analysis of computer software applications |
US8607191B2 (en) | 2010-06-30 | 2013-12-10 | International Business Machines Corporation | Automated discovery of programmatic resources |
US20120054724A1 (en) * | 2010-08-31 | 2012-03-01 | International Business Machines Corporation | Incremental static analysis |
US8667584B2 (en) | 2010-12-15 | 2014-03-04 | International Business Machines Corporation | Formal analysis of the quality and conformance of information flow downgraders |
US8984488B2 (en) | 2011-01-14 | 2015-03-17 | Honeywell International Inc. | Type and range propagation through data-flow models |
US8856764B2 (en) * | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Distributed static analysis of computer software applications |
US8984343B2 (en) | 2011-02-14 | 2015-03-17 | Honeywell International Inc. | Error propagation in a system model |
US8799859B2 (en) * | 2011-05-19 | 2014-08-05 | Siemens Aktiengesellschaft | Augmented design structure matrix visualizations for software system analysis |
EP2557503B1 (en) * | 2011-07-28 | 2020-04-01 | Tata Consultancy Services Ltd. | Application performance measurement and reporting |
US8769696B2 (en) | 2011-09-29 | 2014-07-01 | International Business Machines Corporation | Automated detection of flaws and incompatibility problems in information flow downgraders |
US10157049B2 (en) * | 2011-10-26 | 2018-12-18 | International Business Machines Corporation | Static analysis with input reduction |
US8930886B2 (en) * | 2011-12-15 | 2015-01-06 | Microsoft Corporation | Identifying application resources through implicit application models |
US8959486B2 (en) * | 2013-01-09 | 2015-02-17 | International Business Machines Corporation | Automatic regression testing based on cyclomatic complexity |
US9552285B2 (en) | 2013-05-02 | 2017-01-24 | Microsoft Technology Licensing, Llc | Micro-execution for software testing |
US9904541B2 (en) * | 2013-05-09 | 2018-02-27 | Microsoft Technology Licensing, Llc | Semantic baselining |
US20140372988A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Using a Static Analysis for Configuring a Follow-On Dynamic Analysis for the Evaluation of Program Code |
US20150033339A1 (en) * | 2013-07-29 | 2015-01-29 | Crowdstrike, Inc. | Irrelevant Code Identification |
US9305279B1 (en) * | 2014-11-06 | 2016-04-05 | Semmle Limited | Ranking source code developers |
US9417985B2 (en) | 2014-11-14 | 2016-08-16 | Semmle Limited | Distributed analysis and attribution of source code |
US9378013B2 (en) | 2014-11-14 | 2016-06-28 | Semmle Limited | Incremental source code analysis |
US10719420B2 (en) | 2015-02-10 | 2020-07-21 | International Business Machines Corporation | System level testing of multi-threading functionality including building independent instruction streams while honoring architecturally imposed common fields and constraints |
KR102461180B1 (en) * | 2016-06-13 | 2022-11-01 | (주)씽크포비엘 | Method and apparatus for analyzing safety of software |
KR101675986B1 (en) * | 2016-06-13 | 2016-11-23 | (주)씽크포비엘 | Method and apparatus for analyzing safety of automotive software |
KR102426581B1 (en) * | 2016-06-13 | 2022-07-29 | (주)씽크포비엘 | Method and apparatus for analyzing safety of automotive software |
KR101886203B1 (en) * | 2016-07-19 | 2018-09-06 | 주식회사 스패로우 | Apparatus and method for analyzing programs |
EP3497574A4 (en) | 2016-08-09 | 2020-05-13 | Sealights Technologies Ltd. | System and method for continuous testing and delivery of software |
US9645817B1 (en) * | 2016-09-27 | 2017-05-09 | Semmle Limited | Contextual developer ranking |
US10545848B2 (en) | 2016-10-11 | 2020-01-28 | International Business Machines Corporation | Boosting the efficiency of static program analysis using configuration tuning |
US11853529B2 (en) | 2016-11-07 | 2023-12-26 | Tableau Software, Inc. | User interface to prepare and curate data for subsequent analysis |
US10242079B2 (en) | 2016-11-07 | 2019-03-26 | Tableau Software, Inc. | Optimizing execution of data transformation flows |
US10885057B2 (en) | 2016-11-07 | 2021-01-05 | Tableau Software, Inc. | Correlated incremental loading of multiple data sets for an interactive data prep application |
US11200144B1 (en) | 2017-09-05 | 2021-12-14 | Amazon Technologies, Inc. | Refinement of static analysis of program code |
US10394691B1 (en) * | 2017-10-05 | 2019-08-27 | Tableau Software, Inc. | Resolution of data flow errors using the lineage of detected error conditions |
US10769250B1 (en) * | 2017-10-26 | 2020-09-08 | Amazon Technologies, Inc. | Targeted security monitoring using semantic behavioral change analysis |
US10713145B2 (en) | 2018-01-05 | 2020-07-14 | International Business Machines Corporation | Automated debugging with combined static and dynamic analysis |
US10379849B1 (en) * | 2018-02-01 | 2019-08-13 | Dell Products L.P. | Methods and apparatus for visualization of contextual code execution |
KR102117905B1 (en) * | 2018-04-09 | 2020-06-03 | 슈어소프트테크주식회사 | Credibility test result management data auto generation method and credibility test result management data auto generation apparatus |
US11086759B2 (en) | 2018-09-27 | 2021-08-10 | SeaLights Technologies LTD | System and method for probe injection for code coverage |
JP7046217B2 (en) * | 2018-10-03 | 2022-04-01 | 三菱電機株式会社 | Software analysis device, software analysis method and software analysis program |
US11250032B1 (en) | 2018-10-22 | 2022-02-15 | Tableau Software, Inc. | Data preparation user interface with conditional remapping of data values |
US10691304B1 (en) | 2018-10-22 | 2020-06-23 | Tableau Software, Inc. | Data preparation user interface with conglomerate heterogeneous process flow elements |
US11573885B1 (en) | 2019-09-26 | 2023-02-07 | SeaLights Technologies LTD | System and method for test selection according to test impact analytics |
US11100097B1 (en) | 2019-11-12 | 2021-08-24 | Tableau Software, Inc. | Visually defining multi-row table calculations in a data preparation application |
US12032994B1 (en) | 2021-10-18 | 2024-07-09 | Tableau Software, LLC | Linking outputs for automatic execution of tasks |
US11782813B2 (en) * | 2021-12-17 | 2023-10-10 | Intel Corporation | Methods and apparatus to determine refined context for software bug detection and correction |
US12061903B2 (en) | 2022-09-16 | 2024-08-13 | Microsoft Technology Licensing, Llc | Software development quality assessment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992009034A1 (en) * | 1990-11-09 | 1992-05-29 | Techforce B.V. | Method for analysis and prediction of a software program development process |
US5655074A (en) * | 1995-07-06 | 1997-08-05 | Bell Communications Research, Inc. | Method and system for conducting statistical quality analysis of a complex system |
US5909577A (en) * | 1994-04-18 | 1999-06-01 | Lucent Technologies Inc. | Determining dynamic properties of programs |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3577760D1 (en) | 1985-12-30 | 1990-06-21 | Ibm Deutschland | METHOD AND DEVICE FOR ANALYZING CONTROL PROGRAMS. |
US5317740A (en) | 1991-03-07 | 1994-05-31 | Digital Equipment Corporation | Alternate and iterative analysis of computer programs for locating translatable code by resolving callbacks and other conflicting mutual dependencies |
US5485409A (en) * | 1992-04-30 | 1996-01-16 | International Business Machines Corporation | Automated penetration analysis system and method |
CN1125990A (en) | 1993-05-10 | 1996-07-03 | 思想软件公司 | Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introdu.. |
US6789054B1 (en) * | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
AU6204000A (en) | 1999-06-30 | 2001-01-31 | Sun Microsystems, Inc. | Method and apparatus for static analysis of software code |
US6892297B1 (en) * | 2000-03-16 | 2005-05-10 | International Business Machines Corporation | Method and system for searching an updated version of boot code for updating current running boot code prior to loading an operating system |
US6754612B1 (en) * | 2000-06-29 | 2004-06-22 | Microsoft Corporation | Performance markers to measure benchmark timing of a plurality of standard features in an application program |
US7032214B1 (en) * | 2000-06-29 | 2006-04-18 | Microsoft Corporation | Performance markers to measure performance of features in a program |
JP2002259167A (en) * | 2000-12-26 | 2002-09-13 | Fujitsu Ltd | Method for presenting execution performance information and recording medium |
JP2002278792A (en) * | 2001-03-21 | 2002-09-27 | Ricoh Co Ltd | Method for testing software |
US6968341B2 (en) | 2001-05-25 | 2005-11-22 | International Business Machines Corporation | System and method for post-analyzing, and sequentially visualizing plurality of predefined metrics in a stored dynamic data values associated identifiers within determined time range |
US6643613B2 (en) | 2001-07-03 | 2003-11-04 | Altaworks Corporation | System and method for monitoring performance metrics |
JP2003114813A (en) * | 2001-10-03 | 2003-04-18 | Ibm Japan Ltd | Analysis server, program analysis network system and program analysis method |
US7219341B2 (en) | 2002-10-31 | 2007-05-15 | International Business Machines Corporation | Code analysis for selective runtime data processing |
KR20050118177A (en) | 2003-03-10 | 2005-12-15 | 카테나 가부시키가이샤 | Static analysis method for lyee-oriented software |
KR20040080844A (en) | 2003-03-14 | 2004-09-20 | 주식회사 안철수연구소 | Method to detect malicious scripts using static analysis |
US20050108562A1 (en) | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
US20050015752A1 (en) | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Static analysis based error reduction for software applications |
US20070250806A1 (en) * | 2003-09-22 | 2007-10-25 | Catena Corporation | Software Generation Method |
US7032191B2 (en) * | 2004-02-27 | 2006-04-18 | Rapid Bridge Llc | Method and architecture for integrated circuit design and manufacture |
US7383583B2 (en) | 2004-03-05 | 2008-06-03 | Microsoft Corporation | Static and run-time anti-disassembly and anti-debugging |
US7398520B2 (en) | 2004-06-07 | 2008-07-08 | Microsoft Corporation | Efficient construction of pruned SSA form |
US7451439B2 (en) | 2004-12-03 | 2008-11-11 | Palo Alto Research Center Incorporated | System and method for automatically identifying compound refactorings of program code through quantitative metric analysis |
US7558719B1 (en) * | 2005-04-14 | 2009-07-07 | Xilinx, Inc. | System and method for runtime analysis of system models for variable fidelity performance analysis |
US20070283326A1 (en) * | 2006-06-01 | 2007-12-06 | Consolatti Scott M | System for Defining and Evaluating Target Thresholds Against Performance Metrics |
-
2006
- 2006-06-13 US US11/451,851 patent/US7975257B2/en active Active
-
2007
- 2007-05-08 CN CN200780022369.0A patent/CN101473301B/en active Active
- 2007-05-08 KR KR1020087030428A patent/KR20090017598A/en not_active IP Right Cessation
- 2007-05-08 EP EP07776918A patent/EP2035922A4/en not_active Ceased
- 2007-05-08 WO PCT/US2007/011198 patent/WO2007145745A1/en active Application Filing
- 2007-05-08 JP JP2009515396A patent/JP2009540464A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992009034A1 (en) * | 1990-11-09 | 1992-05-29 | Techforce B.V. | Method for analysis and prediction of a software program development process |
US5909577A (en) * | 1994-04-18 | 1999-06-01 | Lucent Technologies Inc. | Determining dynamic properties of programs |
US5655074A (en) * | 1995-07-06 | 1997-08-05 | Bell Communications Research, Inc. | Method and system for conducting statistical quality analysis of a complex system |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385511A (en) * | 2010-06-23 | 2012-03-21 | 微软公司 | Visualization of runtime analysis across dynamic boundaries |
CN102385511B (en) * | 2010-06-23 | 2016-09-21 | 微软技术许可有限责任公司 | Across the visualization that the motion time of dynamic boundary is analysed |
CN102012814A (en) * | 2010-11-24 | 2011-04-13 | 中兴通讯股份有限公司 | Construction method and system for software version |
WO2012068850A1 (en) * | 2010-11-24 | 2012-05-31 | 中兴通讯股份有限公司 | Method and system for constructing software version |
CN102012814B (en) * | 2010-11-24 | 2015-07-22 | 中兴通讯股份有限公司 | Construction method and system for software version |
CN103635876A (en) * | 2011-06-20 | 2014-03-12 | 微软公司 | Memory management model and interface for unmodified applications |
US9785470B2 (en) | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Memory management model and interface for unmodified applications |
CN103635876B (en) * | 2011-06-20 | 2018-01-02 | 微软技术许可有限责任公司 | Memory management model and interface for unmodified application |
CN102968173A (en) * | 2012-09-28 | 2013-03-13 | 北京航空航天大学 | Bandwidth self-adaption code migration-based energy saving method for mobile equipment |
CN102968173B (en) * | 2012-09-28 | 2015-08-26 | 北京航空航天大学 | A kind of mobile device power saving method based on bandwidth self-adaption code migration |
CN109783383A (en) * | 2019-01-08 | 2019-05-21 | 郑州云海信息技术有限公司 | A kind of code level method for testing software, device, terminal and storage medium |
CN111061789A (en) * | 2019-12-10 | 2020-04-24 | 国家电网有限公司 | Smart power grids capital construction information management system |
Also Published As
Publication number | Publication date |
---|---|
US20070288899A1 (en) | 2007-12-13 |
US7975257B2 (en) | 2011-07-05 |
EP2035922A4 (en) | 2009-07-22 |
EP2035922A1 (en) | 2009-03-18 |
CN101473301B (en) | 2018-12-11 |
KR20090017598A (en) | 2009-02-18 |
WO2007145745A1 (en) | 2007-12-21 |
JP2009540464A (en) | 2009-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101473301A (en) | Iterative static and dynamic software analysis | |
CN109426723B (en) | Detection method, system, equipment and storage medium using released memory | |
US6430741B1 (en) | System and method for data coverage analysis of a computer program | |
US8813039B2 (en) | Method and system for software defect reporting | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US7739553B2 (en) | System crash analysis using path tracing technologies | |
JP2022501734A (en) | How to definitively report a cause and effect in a software system | |
CN110990020A (en) | Software compiling method and device, electronic equipment and storage medium | |
WO2022142896A1 (en) | Generation method and apparatus for visualizable template, device, and storage medium | |
CN111831564A (en) | Regression testing method and device and computing equipment | |
CN106776338B (en) | Test method, test device and server | |
CN109871312B (en) | Interface testing method, device, equipment and readable storage medium | |
US20130179867A1 (en) | Program Code Analysis System | |
CN111666201A (en) | Regression testing method, device, medium and electronic equipment | |
CN111427771A (en) | Code coverage rate analysis method, equipment, server and readable storage medium | |
CN106844219B (en) | Application detection method and application detection device | |
US9405652B2 (en) | Regular expression support in instrumentation languages using kernel-mode executable code | |
CN116661758B (en) | Method, device, electronic equipment and medium for optimizing log framework configuration | |
CN115203061B (en) | Interface automation test method and device, electronic equipment and storage medium | |
Kalibera et al. | Precise regression benchmarking with random effects: Improving Mono benchmark results | |
US10776255B1 (en) | Automatic verification of optimization of high level constructs using test vectors | |
CN114969759A (en) | Asset safety assessment method, device, terminal and medium for industrial robot system | |
JP6818568B2 (en) | Communication device, communication specification difference extraction method and communication specification difference extraction program | |
US8639490B2 (en) | Concretization of abstracted traces | |
CN114780952B (en) | Detection method, system and storage medium for sensitive application call scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150803 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150803 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |