Font Size: a A A

Research On Static Detection And Location Method Of Software Sequencing Constraint Defects

Posted on:2022-03-29Degree:MasterType:Thesis
Country:ChinaCandidate:X Y ChengFull Text:PDF
GTID:2518306317995429Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Software defects are errors,faults,or flaws in software system that causes it to produce an incorrect or unexpected behavior,which will seriously affect the reliability and quality of the software.Finding and locating these hidden defects as soon as possible is crucial to obtaining a high-quality and reliable software system.Among many software defects,the sequencing constraint defect is one of the common software faults that affect the quality and reliability of the software.Sequencing constraint are restrictions on the order of operations(statements,methods,or calls)during program execution.It would trigger a software failure if the sequencing constraint is violated during a software execution,and it is a common defect in software systems.However,sequencing constraint defect is hard to be detected and located during in-house testing because of it is specification-related.Thus,there is an urgent need for an effective method for detecting and locating sequencing constraint defects.This paper focuses on how to detect and locate software sequencing constraint defects.Firstly,the software sequencing constraint defect is detected by static detection method.Then,a sequence mining method is used to locate the source of sequencing constraint defects.The first piece of work in this article enables static detection to report possible sequencing-constraint defects before the software is run;The second helps developers find the location of sequencing constraint defects in the software quickly and efficiently by using software runtime information.The main work of this paper is as follows:1.Firstly,the related research on software defect detection and software defect localization is described in detail;then the characteristics of sequential constraint defects are introduced,and the research difficulties of sequential constraint defects are explained;finally,the static detection method and sequence mining technology are summarized.2.Aiming at the problem of software sequencing constraint defects detection,this paper proposes a static detection method.In our approach,first,we formalize the sequencing constraints as regular expressions extracted from software specification,and define regular expression of defect patterns that violate sequencing constraints.Then,the software is converted into a control flow graph(CFG),and the CFG is labeled by the constraint information to generate a sequencing-constraint control flow graph(SC-CFG)which is converted into a path expression using algebraic representation.Finally,a suspiciousness defect report is outputted by pattern matching which comparing defect patterns with string patterns extracted by the path expression.The experiments are performed to validate the effectiveness of our approach.The evaluation results show that our approach is effective to detect sequencing constraint defects before software testing.3.Aiming at the problem of software sequencing constraint defects localization,this paper proposes a location method based on sequence mining.Firstly,the execution sequence of test cases is collected and the execution sequence of failed test cases is trimmed.Then,the sequence mining algorithm is used to mine the frequent sequences in the failed sequences,and each frequent sequence is sorted according to the suspect degree formula.Finally,the sorted frequent sequence is submitted to the debugger to assist the to locate the sequence constraint defect.The experimental results show that this method can help the debugger to find the location of sequential constraint defects quickly.
Keywords/Search Tags:Sequencing constraint defects, Control flow graph, Static detection, Sequence mining, Defect localization
PDF Full Text Request
Related items