CN115422092B - 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
CN115422092B
CN115422092B CN202211365276.0A CN202211365276A CN115422092B CN 115422092 B CN115422092 B CN 115422092B CN 202211365276 A CN202211365276 A CN 202211365276A CN 115422092 B CN115422092 B CN 115422092B
Authority
CN
China
Prior art keywords
bug
positioning
source code
grained
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211365276.0A
Other languages
Chinese (zh)
Other versions
CN115422092A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

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 method, the coarse-grained bug positioning methods of various file levels are combined with the fine-grained bug positioning method of the statement level, 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 of 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 execution of the test case is crashed, a tester can backtrack stack calling information and find the position where the crash occurs, and a stack tracking method simulates the process to position a 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 of statement level, no coarse granularity bug positioning of file or function level exists, 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.
One aspect of 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 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.
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: the method combines the coarse-grained bug positioning methods of various file levels with the fine-grained bug positioning method of statement level, so that the bug positioning method has a wider effective range. 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
The AST structure of the source code is analyzed, 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 from the control flow graph; and analyzing and obtaining information such as input and output variables of the source code function from the AST of the source code.
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 traveled 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 combining the slicing method and the frequency spectrum 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 for 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 the suspicion degree score is given to each statement. 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. For each feature vector, its expected value is labeled with 0 or 1, where 0 represents that the statement does not contain a bug, and 1 represents that the statement contains a 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 similarity of the vectors, and locating the source code file of the bug
Cosine similarity among weight vectors of the file keyword library 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 and the bug report are determined to have the highest association degree, and the bug is most likely to be in the source code file.
Example (b):
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 to create 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 (4) recording the variable v (i) of the ith exception, and putting 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 number ncs of test cases with normal operation results and covering a certain statement of the program is operated, the number ncf of test cases with wrong operation results and the number nuf of test cases with normal operation results and not covering a certain statement of the program are operated. 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. And tracing according to the result of stack tracking, wherein statements and methods called in the statements which are crashed can be the positions of the bugs, and are the results of positioning the bugs by using the 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 com.file at the 37 th row of the Func1 function, and the suspiciousness scores of the statement by the slicing method, the spectrum method, the mixed method of the slice + spectrum method and the stack tracking method are shown in the following table, so that the feature vector is (0, 0.5486,0.7979, 0), the statement contains the 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 algorithm, the Lambdamart takes the order relation among all the feature vectors into consideration during training, not only the relation between the feature values in the feature vectors and the expected values, and therefore 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 word frequency inverse document frequency (TF-IDF) of the words in the word bank, namely the weight value of the words; finally, the names and weight 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 each historical modification record and the keyword bank of which program source code file is the highest, namely the source code file is determined to be the highest in association 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 invention can be applied to network equipment, and can be realized by software, hardware or a combination of the software and the hardware. Taking a software implementation as an example, as a device in a logical sense, 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 running, where the computer program is used to execute the method determined by the foregoing 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 may be understood and implemented by those of ordinary skill in the art without 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 (9)

1. A software bug positioning method based on multi-method fusion is characterized by comprising the following specific 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, performing statement level fine-grained bug positioning;
and 3, performing coarse-grained bug positioning at a file level, 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;
finally, cosine similarity among weight vectors of the file keyword library is adopted to represent similarity among files, statistics is carried out on similarity between each bug report and historical modification records and which program source code file has the highest keyword library similarity, and bugs are positioned in the source code file;
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 multi-method fusion based software bug positioning method according to claim 1, wherein the fine-grained bug positioning adopts four positioning modes, which are a slicing method, a spectrum method, a mixing method and a stack tracking method.
3. The method as claimed in 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 from the control flow graph;
respectively executing the test cases corresponding to each function 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 software bug positioning method based on multi-method fusion as claimed in claim 2, wherein the mixing method is to narrow down the location 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 position 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. 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;
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;
the coarse-grained bug positioning at the file level specifically comprises the following steps:
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 word frequency inverse document frequency TF-IDF (Trans-frequency-inverse document frequency), namely weight values, of words in the word bank, wherein names and weight values of all the words form a weight vector of the keyword bank;
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. 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-7.
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 CN115422092A (en) 2022-12-02
CN115422092B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493174A (en) * 2023-10-23 2024-02-02 中移互联网有限公司 Test case determination and cloud disk regression test method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123219B (en) * 2013-04-28 2017-05-24 国际商业机器公司 Method and device for testing software
CN106844211A (en) * 2017-01-22 2017-06-13 广东小天才科技有限公司 A kind of method for testing software, apparatus and system
CN109558166B (en) * 2018-11-26 2021-06-29 扬州大学 Code searching method oriented to defect positioning
CN111753303B (en) * 2020-07-29 2023-02-07 哈尔滨工业大学 Multi-granularity code vulnerability detection method based on deep learning and reinforcement learning
CN114416421B (en) * 2022-01-24 2024-05-31 北京航空航天大学 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
CN115422092A (en) 2022-12-02

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
US7797687B2 (en) Parameterized unit tests with behavioral purity axioms
US8195720B2 (en) Detecting memory leaks
US5699507A (en) Method of identifying similarities in code segments
US8046746B2 (en) Symbolic execution of object oriented programs with axiomatic summaries
US8527965B2 (en) Layered static program analysis framework for software testing
US9569207B2 (en) Source code flow analysis using information retrieval
US20160342720A1 (en) Method, system, and computer program for identifying design revisions in hardware design debugging
US10761961B2 (en) Identification of software program fault locations
CN114626071B (en) Vulnerability-oriented fuzzy test method, system and medium
CN115422092B (en) Software bug positioning method based on multi-method fusion
CN115629998B (en) Test case screening method based on KMeans clustering and similarity
CN111581086B (en) Hybrid software error positioning method and system based on RankNet
Madeiral et al. Towards an automated approach for bug fix pattern detection
Hirsch et al. Root cause prediction based on bug reports
Yang et al. A lightweight fault localization approach based on xgboost
Al-Sabbagh et al. Improving test case selection by handling class and attribute noise
Parsa et al. Hierarchy-Debug: a scalable statistical technique for fault localization
CN111625444B (en) Method and device for positioning program error based on spectrum method
CN108874652B (en) Method and device for software self-test evaluation and electronic equipment
Al-Sabbagh et al. Selective regression testing based on big data: comparing feature extraction techniques
CN116126692A (en) Algorithm tool automatic test system and method based on python
Salman Test case generation from specifications using natural language processing
Buzaid et al. Reviewing dynamic feature location techniques: Basic elements and challenges

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