CN115422092A - Software bug positioning method based on multi-method fusion - Google Patents

Software bug positioning method based on multi-method fusion Download PDF

Info

Publication number
CN115422092A
CN115422092A CN202211365276.0A CN202211365276A CN115422092A CN 115422092 A CN115422092 A CN 115422092A CN 202211365276 A CN202211365276 A CN 202211365276A CN 115422092 A CN115422092 A CN 115422092A
Authority
CN
China
Prior art keywords
bug
positioning
source code
grained
fusion
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
Application number
CN202211365276.0A
Other languages
Chinese (zh)
Other versions
CN115422092B (en
Inventor
陈祥献
郭中豪
吴建林
于金玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Jinhenghe Information Technology Co ltd
Original Assignee
Hangzhou Jinhenghe Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Jinhenghe Information Technology Co ltd filed Critical Hangzhou Jinhenghe Information Technology Co ltd
Priority to CN202211365276.0A priority Critical patent/CN115422092B/en
Publication of CN115422092A publication Critical patent/CN115422092A/en
Application granted granted Critical
Publication of CN115422092B publication Critical patent/CN115422092B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Abstract

The invention discloses a software bug positioning method based on multi-method fusion. The method comprises the steps of firstly sorting program related information, carrying out static analysis on source codes, then executing a test case, carrying out dynamic analysis on the source codes, and then positioning bugs by using a slicing method, a frequency spectrum method, a combination of the slicing method and the frequency spectrum method, and stack tracking. And secondly, collecting bug positioning data, constructing a feature vector, and positioning the bug by adopting a sequencing learning algorithm and combining the information in the front. And finally, vectorizing the bug report, the historical modification record and the bug source code, comparing the vector similarity, and positioning the source code file of the bug. According to the invention, the coarse-grained bug positioning method of multiple file levels is combined with the fine-grained bug positioning method of statement levels, so that the effective range of the bug positioning method is wider, and a bug positioning effect with higher precision is obtained.

Description

Software bug positioning method based on multi-method fusion
Technical Field
The invention relates to the field of automation of computer information processing software engineering tests, in particular to a software bug positioning method based on multi-method fusion.
Background
The software testing cost is extremely high, and accounts for more than 40% of the total cost in the software life cycle. Among them, the bug positioning task occupies a great deal of time of developers, so in recent years, the research on automatic bug positioning is increasing, and a great deal of valuable research results also appear. Most of the automated research on Bug positioning replaces part or all of the prior manual Bug positioning process with automated execution. For example, when the result of test case execution does not meet the expected result, a tester often searches a statement related to an abnormal variable in the executed statement, and the slicing method simulates the process to locate the bug; when the test case is damaged, the tester backtracks the stack calling information and searches the position where the damage occurs, and the stack tracking method simulates the process to position the bug; besides, a frequency spectrum method for giving program statement suspicion degree sequencing by adopting a statistical method, a multi-method fused bug positioning method and the like are adopted.
A plurality of research results show that the multi-method fused automatic bug positioning method has better effect than any single method. However, the existing multi-method fusion bug positioning method has some defects. Firstly, the positioning accuracy of the fused multiple bug positioning methods is fine granularity at a statement level, coarse-grained bug positioning at a file or function level is avoided, and the application range is much smaller; secondly, in the multi-method fused automatic bug positioning method researched by the predecessor, a pointwise algorithm in sequencing learning is adopted for sequencing, the algorithm cannot consider the relation between sentences in the same file, a LambdaMart sequencing learning algorithm is adopted in the invention, and the sequencing effect of the Listwise algorithm belonging to the LambdaMart sequencing learning algorithm is better than that of the pointwise algorithm.
Disclosure of Invention
Aiming at the problems of low positioning precision and narrow application range of the conventional software bug, the invention provides a bug positioning method based on multi-method fusion, and aims to expand the application range of the bug positioning method and improve the bug positioning precision.
The invention provides a software bug positioning method based on multi-method fusion, which comprises the following steps:
step 1, aiming at a source code of a bug to be positioned, sorting out a corresponding test case, a bug report and a code modification history record;
step 2, fine-grained bug positioning at statement level is executed;
step 3, performing coarse-grained bug positioning at a file level;
and 4, combining the coarse-grained bug positioning method at the file level with the fine-grained bug positioning method at the statement level to obtain the final position of the software bug.
The invention provides a software bug positioning device based on multi-method fusion, which comprises the following steps:
the preprocessing module is used for sorting out corresponding test cases, bug reports and code modification history records aiming at the source codes of the bugs to be positioned;
fine-grained bug positioning, which is used for performing statement-level fine-grained bug positioning;
the coarse-granularity bug positioning module is used for performing coarse-granularity bug positioning at a file level;
and the positioning fusion module is used for combining the coarse-grained bug positioning method at the file level with the fine-grained bug positioning method at the statement level to obtain the final position of the software bug.
In yet another aspect of the invention: the device comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein the processor executes the program to realize the multi-method fusion-based software bug positioning method.
The invention has the beneficial effects that: according to the method, the coarse-grained bug positioning methods of various file levels are combined with the fine-grained bug positioning method of statement levels, so that the effective range of the bug positioning method is wider. And moreover, the LambdaMart of the Listwise algorithm is adopted as the algorithm for method fusion, so that a positioning effect with higher precision is obtained.
Drawings
FIG. 1 is a flow chart of a multiple method fused bug positioning algorithm.
Fig. 2 is a diagram of the bug positioning device with multi-method fusion shown in fig. 2.
Detailed Description
The invention is described in further detail below with reference to the figures and methods of practice.
As shown in fig. 1, the technical scheme of the invention comprises the following steps:
1. program-related information collation
And aiming at the source code of the bug to be positioned, arranging corresponding initial information which is possibly related to the bug position, such as a test case, a bug report, a code modification historical record and the like.
2. Performing static analysis on source code
By analyzing the AST structure of the source code, a control flow graph of the source code is created, and a program path, a branch statement and a branch condition in the source code are obtained; and analyzes the AST of the source code to obtain the information of the input and output variables of the source code function.
3. Executing test case, and dynamically analyzing source code
And respectively executing the test cases corresponding to the functions of the source code, and recording information such as a path taken by each test case, an execution result and the like.
4. Dynamic slicing of computer program, and positioning bug by slicing method
And taking the execution result information of the third step, putting the program statements passed by the test case with failed execution into a set, and screening the program statements related to the abnormal variables to form a dynamic slice. And sequentially constructing all dynamic slices, wherein the statement intersection in the dynamic slices related to the same abnormal variable is the bug position.
5. Selecting a frequency spectrum formula, and positioning the bug by a frequency spectrum method
The doubtful degree formula of the spectrum method is formed by classifying and counting the results of the dynamic analysis in the step 3 and then according to a certain operation rule. The spectrum method can calculate the suspicion degree of each sentence program statement in the program according to a suspicion degree formula, then descending the suspicion degree to give a suspicion degree list, and positioning the bug in a certain statement according to the suspicion degree.
6. Positioning the bug by the frequency spectrum method in combination with the slicing method
Firstly, the position of the bug is reduced to a statement set by using a slicing method, then the suspiciousness of the statements in the set is calculated by using a spectrum method and sequenced, and finally the bug is positioned.
7. Stack tracking method positioning bug
The results of test case execution are classified into three types, namely normal results and abnormal results. The stack trace is a list of active stack frames during program execution, each stack frame corresponding to a function call that has not been returned. When an execution crash occurs, the stack trace indicates the currently active function call and the point at which the crash occurred. The bug location may be traced back according to the results of the stack trace.
8. Collecting bug positioning data and constructing feature vector
The bug is positioned by adopting the methods, and each sentence has a suspicion degree score. For each statement, the suspicion degree score given by each bug positioning method is a feature, and the scores of all bug positioning form a feature vector of the statement. And marking the expected value of each feature vector by 0 or 1, wherein 0 represents that the statement does not contain the bug, and 1 represents that the statement contains the bug.
9. Positioning bug by adopting sequencing learning algorithm and combining preamble information
And learning the characteristic vectors and the expected values obtained in the step eight by adopting a sequencing learning algorithm LambdaMart. The trained model can assign a suspicion degree score to each statement according to the feature vector of each statement, and the program statement suspicion degree score is the probability that the statement contains bugs, so that the bugs are positioned on the statement level.
10. Vectorizing bug reports, historical modification records and bug source codes
Extracting words with practical significance from the bug report, the historical modification record and the bug source code file to form a keyword library; and counting the word frequency inverse document frequency (TF-IDF) of the words in the word bank, wherein the names and the weight values of all the words form a weight vector of the keyword bank.
11. Comparing the vector similarity and positioning the source code file of the bug
Cosine similarity among weight vectors of the file keyword libraries is adopted to represent similarity among files, the keyword libraries of the files are compared in a similarity comparison mode, and statistics is carried out on similarity between each bug report and a historical modification record and which program source code file has the highest keyword library similarity, namely the source code file is considered to have the highest association degree with the bug report, and the bug is most likely to be in the source code file.
The embodiment is as follows:
s1, aiming at the source code of the bug to be positioned, the corresponding bug report, the test case and the code modification history are arranged.
S2, firstly, carrying out syntactic analysis on a test object source code to obtain an Abstract Syntactic Tree (AST) of a program; the AST nodes are then traversed creating a control flow graph. In the control flow chart, nodes are blocks composed of statements which can only run continuously, and edges are control relations among the blocks. And traversing the control flow graph to obtain program paths, branch statements and branch conditions in the program to analyze the AST, and obtaining information such as input and output variables of functions in the source codes.
And S3, automatically inserting the codes by using a gcc tool. After the test case is executed, the gcc can be used to obtain the running sequence information of the code statement and the coverage information of the code statement in the source code.
And S4, recording a variable set of the test case with the execution result inconsistent with the expected result as V, and forming a statement set S by program statements related to all abnormal variables in the V. And recording the variable v (i) of the ith exception, and putting the statements related to v (i) in the executed statements into a set S, wherein S is a dynamic slice and is a subset of S. All dynamic slices were constructed in sequence. And the statement intersection in the dynamic slice related to the same abnormal variable is the bug position.
S5, positioning the bug by aiming at the frequency spectrum method, wherein the frequency spectrum formula selected by the invention is Ochiai, and the formula is as follows:
Figure 45143DEST_PATH_IMAGE001
the method comprises the steps of running a statement of an overlay program, running a test case number ncs with a normal running result, running a test case number ncf with an overlay program statement and an error running result, and running a test case number nuf with a non-overlay program statement and a normal running result. According to the above formula, the suspicion degree of each program statement can be calculated. And arranging the program statements in a descending order according to the suspicion degree to obtain a suspicion degree list of the bug position.
S6, in the step S4, the slice method positions the bug in a statement set formed by some statements. And calculating the suspicion degree of the sentences in the sentence set obtained in the slicing method by using the spectrum method in the step 5, thus obtaining a bug suspicion degree list fusing the 'slicing method' and the 'spectrum method', and sequencing and positioning bugs.
S7, aiming at the condition that the test case is crashed, stack tracking indicates the current active function call and the point where the crash happens. Tracing is carried out according to the stack tracking result, and statements and methods called in the statements where the crash occurs can be the positions of the bugs, and are the results of positioning the bugs by a stack tracking method.
S8, positioning the bug by adopting the methods, wherein each method has a suspicion degree score for each statement. Table 1 is an example of a statement and its features in the bug source code, the data in the third row of the table shows that there is a bug in the 37 th row of the Func1 function in the com.file, and the suspiciousness of the statement is given by the slicing method, the spectrum method, the mixed method of the slice + spectrum method and the stack tracking method in the following table, so that the feature vector is (0,0.5486,0.7979,0), the statement contains a bug, and the corresponding expected value is 1.
TABLE 1
Document Function(s) Line number Degree of doubt of sectioning Doubtful degree of frequency spectrum method Degree of doubt of Mixed method Stack trace suspicion Whether bug
com.file Func1 15 0.0 0.1479 0.0832 0.0 0
com.file Func1 37 0.0 0.5486 0.7979 0.0 1
com.file Func2 33 1.0 0.1101 0.3446 0.0 1
And S9, obtaining the characteristic vector and the expected value in the step eight, and learning the characteristic vector by adopting a LambdaMart algorithm added with a random forest version so as to predict the expected value according to the characteristic vector, namely assigning a suspicion degree score to the statement. The trained model will arrange the sentences in turn according to the suspicion degree scores, thereby locating bugs on the sentence level. Compared with pointwise algorithms, lambdamat takes the order relationship among all the feature vectors into consideration during training, not just the relationship between the feature values in the feature vectors and the expected values, so that the positioning effect is better than that of pointwise.
S10, extracting meaningful words in the bug report, the modification history and the source code to form a keyword library of the file; secondly, counting the word frequency inverse document frequency (TF-IDF) of the vocabulary in the word bank, namely the weight value of the word; finally, the names and weighted values of all words in a document constitute a weight vector of the keyword library. The TF-IDF calculation formula is shown below:
Figure 287512DEST_PATH_IMAGE002
in the formula, ω is a term, d is a given document, C is a corpus, i.e., a collection of all documents, n ωd Is the number of times the word ω appears in a given document d, N is the sum of the number of words in the document d,
Figure 226649DEST_PATH_IMAGE003
indicates the number of C.
S11, the similarity between each bug report and the historical modification record and the keyword library of which program source code file is the highest respectively, namely the source code file is considered to be the highest in association degree with the bug report, and the bug is most likely to be in the source code file. The file similarity is expressed by cosine similarity of weight vector values corresponding to the file keyword library. The cosine similarity calculation formula of the vector is as follows:
Figure 222287DEST_PATH_IMAGE004
the embodiment of the present invention may be applied to a network device, and the embodiment may be implemented by software, or by hardware, or by a combination of hardware and software. Taking a software implementation as an example, as a logical device, the device is formed by reading, by a processor of a device in which the device is located, corresponding computer program instructions in a non-volatile memory into an internal memory for execution, where the computer program is used to execute the method determined by the above steps. From the hardware level, as shown in fig. 2, a hardware structure diagram of the multi-method fusion-based software bug positioning device of the present invention is shown, and the device may generally include other hardware in addition to the processor, the network interface, the memory, and the non-volatile storage shown in fig. 2, so as to perform the expansion at the hardware level. In another aspect, the present application further provides a computer-readable storage medium, which stores a computer program for executing the method for inter-stream network coding based on opportunistic routing determined in the above steps.
For the embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described apparatus embodiments are merely illustrative and can be understood and practiced by those of ordinary skill in the art without the use of inventive faculty.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (10)

1. A software bug positioning method based on multi-method fusion is characterized by comprising the following steps:
step 1, aiming at a source code of a bug to be positioned, sorting out a corresponding test case, a bug report and a code modification history record;
step 2, fine-grained bug positioning at statement level is executed;
step 3, performing coarse-grained bug positioning at a file level;
and 4, combining the coarse-grained bug positioning method at the file level with the fine-grained bug positioning method at the statement level to obtain the final position of the software bug.
2. The method according to claim 1, wherein the fine-grained bug positioning adopts four positioning modes, namely a slicing method, a spectrum method, a mixing method and a stack tracking method.
3. The multi-method fusion-based software bug positioning method according to claim 2, wherein the slicing method is to obtain input/output variable information of a source code function by analyzing an AST structure of the source code, create a control flow graph of the source code, and obtain a program path, a branch statement and a branch condition in the source code;
respectively executing the test cases corresponding to the functions of the source code, and recording the path and the execution result of each test case;
and placing the program statements passed by the test case which fails to be executed in the set, screening the program statements related to the abnormal variables to form a dynamic slice, sequentially constructing all the dynamic slices, wherein the statement intersection in the dynamic slices related to the same abnormal variable is the bug position.
4. The multi-method fusion-based software bug positioning method according to claim 2, wherein the frequency spectrum method is to execute the test cases corresponding to the functions of the source code respectively, and record the path and execution result that each test case travels;
and calculating the suspicion degree of each sentence in the program by using a suspicion degree formula by using a spectrum method, then arranging the suspicion degrees in a descending order to give a suspicion degree list, and positioning the bug in a certain sentence according to the suspicion degree.
5. The method as claimed in claim 2, wherein the hybrid method is to reduce the position of the bug into a sentence set by using a slicing method, then calculate the suspicion degree of the sentences in the set by using a spectrum method and sort the sentences, and finally locate the bug.
6. The multi-method fusion-based software bug positioning method according to claim 2, wherein the stack tracing method is to execute the test cases corresponding to the functions of the source code respectively, and record the path and execution result that each test case travels;
when the execution is crashed, the stack trace indicates the current active function call and the point where the crash occurs, and the bug position is traced back according to the result of the stack trace.
7. The multi-method fusion-based software bug positioning method according to any one of claims 2 to 6, wherein a suspicion score is obtained for each sentence by four bug positioning methods, the suspicion scores form a feature vector of the sentence, and an expected value of the feature vector is labeled;
and learning the obtained feature vectors and the expected values by adopting a sequencing learning algorithm LambdaMart, endowing the sentences with a suspicion degree score according to the feature vectors of each sentence by the trained model, and positioning the bugs at the sentence level.
8. The multi-method fusion based software bug positioning method according to claim 1 or 2, wherein the coarse-grained bug positioning method at multiple file levels is specifically:
firstly, extracting words with practical significance from a bug report, a historical modification record and a bug source code file to form a keyword library;
then, counting the word frequency inverse document frequency TF-IDF of the words in the word stock, namely the weight value, wherein the names and the weight values of all the words form the weight vector of the keyword stock;
and finally, representing the similarity between the files by adopting the cosine similarity between the weight vectors of the file keyword libraries, counting the keyword library similarity of each bug report and the historical modification record with which program source code file is the highest, and positioning the bugs in the source code file.
9. A software bug positioning device based on multi-method fusion is characterized by comprising the following steps:
the preprocessing module is used for sorting out corresponding test cases, bug reports and code modification history records aiming at the source codes of the bugs to be positioned;
fine-grained bug positioning, which is used for executing statement-level fine-grained bug positioning;
the coarse-granularity bug positioning module is used for performing coarse-granularity bug positioning at a file level;
and the positioning fusion module is used for combining the coarse-grained bug positioning method at the file level with the fine-grained bug positioning method at the statement level to obtain the final position of the software bug.
10. The multi-method fusion-based software bug positioning device is characterized by comprising a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor executes the program to realize the multi-method fusion-based software bug positioning method as claimed in any one of claims 1-8.
CN202211365276.0A 2022-11-03 2022-11-03 Software bug positioning method based on multi-method fusion Active CN115422092B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211365276.0A CN115422092B (en) 2022-11-03 2022-11-03 Software bug positioning method based on multi-method fusion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211365276.0A CN115422092B (en) 2022-11-03 2022-11-03 Software bug positioning method based on multi-method fusion

Publications (2)

Publication Number Publication Date
CN115422092A true CN115422092A (en) 2022-12-02
CN115422092B CN115422092B (en) 2023-02-07

Family

ID=84207662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211365276.0A Active CN115422092B (en) 2022-11-03 2022-11-03 Software bug positioning method based on multi-method fusion

Country Status (1)

Country Link
CN (1) CN115422092B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325486A1 (en) * 2013-04-28 2014-10-30 International Business Machines Corporation Techniques for testing software
CN106844211A (en) * 2017-01-22 2017-06-13 广东小天才科技有限公司 A kind of method for testing software, apparatus and system
CN109558166A (en) * 2018-11-26 2019-04-02 扬州大学 A kind of code search method of facing defects positioning
CN111753303A (en) * 2020-07-29 2020-10-09 哈尔滨工业大学 Multi-granularity code vulnerability detection method based on deep learning and reinforcement learning
CN114416524A (en) * 2021-12-15 2022-04-29 北京邮电大学 File error positioning method and device
CN114416421A (en) * 2022-01-24 2022-04-29 北京航空航天大学 Automatic positioning and repairing method for code defects
CN114780374A (en) * 2021-12-23 2022-07-22 南京大学 Compiler defect positioning method based on fine-grained optimization option configuration difference
CN114969763A (en) * 2022-06-20 2022-08-30 哈尔滨工业大学 Fine-grained vulnerability detection method based on seq2seq code representation learning

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325486A1 (en) * 2013-04-28 2014-10-30 International Business Machines Corporation Techniques for testing software
CN106844211A (en) * 2017-01-22 2017-06-13 广东小天才科技有限公司 A kind of method for testing software, apparatus and system
CN109558166A (en) * 2018-11-26 2019-04-02 扬州大学 A kind of code search method of facing defects positioning
CN111753303A (en) * 2020-07-29 2020-10-09 哈尔滨工业大学 Multi-granularity code vulnerability detection method based on deep learning and reinforcement learning
CN114416524A (en) * 2021-12-15 2022-04-29 北京邮电大学 File error positioning method and device
CN114780374A (en) * 2021-12-23 2022-07-22 南京大学 Compiler defect positioning method based on fine-grained optimization option configuration difference
CN114416421A (en) * 2022-01-24 2022-04-29 北京航空航天大学 Automatic positioning and repairing method for code defects
CN114969763A (en) * 2022-06-20 2022-08-30 哈尔滨工业大学 Fine-grained vulnerability detection method based on seq2seq code representation learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
常佩佩: "基于代码结构信息的软件缺陷定位方法研究", 《计算机应用研究》 *

Also Published As

Publication number Publication date
CN115422092B (en) 2023-02-07

Similar Documents

Publication Publication Date Title
CN109144882B (en) Software fault positioning method and device based on program invariants
de Souza et al. Spectrum-based software fault localization: A survey of techniques, advances, and challenges
US10289541B2 (en) Source code flow analysis using information retrieval
US10678673B2 (en) Software program fault localization
US8195720B2 (en) Detecting memory leaks
US8527965B2 (en) Layered static program analysis framework for software testing
US20070033576A1 (en) Symbolic execution of object oriented programs with axiomatic summaries
Chen et al. Coverage prediction for accelerating compiler testing
US20080147589A1 (en) Method and System for Optimizing Configuration Classification of Software
US10761961B2 (en) Identification of software program fault locations
US20160342720A1 (en) Method, system, and computer program for identifying design revisions in hardware design debugging
Öztürk Which type of metrics are useful to deal with class imbalance in software defect prediction?
CN114626071B (en) Vulnerability-oriented fuzzy test method, system and medium
CN114936158A (en) Software defect positioning method based on graph convolution neural network
Hirsch et al. Root cause prediction based on bug reports
Falessi et al. The impact of dormant defects on defect prediction: A study of 19 apache projects
US11526429B1 (en) Identifying critical methods and critical paths in software code
CN108563561A (en) A kind of program recessiveness constraint extracting method and system
CN111581086B (en) Hybrid software error positioning method and system based on RankNet
CN111625444B (en) Method and device for positioning program error based on spectrum method
Al-Sabbagh et al. Selective regression testing based on big data: comparing feature extraction techniques
CN115422092B (en) Software bug positioning method based on multi-method fusion
Mao et al. Extracting the representative failure executions via clustering analysis based on Markov profile model
Rohatgi et al. Approach for solving the feature location problem by measuring the component modification impact
Rotaru et al. Test case prioritization based on neural network classification with artifacts traceability

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant