CN108959090A - Influence analysis device between debugging behavior of developer and software debugging - Google Patents
Influence analysis device between debugging behavior of developer and software debugging Download PDFInfo
- Publication number
- CN108959090A CN108959090A CN201810728853.5A CN201810728853A CN108959090A CN 108959090 A CN108959090 A CN 108959090A CN 201810728853 A CN201810728853 A CN 201810728853A CN 108959090 A CN108959090 A CN 108959090A
- Authority
- CN
- China
- Prior art keywords
- debugging
- developer
- software
- program
- information
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000000694 effects Effects 0.000 claims abstract description 4
- 238000011160 research Methods 0.000 claims description 10
- 238000002474 experimental method Methods 0.000 claims description 8
- 238000001228 spectrum Methods 0.000 claims description 8
- 230000003542 behavioural effect Effects 0.000 claims description 7
- 239000000523 sample Substances 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims 1
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000003860 storage Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 238000010219 correlation analysis Methods 0.000 abstract description 6
- 238000013522 software testing Methods 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 18
- 230000007257 malfunction Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- 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/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a software debugging analysis method based on developer behavior data, which analyzes the influence effect generated by software debugging from three aspects of the experience level of a developer, the program complexity and the auxiliary debugging technology used by the developer, wherein for the same program, the attention of the developer to a variable and a statement is generally high during debugging, in order to explore other factors influencing the software debugging, the method carries out correlation analysis on debugging information and provides key variables, key statements and the like influencing the software debugging efficiency, wherein the auxiliary debugging technology used by the developer is a positioning technology SBF L based on program spectrum, the judgment of the program complexity utilizes the complexity in software testing to classify the programs according to the difficulty level.
Description
Technical field
The present invention relates to the analysis method of software debugging, mainly developer debugs the influence between behavior and software debugging
Analytical equipment.
Background technique
Research report according to univ cambridge uk's publication in 2013 shows that whole world industry spends in software debugging every year
On expense be up to 312,000,000,000 dollars or so.Software debugging includes four core works: fault discovery (fault
Detection), fault location (fault localization), failure understand that (fault comprehension) and failure are repaired
Multiple (fault fixing).Wherein fault location is the highest work of cost in software debugging process.
Traditional fault location is usually carried out by manual program debugging, but manual program debugging is time-consuming and laborious.Mirror
In this, researcher both domestic and external competitively expands research to automated software fault location, these researchs are typical for base
In the fault location research of program frequency spectrum (statistical information for referring to program execution characteristics), this kind of research, which specifically includes that, to be based on
The Fault Locating Method of sentence or statement block, the Fault Locating Method based on predicate, the fault location side based on method or function
Method and the Fault Locating Method that chain is used based on definition-.The fault location report that Fault Locating Method based on program frequency spectrum provides
It is usually the collating sequence of the program unit of suspected malfunctions in announcement.
But the fault locating program method based on program frequency spectrum suffers from a problem that: developer is obtaining fault location
After report, often it is difficult to immediately find failure and repairs, even if under the program mal only situation caused by single sentence, one
As be also difficult to understand the generation of failure by checking the sentence.In addition, positioning reporting and developer that existing method obtains exist
Failure understands inconsistent with information needed in repair process.The root for the above problem occur is existing automation fault location side
Method is based on perfect failure and understands hypothesis, it may be assumed that developer is lacking the understanding to suspicious sentence context, by observing suspicious sentence
Collection is it may determine that haveing the sentence comprising failure and fault restoration can be effectively performed.Parnin and Xiaoyuan Xie et al.
Understand perfect failure and assume to propose query: developer just knows that suspicious sentence set, is difficult to understand for failure context and suitable
Benefit carries out fault restoration.They even point out that not there is perfect failure understands.
A kind of software debugging analysis method based on developer's behavioral data has been researched and proposed for this, it is intended to by split
Originator analyzes it usually in the collection of software debugging data, so that the relevant information in software debugging process is found,
The foundation of experimental demonstration is provided to further increase the automatization level of software debugging.
Summary of the invention
The present invention is to be analyzed based on developer's behavior software debugging, and to be solved is to the developer being collected into
Behavioural information carries out correlation analysis, and research can be to the factor that software debugging has an impact in the debugging behavior of developer.
Technology of the invention solves the problems, such as: the debugging behavior generated for developer, analyzes Debugging message, research and development
The influence that person's behavior generates software debugging.
Technical solution of the invention: correlation analysis is done to the developer's software debugging behavioural information monitored.
It tests Eclipse and monitors plug-in unit, the debugging behavior of developer is monitored, and by information preservation in database
In.Behavior of the developer in software debugging process is that developer is familiar with software, failure understands and the tasks such as fault restoration
A kind of reaction, therefore by the behavioral data of analysis developer, developer can be analyzed to a certain extent in debugging process
Information of interest.Developer's behavior that this method provides is defined as follows:
Define 1. developer's behaviors (Developer Behavior, DB)
Developer's behavior refers to the behavior that developer shows in software debugging, can be as follows with formalization representation:
DB={ D1, D2 ... Di ... Dn } (1≤i≤n)
Wherein Di is relevant information of the developer in a software debugging, can be indicated are as follows:
Di={ Developer, Project, Class, Method, StartTime, EndTime, Breakpoi nt }
Developer refers to developer;
Project refers to the project name where the software of debugging;
Class refers to class name;
Method refers to method name;
At the beginning of StartTime refers to debugging;
EndTime refers to the end time of debugging;
Breakpoint refers to the Debugging message of some breakpoint, can indicate are as follows:
Breakpoint=Breakpoint_line, Breakpoint_expression, Breakpoint _
lastline};
Breakpoint_line refers to the line number where breakpoint;
Breakpoint_expression refers to the expression formula where breakpoint;
Breakpoint_lastline refers to the row where the last one breakpoint in current debugging process.
In the method, with cyclomatic complexity come the complexity of measurement procedures.In the concept of software test, cyclomatic complexity is used
It measures the complexity of a module decision structure, independent existing number of passes is shown as in quantity, i.e., reasonable pre- mistake proofing
The minimum path debugging tested needed for accidentally.The calculating of cyclomatic complexity is built upon on the basis of controlling stream graph, specific to calculate
Process is as follows:
(1) cyclomatic complexity of structured program is defined: V (G)=9 formula of E-N+2P (1);
V (G) watch rim complexity, E indicate the quantity on the side of controlling stream graph, and N indicates the number of nodes of controlling stream graph.P indicates control
The part being connected in flow graph processed, because controlling stream graph is all connection, P 1.
(2) cyclomatic complexity of strongly connected graph calculates: V (G)=E-N+P formula (2)
(3) calculating of the cyclomatic complexity of predicate node:
Predicate node is single condition: can directly be calculated by (1) formula
Predicate node is eligible situation:, should be by eligible decomposition when decision condition is eligible in program
For single condition, after constituting controlling stream graph, cyclomatic complexity calculating is carried out.It in an experiment will be according to the height of cyclomatic complexity to journey
Sequence difficulty is grouped.
In order to probe into the factor of other influences software debugging efficiency, this method is right from existing malfunction test information
Software debugging is analyzed, and by relativity measurement, is calculated developer and is checked the similitude between variable, sentence in debugging.
Program statement is decomposed into the vector for being directed toward sentence variable by this method first, and debugging behavior message breakpoint row, is looked into breakpoint expression
Characteristic value as vector is participated in calculating by variable seen etc., and each vector is then regarded as a point in higher dimensional space, into
And the similitude between vector is indicated using certain distance, the vector property being closer is more similar, apart from farther away vector
Then differ greatly.This method is divided by variable and variable the place sentence for being directed toward similarity vector, and similitude is high
Variable and sentence are defined as key variables, sentence in program.By debugging these key messages, event can be faster positioned
Barrier, to improve software debugging efficiency.
Compared with the prior art, the invention has the advantages that:
1) influence for the debugging behavior of developer's generation to software debugging efficiency, proposes based on developer's behavior
Software debugging analytical equipment;
3) angle analyzed from the monitoring data being collected into carries out the factor for influencing software debugging efficiency
Analysis proposes experience level, program complexity and the influence using external debugging technique to software debugging of developer,
And feature is debugged based on three of the above, probe into the influence that other factors generate software debugging.
Detailed description of the invention
Fig. 1 is the software debugging analytical framework based on developer's behavioral data.
Specific embodiment
Below in conjunction with attached drawing, the present invention is described in further detail.
As shown in Figure 1, the present invention provides a kind of software debugging analytical equipments based on developer's behavior.First against every
Each program of one developer debugging is monitored debugging line on backstage using Eclipse plug-in unit, and information is protected
It deposits in the database.Later, it needs to compare and analyze for different types of programmer.This method is mainly from three developers
The effect of software debugging is analyzed in terms of behavior, is the experience level of developer, program complexity and use respectively
External debugging technique.The judgement of experience level is the programming experience by developer as foundation, and program complexity is multiple by enclosing
For miscellaneous degree to calculate, the debugging ancillary technique of this method research is the fault location technology based on program frequency spectrum.In the course of the research
It was found that when debugging the failure of same program there is the phenomenon relatively high to the attention rate of identical variable, this method pair in developer
Debugging message carries out correlation analysis.In vector space model, two sentence s1And s2Between content related coefficient Sim
(s1, s2) cosine value of angle indicates between common vector, formula are as follows:
Wherein, pk(si)、pk(sj) respectively indicate sentence s1And s2The weight of k-th of characteristic item, 1≤k≤N.Similar system
Numerical value more levels off to 1, and it is more similar to represent two sentences;Similarity factor value more levels off to 0, and it is more dissimilar to represent two sentences, this
Sample can portray the similitude between program statement, variable using similarity factor value.
After correlation analysis, it is found that variable, sentence that true fault is generated in program are all leaned in relevance rank
Preceding position, this method propose that the definition of key variables, key sentence passes through from the malfunction test information of existing program
The correlation analysis means of this method obtain facilitating the key message of failure understanding, and utilize these key messages, reach and mention
The purpose of high software debugging efficiency.
Claims (2)
1. a kind of developer debugs the impact analysis device between behavior and software debugging, it is characterised in that: the device includes number
According to analysis module and experiment module;
Data analysis module:
The debugging behavioural information being collected into is analyzed first, from the experience level of developer, program complexity and is opened respectively
Originator using assistant adjustment technology three for the use of to software debugging generate impact effect analyze;Wherein, developer makes
What assistant adjustment technology was chosen is at present in one of most promising technology in software debugging field: based on determining for program frequency spectrum
Position technology SBFL.Other than above 3 points of obvious features, by analysis Debugging message discovery, identical program mal is debugged
When developer debugging action trail there are certain relevance, this method next probe into variable paid close attention to when debugging etc. other
It will affect the factor of software debugging.Wherein, breakpoint information can obtain developer in debugging process after by breakpoint analysis
Interrupt number and the number of iterations a little.Debug time information can obtain debugging process and be spent after debug time analysis
The time taken, wherein process the time it takes is divided into the debugging successful time and debugs the unsuccessful time.Variable information exists
After analyzing by key variables, the variable ranking that developer pays close attention in debugging process is obtained.Execution track information is passing through base
After the trace information analysis of program frequency spectrum, the suspicious degree list of sentence based on program frequency spectrum is obtained;
Experiment module:
This research need to carry out 4 groups of experimental verifications altogether, respectively from the experience level of developer, program complexity and use SBFL skill
Art angle probes into the influence to software debugging;
First group of experiment probes into the influence to software debugging efficiency from the experience level angle of developer, needs to test in experiment
Empirically level is grouped object developer;Wherein, programming experience of the experience level with reference to developer;
Influence of second group of Experimental Research program complexity to software debugging efficiency, utilizes the concept of cyclomatic complexity in software test
Carry out the labyrinth of decision procedure, and experimental arrangement is grouped according to the complexity marked off;
In order to study influence of the assistant adjustment technology to debugging efficiency, the experiment of third group is carried out, developer is allowed to use SBFL tune
Examination technology debugs experimental arrangement, observes its debugging effect;
On the basis of 4th group of experiment is three groups of experiments before the study, and lacking for the fault location technology based on program frequency spectrum
It falls into, probes into whether there is also the factors of other influences software debugging, and reach raising software debugging efficiency by changing the factor
Purpose.
2. developer according to claim 1 debugs the impact analysis device between behavior and software debugging, feature exists
In: all behavioural informations of current developer's debugging routine are obtained first with Ecipse plug-in unit, and these information storages are arrived
In the action_info table and variable table of MySQL database;Wherein, stored in action_info table be and debugging phase
All information closed mainly include User ID, user's MAC address, the class name of debugging routine, the breakpoint row of setting, breakpoint row table
Up to formula etc..Second table variable has recorded the relevant information that developer checks variable in debugging process, including variable name
Title, value of variable last time etc..After obtaining above- mentioned information, so that it may be compared point for different types of developer
Analysis ultimately produces developer and debugs behavior analysis report.This report is parsed, is proposed respectively from the experience water of developer
Influence of the three aspect researchs of flat, program complexity and assistant adjustment technology to software debugging, and other are analyzed on this basis
Influence the factor of software debugging.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810728853.5A CN108959090A (en) | 2018-07-05 | 2018-07-05 | Influence analysis device between debugging behavior of developer and software debugging |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810728853.5A CN108959090A (en) | 2018-07-05 | 2018-07-05 | Influence analysis device between debugging behavior of developer and software debugging |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108959090A true CN108959090A (en) | 2018-12-07 |
Family
ID=64485765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810728853.5A Pending CN108959090A (en) | 2018-07-05 | 2018-07-05 | Influence analysis device between debugging behavior of developer and software debugging |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959090A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (en) * | 2008-02-02 | 2008-07-30 | 南京大学 | Method for locating software unsoundness base on execution track block semblance |
CN105159822A (en) * | 2015-08-12 | 2015-12-16 | 南京航空航天大学 | Software defect positioning method based on text part of speech and program call relation |
CN106708729A (en) * | 2016-11-15 | 2017-05-24 | 东软集团股份有限公司 | Code defect predicting method and device |
-
2018
- 2018-07-05 CN CN201810728853.5A patent/CN108959090A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (en) * | 2008-02-02 | 2008-07-30 | 南京大学 | Method for locating software unsoundness base on execution track block semblance |
CN105159822A (en) * | 2015-08-12 | 2015-12-16 | 南京航空航天大学 | Software defect positioning method based on text part of speech and program call relation |
CN106708729A (en) * | 2016-11-15 | 2017-05-24 | 东软集团股份有限公司 | Code defect predicting method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gurbuz et al. | Model-based testing for software safety: a systematic mapping study | |
Wardat et al. | Deeplocalize: Fault localization for deep neural networks | |
Mao et al. | Slice-based statistical fault localization | |
Abreu et al. | Simultaneous debugging of software faults | |
Küçük et al. | Improving fault localization by integrating value and predicate based causal inference techniques | |
Xie et al. | Checking inside the black box: Regression testing by comparing value spectra | |
Bartocci et al. | Localizing faults in Simulink/Stateflow models with STL | |
Ang et al. | Revisiting the practical use of automated software fault localization techniques | |
Najafi et al. | Bisecting commits and modeling commit risk during testing | |
CN110515826A (en) | A kind of software defect positioning method based on number frequency spectrum and neural network algorithm | |
Scanniello | An investigation of object-oriented and code-size metrics as dead code predictors | |
Ajibode et al. | Evolving suspiciousness metrics from hybrid data set for boosting a spectrum based fault localization | |
Saadatjoo et al. | Test-data generation directed by program path coverage through imperialist competitive algorithm | |
Alipour | Automated fault localization techniques: a survey | |
Wong et al. | Software fault localization: An overview of research, techniques, and tools | |
Abreu et al. | Exploiting count spectra for bayesian fault localization | |
Bartocci et al. | Search-based testing for accurate fault localization in CPS | |
JP2019194818A (en) | Software trouble prediction device | |
Chen et al. | UnitFL: A fault localization tool integrated with unit test | |
Perez et al. | A theoretical and empirical analysis of program spectra diagnosability | |
Lahtinen | Automatic test set generation for function block based systems using model checking | |
Abuasad et al. | Evaluating the correlation between software defect and design coupling metrics | |
Saxena et al. | Software Fault Localization: Techniques, Issues and Remedies. | |
Vierhauser et al. | Evolving systems of systems: Industrial challenges and research perspectives | |
CN108959090A (en) | Influence analysis device between debugging behavior of developer and software debugging |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181207 |
|
WD01 | Invention patent application deemed withdrawn after publication |