CN105511869A - Demand tracking system and method based on user feedback - Google Patents

Demand tracking system and method based on user feedback Download PDF

Info

Publication number
CN105511869A
CN105511869A CN201510866642.4A CN201510866642A CN105511869A CN 105511869 A CN105511869 A CN 105511869A CN 201510866642 A CN201510866642 A CN 201510866642A CN 105511869 A CN105511869 A CN 105511869A
Authority
CN
China
Prior art keywords
goods
software
candidate
user
software product
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
Application number
CN201510866642.4A
Other languages
Chinese (zh)
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.)
Fujian University of Technology
Original Assignee
Fujian University of Technology
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 Fujian University of Technology filed Critical Fujian University of Technology
Priority to CN201510866642.4A priority Critical patent/CN105511869A/en
Publication of CN105511869A publication Critical patent/CN105511869A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention disclose a demand tracking system and method based on user feedbacks; the system comprises a monitor module, an analysis module, a recommend module and a maintenance module; the monitor module is used for receiving input software products and receiving user provided feedback information, wherein the feedback information comprises a preference cluster and a disgust cluster; the analysis module is used for analyzing the software products so as to obtain user focused candidate track relation features; the recommend module is used for calculating similarities between software products, preference cluster and disgust cluster, thus selecting candidate software product with similar preference cluster different disgust cluster, and recommending the candidate software product to a user; the maintenance module is used for storing a user operation history record. The product relation information is more comprehensive, and comprises grammar, meaning and position association; a positive-negative feedback mechanism is added so as to improve final recommend list accuracy; by using an iteration exploration process, the developing personnel can improve developing practices.

Description

A kind of requirement tracking system and method based on user feedback
Technical field
The invention belongs to tracking of information field, particularly, the present invention relates to a kind of requirement tracking system and method based on user feedback.
Background technology
Terminological interpretation:
Software product/goods: the various software products occurred in software life-cycle are called software product or goods, comprising design documentation, code, test case etc.
Requirement tracking: a kind of ability describing and follow the tracks of whole demand life cycle (comprising forward and backward).
Sets of preferences (PreferenceSet, PS): in task implementation, oneself can be thought that the software product relevant to task adds this set by developer, thus user preference information can be obtained according to the general character of goods in set, and then recommend more software product similar to this set.
Detest set (AversionSet, AS): in task implementation, oneself can be thought that incoherent software product adds this set with task by developer, thus information can be detested according to the general character acquisition user of goods in set, and then recommend more software product dissimilar with this set.
TF-IDF (termfrequency – inversedocumentfrequency) is a kind of conventional weighting technique for information retrieval and data mining, in order to assess the significance level of a words for a copy of it file in a file set or a corpus.
Demand tracking is one affects software development and maintenance, and the key factor of final software production quality.If have ignored requirement tracking in SDLC, or employ imperfect, inconsistent requirement tracking relation, will the decline of mass of system be caused and repeatedly revise, thus improve time and the cost of system development.In addition, in order to ensure the reliability of software in the safe system that concerns such as traffic system, space flight and aviation system, many management organizations all mandatory requirement software mechanism set up requirement tracking relation in software development process.Road vehicle-Functional Safety Standard ISO26262:2011 chapters and sections describe demand management and state, wherein mention, " must be able to mutually review between the security requirement of different levels ".The DO-178C standard criterion requirement of US Federal Aviation Administration, each stage on stream, " software developer must prove to design the trackability between demand ".
In order to complete requirement tracking task, first developer needs to analyze various software product.But, there is the incidence relations such as a large amount of complicated dependence (such as calling, access and succession) and relevant (such as content is relevant relevant with position) between software product.If do not have good instrument support, developer often must not only pay close attention to minority incidence relation, and only explore a small amount of he think the goods that most probable is relevant to demand.Even if successfully find a part of relevant to demand goods, developer also probably goes to analyze a large amount of incoherent goods along the incidence relation of mistake.Although similar JQuery, Ferry and Suade supervisor explores instrument can improve the efficiency that developer analyzes goods.But they cannot process other a large amount of software product except code.
Tracking conventional at present has:
1) based on the requirement tracking method of information retrieval
The tracking relationship that requirement tracking method based on information retrieval utilizes the similarity between text to determine between demand and software product.Requirement documents and software product are all considered as document to be retrieved by these class methods, then calculate the similarity between different software goods, for the document of similarity higher than certain threshold value, just think to there is incidence relation between them.Its advantage of dynamic mode based on information retrieval is that method is simple and without the need to manual intervention, just can be automatically associated by the similarity between text.Its shortcoming is this kind of mode is calculate similarity by the index term (Term) in demand and software product, if index term cannot mate, even if so the meaning of two index term descriptions is identical or close, the similarity finally calculated also can be very low, thus cannot set up tracking relationship.
2) based on the requirement tracking method of performance analysis
Based on the requirement tracking method of performance analysis by catching and the execution track of analytic system, identifying that disparate modules and system realize the dependence between (as code), then utilizing these dependences generation tracking relationship.Typically, developer needs to design multiple scene relevant to specific needs in advance, then performs scene and collect to perform trace information.The advantage of this requirement tracking method is that can get rid of a large amount of and that specific needs is irrelevant system fast realizes module (as the class in code or method).Its shortcoming is the quality that the validity of method depends critically upon Scenario Design, and is difficult to design only relevant to certain demand scene in real world applications.
The tracking relationship that requirement tracking method based on information retrieval utilizes the similarity between text to determine between demand and software product.Requirement documents and software product are all considered as document to be retrieved by these class methods, then calculate the similarity between different software goods, for the document of similarity higher than certain threshold value, just think to there is incidence relation between them.Its advantage of dynamic mode based on information retrieval is that method is simple and without the need to manual intervention, just can be automatically associated by the similarity between text.Its shortcoming is this kind of mode is calculate similarity by the index term (Term) in demand and software product, if index term cannot mate, even if so the meaning of two index term descriptions is identical or close, the similarity finally calculated also can be very low, thus cannot set up tracking relationship.
3) based on the requirement tracking method of performance analysis
Based on the requirement tracking method of performance analysis by catching and the execution track of analytic system, identifying that disparate modules and system realize the dependence between (as code), then utilizing these dependences generation tracking relationship.Typically, developer needs to design multiple scene relevant to specific needs in advance, then performs scene and collect to perform trace information.The advantage of this requirement tracking method is that can get rid of a large amount of and that specific needs is irrelevant system fast realizes module (as the class in code or method).Its shortcoming is the quality that the validity of method depends critically upon Scenario Design, and is difficult to design only relevant to certain demand scene in real world applications.
There is some deficiency following in above-mentioned existing technology:
1. prior art provides the requirement tracking settled at one go mode mostly.After the goods that developer inputs keyword or selects certain relevant to demand, prior art just directly returns final requirement tracking relation according to various calculating formula of similarity.In the process, developer cannot get involved the generative process of requirement tracking relation, more cannot revise the mistake (as omitted correct tracking relationship or comprising the tracking relationship of mistake) that may occur in generative process.
2. developer often needs to attempt through exploration repeatedly the understanding that could deepen system, and improves the validity explored, and then sets up the tracking relationship more accurately between goods.Existing most of technology does not provide this iterative exploration to support, thus cannot give full play to the effect of developer.
3. developer is in the process explored, and may be difficult to locate the software product relevant to demand exactly, but they can comparatively easily and exactly identify the incoherent software product with demand.And existing technology does not consider this negative-feedback information that developer provides, and then have impact on the validity of requirement tracking instrument.
Be easy to problems such as makeing mistakes for face during manual creation requirements traceability matrix dull, consuming time, researchist proposes a large amount of robotization requirement tracking method.But regrettably, there is not the robotization requirement tracking method that can create out enough requirements traceability matrixs accurately up to now.And for the project that safety concerns, no matter whether use robotization requirement tracking method, developer manually must check the correctness of final traceback matrix.Therefore propose a kind of requirement tracking method that can make full use of developer's feedback information and there is very important practical value and realistic meaning.
Summary of the invention
For solving the problem, the invention provides a kind of requirement tracking system and method based on user feedback.Goods relevant information used in the present invention is more comprehensive, not only has grammer, the semantic association of position in addition; Add positive and negative feedback mechanism, thus improve the accuracy of final recommendation list; Use iterative heuristic process, developer progressively can improve their exploration practice.
For reaching above-mentioned technique effect, technical scheme of the present invention is:
Based on a requirement tracking system for user feedback, comprise and monitoring module, analysis module, recommending module and maintenance module are set; Wherein, monitoring module for receiving the software product relevant to requirement tracking task of input, and receives the feedback information that when tracing task carries out, user provides, and described feedback information comprises sets of preferences and detests set; Sets of preferences refers to the set that the software product relevant to requirement tracking task is formed, and detests set and refers to and the set that the incoherent software product of requirement tracking task is formed; Analysis module is used for analyzing the software product that feedback information and monitoring module receive, and draws candidate's tracking relationship feature that user pays close attention to; Recommending module is used for according to candidate's tracking relationship feature calculation candidate software goods and sets of preferences and detest the similarity gathered, and recommending module is selected similar to sets of preferences and gathered dissimilar candidate software goods and recommend user with detesting; Maintenance module is gathered with detesting for the sets of preferences of the operation historical record and setting of preserving user.
Based on a requirement tracking method for user feedback, comprise the steps:
Step 10) to monitoring module Input Software goods, the method to monitoring module Input Software goods is the URI of direct Input Software goods and/or Input Software goods, the URI of software product and software product is one or more; Monitoring module preserve input software product, analysis module according to the similarity between candidate software goods and the software product of input, to user's recommended candidate requirement tracking relation;
Step 20) monitoring module collect user feedback information and feedback information is sent to analysis module; Analysis module is according to feedback information calculated candidate software product and sets of preferences and detest the similarity gathered, thus makes monitoring module recommend more to meet the desired tracking relationship; Repeat step 20) until complete requirement tracking task;
Step 30) complete requirement tracking task after, maintenance module preserves the feedback information of user automatically.
Further improvement, is characterized in that, described step 10) comprise the steps:
Step 11) user interface that provided by system, select the input mode of software product to be the URI of reading software goods or the text of direct Input Software goods; Get the URI of software product if select to read, system provides URI input window, and after completing input operation, system reads software product corresponding to URI automatically, obtains the software product of input; If select direct Input Software goods, system provides content input window and obtains the software product of input;
Step 12) monitoring module and maintenance module read and preserve the software product of input, when the direct Input Software goods of user and when not having import file name, maintenance module is according to the naming rule spanned file name of predefined;
Step 13) complete the input of software product after, the software product of input is also sent to analysis module by the software product that monitoring module preserves input;
Step 14): analysis module is based on the calculating formula of similarity of systematic conservation, calculate the similarity between the software product of input and candidate software goods, to low, candidate software goods are sorted from height according to similarity, and similarity is recommended user higher than the candidate software goods of threshold value.
Further improvement, described step 20) comprise the steps:
Step 21) in requirement tracking tasks carrying process, if think, the candidate software goods that monitoring module is recommended are relevant to the software product of input, then the candidate software goods that monitoring module is recommended are added sets of preferences; The candidate software goods that monitoring module is recommended if think are relevant to the software product of input uncorrelated, then the candidate software goods that monitoring module is recommended are added and detest set, sets of preferences and the transition information that detest is gathered are preserved by monitoring module, and the transition information that sets of preferences and detest are gathered is sent to analysis module;
Step 22) analysis module is according to sets of preferences and detest the transition information gathered, recalculate candidate software goods and sets of preferences and detest the similarity gathered, concrete grammar is: analysis module is according to the position degree of correlation, the dependence degree of correlation and semantic relevancy calculated candidate software product and sets of preferences and detest the similarity gathered;
The position degree of correlation utilizes the physical location information of software product to carry out the similarity of software for calculation goods; The computing formula of the position degree of correlation is:
R l o c ( m 1 , m 2 ) = l e n ( r , a ) l e n ( r , a ) + M a x ( l e n ( a , c 1 ) , l e n ( a , c 2 ) )
Wherein, m 1represent a software product, m 2represent another software product; R loc(m 1, m 2) represent m 1and m 2between the position degree of correlation; Len (m 1, m 2) then represent from m 1to m 2the length of minimal path; c 1represent m 1the catalogue at place; c 2respectively and m 2the catalogue at place; R represents m 1and m 2root directory; A represents c 1and c 2nearest public parent directory; (r, a) represents the length of the minimal path from r to a to len; Len (a, c 1) represent from a to c 1the length of minimal path; Len (a, c 2) represent from a to c 2the length of minimal path; Max (len (a, c 1), len (a, c 2)) represent from len (a, c 1), len (a, c 2) in get maximal value;
Rely on the similarity that the degree of correlation utilizes the syntactic information of goods to come between software for calculation goods; The computing formula relying on the degree of correlation is:
R dist(m 1,m 2)=ac length
Wherein, R dist(m 1, m 2) represent m 1and m 2the dependence degree of correlation; Length represents m 1method call relation and m 2method call relation between call distance; Ac represents attenuation coefficient;
Semantic relevancy utilizes the semantic information of software product to calculate the correlativity between different software goods; The identifier existed in software product text and annotation are converted into text document; Build TF-IDF vector space V by the set of words in text document, the set of words in each text document is considered as a vector of a TF-IDF; Any one method is all expressed as a vector in V; Wherein, a jth software product is expressed as D j=(d 1, j, d 2, j..., d i,jd m,j) t, wherein, d i,jrepresent word w iat software product D jthe number of times of middle appearance, m represents that the dimension of TF-IDF vector space V is semantic; T representing matrix transposition; The computing formula of the degree of correlation is:
R l e x ( m 1 , m 2 ) = Σ 1 n D m 1 [ i ] × D m 2 [ i ] Σ 1 n D m 1 [ i ] 2 × Σ 1 n D m 2 [ i ] 2
Wherein, R lex(m 1, m 2) represent m 1and m 2the dependence degree of correlation; N represents the scale of vector space V, D m1[i] represents m 1in the value of the i-th dimension; D m2[i] represents m 2in the value of the i-th dimension;
The computing formula of similarity is:
R ( m , S ) = R l o c ( m , S ) + R d i s t ( m , S ) + R l e x ( m , S ) 3
Wherein m represents certain candidate software goods, and S represents sets of preferences or detests set; R (m, s) represents the degree of correlation of m and S; R loc(m, S) represents the position degree of correlation or the candidate software goods of candidate software goods and sets of preferences and detests the position degree of correlation gathered; R dist(m, S) represents the dependence degree of correlation or the candidate software goods of candidate software goods and sets of preferences and detests the dependence degree of correlation gathered; R lex(m, S) represents semantic relevancy or the candidate software goods of candidate software goods and sets of preferences and detests the semantic relevancy gathered;
Step 23) obtain the similarity R (m of all candidate software goods and sets of preferences in system, PS) and all candidate software goods with detest the similarity R (m that gathers, AS), after, system meets the probable value P (m) of user's expectation according to each candidate software goods of following formulae discovery;
P(m)=R(m,PS)-R(m,AS);
Step 24) each candidate software goods are met the probable value P (m) that user expects and carry out from large to little sequence by system, and the candidate software goods therefrom choosing front x recommend user, x represents the threshold value of setting.
Further improvement, x=10.
Further improvement, described step 30), comprise the steps:
Step 31) maintenance module presses the information that specified format derives all software product in sets of preferences, to obtain final requirement tracking result;
Step 32) maintenance module sets of preferences that user is arranged and detest the individual operation historical record that set is saved to user;
Step 33: maintenance module is preserved each candidate software goods and sets of preferences and detested the similarity gathered, and when candidate software goods occur to change, automatically upgrade similarity according to changed content;
Step 34) to log in or when performing new requirement tracking task, system, according to the operation historical record preserved and the similarity of candidate software goods calculated, recommends the candidate software goods set that may meet user's needs as user.
Advantage of the present invention:
1. can recommend more preferably candidate's goods according to field feedback.System will respond to the feedback information that developer provides in heuristic process, and upgrades recommendation set.Developer can participate in and revise goods recommendation process, and then effectively improves the accuracy of recommendation results.
2. in task implementation, add positive and negative feedback mechanism.The feedback information that system provides according to user, utilizes " sets of preferences " and " detest set " two contents, revise content recommendation with positive and negative feedback mechanism.
3. preferably the task that human and computer should complete is distributed, given full play to the subjective initiative of people.In the present invention, developer only need complete some cannot by machine or the irreplaceable work of algorithm, the such as correlativity etc. of confirmation goods and demand.On the other hand, the present invention allows machine complete to be difficult in a large number being completed by people of task, such as, calculate goods similarity, Dynamic recommendation candidate goods etc.In this way, not only can the validity of method of assuring, and can guarantee in task implementation, developer does not need to drop into too much energy.
Accompanying drawing explanation
Fig. 1 is method relevant to feature AutosaveturnedoffforUntitledDocuments in embodiment 4.
Embodiment
Below in conjunction with accompanying drawing, the specific embodiment of the present invention is described in detail.
Embodiment 1
Based on a requirement tracking system for user feedback, comprise and monitoring module, analysis module, recommending module and maintenance module are set; Wherein, monitoring module for receiving the software product relevant to requirement tracking task of input, and receives the feedback information that when tracing task carries out, user provides, and described feedback information comprises sets of preferences and detests set; Sets of preferences refers to the set that the software product relevant to requirement tracking task is formed, and detests set and refers to and the set that the incoherent software product of requirement tracking task is formed; Analysis module is used for analyzing the software product that feedback information and monitoring module receive, and draws candidate's tracking relationship feature that user pays close attention to; Recommending module is used for according to candidate's tracking relationship feature calculation candidate software goods and sets of preferences and detest the similarity gathered, and recommending module is selected similar to sets of preferences and gathered dissimilar candidate software goods and recommend user with detesting; Maintenance module is gathered with detesting for the sets of preferences of the operation historical record and setting of preserving user.
Embodiment 2
Based on a requirement tracking method for user feedback, specific as follows:
Step 10: when performing requirement tracking task, first developer needs to input one or more URI with task correlated product or content.After developer completes input operation, monitoring module will preserve the product information inputted, and startup analysis module, and then analysis module is by the similarity between the product information that inputs according to each goods and user, to developer's recommended candidate requirement tracking relation.
Step 20: in task implementation, monitoring module by collect developer feedback information and send to analysis module.Analysis module will according to field feedback calculate goods with " sets of preferences " and " detest and gather " and similarity, thus recommendation more may meet the desired tracking relationship.Developer can repeated multiple times execution step 20, until complete requirement tracking task.
Step 30: when developer finishes the work, method will preserve the feedback information of user automatically, thus developer can be helped to complete requirement tracking task better in the future.
Further, the concrete operation method in described step 10 is as follows:
Step 11: the user interface that developer is provided by method, selects the input mode of goods content to be " reading URI " or " direct input text ".If when developer " chooses URI ", method provides URI input window, and after developer completes input operation, method will read URI respective file content automatically; If developer selects " directly inputting input text ", method provides content input window and obtains the content of developer's input.
Step 12: monitoring module and maintenance module read and preserve the file content of user's input, when developer directly inputs document content and do not have import file name, by the naming rule spanned file name according to predefined.
Step 13: after developer completes document information input, monitoring module is by these information of collection and be sent to analysis module.
Step 14: based on the calculating formula of similarity of systematic conservation, similarity between the product information that each goods of calculating and user input by analysis module, then sort to low from height according to similarity, and several the highest for similarity tracking relationships are recommended user.
Further, the concrete operations mode in described step 20 is as follows:
Step 21: in task implementation, if think, some recommended candidate goods is relevant to task, and this part goods can add " sets of preferences " by developer; If think, some recommended candidate goods is uncorrelated with task, and this part component can add by developer " detesting set ".When developer performs " sets of preferences " or " detest set " and setting operation time, monitoring module, by obtaining the transition information of above-mentioned two set, and sends it to analysis module.
Step 22: according to " sets of preferences " with " detest and gather " and transition information, analysis module will recalculate each goods and above-mentioned two similarities gathered.More specifically, this method forms calculating formula of similarity according to the position degree of correlation, semantic relevancy and the dependence degree of correlation etc.
A) the position degree of correlation: the position degree of correlation utilizes the physical location information of goods to calculate goods similarity.Given two goods m 1and m 2, can be compared by their directory information and calculate correlativity, available path (m from root node to the path difference opposite sex of the catalogue finally comprising goods 1, m 2) represent from m 1to m 2minimal path, len (m 1, m 2) then represent path path (m 1, m 2) length, make c 1and c 2represent goods m respectively 1and m 2the catalogue at place, r represents the root directory of two goods, and a represents c 1and c 2nearest public parent directory.So can calculate m by following formula 1and m 2between the position degree of correlation:
R l o c ( m 1 , m 2 ) = l e n ( r , a ) l e n ( r , a ) + M a x ( l e n ( a , c 1 ) , l e n ( a , c 2 ) ) b
B) degree of correlation is relied on: rely on the degree of correlation and utilize the syntactic information of goods to calculate goods similarity.Due in object-oriented programming, method call relation is that the frequency of occurrences is the highest, and of paramount importance operation.Therefore, the present invention is directed to this method call and define dependence relatedness computation formula.
For given two method m 1and m 2, make the distance of calling between them be length, attenuation coefficient is ac (AttenuationCoefficient).M can be calculated by following formula 1and m 2between the dependence degree of correlation:
R dist(m 1,m 2)=ac length
C) semantic relevancy: semantic relevancy utilizes the semantic information of goods to calculate the correlativity between different goods.First, the identifier existed in goods text and annotation etc. are converted into text document by the present invention.Afterwards, build TF-IDF vector space V by the set of words in these text documents, the set of words in each text document can be considered a vector of a TF-IDF.Any one method can be expressed as a vector in V.Wherein, a jth goods can be expressed as Dj=(d 1, j, d 2, j,, d m,j) t, wherein d i,jrepresent word w iat goods D jthe number of times occurred, m represents the dimension of vector space.For given two goods m1 and m2, both semantic relevancies can be calculated by following formula:
R l e x ( m 1 , m 2 ) = Σ 1 n D m 1 [ i ] × D m 2 [ i ] Σ 1 n D m 1 [ i ] 2 × Σ 1 n D m 2 [ i ] 2
D) calculating formula of similarity:
After obtaining the position degree of correlation, relying on the computing formula of the degree of correlation and the content degree of correlation, by following formulae discovery go out goods m and goods S set (as " sets of preferences " or " detest and gather ") between similarity.
R ( m , S ) = R l o c ( m , S ) + R d i s t ( m , S ) + R l e x ( m , S ) 3
Step 23: obtain all goods in system with " sets of preferences " and " detests and gathers " and similarity after R (m, PS) and R (m, AS), method by basis below each goods of formulae discovery meet the probable value P of user's expectation.
P(m)=R(m,PS)-R(m,AS)
Step 24: the probable value P that method meets user's expectation according to each goods carries out from large to little sequence, and the goods therefrom choosing a front n probable value maximum recommend user.Wherein, the value of n is defaulted as 10, and user can revise the value of n at any time according to the demand of oneself.
Further, the concrete operations mode in described step 30 is as follows:
Step 31: by specified format derive " sets of preferences " and in all product information, to obtain final requirement tracking result.
Step 32: user is arranged " sets of preferences " and " detest and gather " be saved to the individual operation historical record of user.
Step 33: preserve each goods with " sets of preferences " and " detests and gather " and similarity, and goods generation change time, automatically according to changed content renewal similarity.
Step 34: when user's login or when performing new requirement tracking task, method can according to preserved operation history and the goods calculated similarity, recommend there is personalization and candidate's goods set that more may meet user's needs, thus help user better and finish the work quickly.
Embodiment 3
This gives a requirement tracking procedure based on user feedback, and be embodied as a kind of Eclipse plug-in unit.In this flow process, developer can pass through amendment " sets of preferences " and " detest set " recommended goods accordingly.The main use procedure of this instrument is:
(1) plug-in unit is installed, and in EclipseIDE, is loaded into the required software project analyzed.
(2) reading code in EclipseIDE, may and incoherent goods relevant to task add respectively " sets of preferences " or " detest and gather ".
(3) instrument is by the feedback information according to developer, i.e. " sets of preferences " and " detest set " variation automatically upgrade recommendation list.
(4) developer can revise repeatedly " sets of preferences " and " detest set " in goods, instrument by according to above-mentioned two set variations generate new recommendation list, until developer finishes the work.
(5) when developer finishes the work, instrument will be derived by specified format " sets of preferences " in the information of all goods.
Can find out thus, this method can hide calculating process most absolutely to user.User only need simply select operation (goods are added " sets of preferences " or " detest set "), just can be fed back timely and be had more and be recommended goods set targetedly.
Embodiment 4
The present embodiment illustrates the calculating process of proposed algorithm by two examples.These two examples are all from open source projects Jedit (partial data can obtain at http://www.cs.wm.edu/semeru/data/benchmarks/), example 1 is relevant to feature " Formatparagraph – StringIndexOutOfBoundsException ", highlight the effect that the combination degree of correlation plays in recommendation process, and analyze the effect that the different degree of correlation plays in detail, therefore example only relates to the first stage of proposed algorithm.In example 1, the length of recommendation list is set to 10 by us, and system of selection " JEditTextArea.formatParagraph () " is as entrance.Example 2 is relevant to feature " AutosaveturnedoffforUntitledDocuments ", describes the whole recommendation process of proposed algorithm briefly.
In example 1, after method " JEditTextArea.formatParagraph () " is joined entrance set by us, recommend method can find out 10 alternative approach that the degree of correlation is the highest according to the degree of correlation.In these 10 alternative approach, have 7 methods to belong to class " textarea.TextArea ", 2 methods belong to class " textarea.JEditTextArea ", also have 1 method to belong to class " TextUtilities ".Why these 10 methods can be dispersed in 3 inhomogeneities, are because 3 classes difference on structural similarity is only about 0.1, therefore can not by candidate item stipulations under certain class.Meanwhile, the existence due to structural similarity in turn ensure that alternative approach can not exceedingly diffuse in multiple class, thus easier focus being placed on of developer severally exists more syntax and semantics relation with entrance and need in the class paid close attention to.By observing the method name of these 10 alternative approach, we can discover method " TextUtilities.format (String; int, int) " be relevant to method " JEditTextArea.formatParagraph () " most probable rapidly.Analyze the degree of correlation and also can find out, relative to other alternative approach, though its position degree of correlation only has 0.222, its dependence degree of correlation is that in 10 methods, score is the highest, and therefore it is increased to entrance set by us.Because entrance set changes, 10 alternative approach that the degree of correlation is the highest of our increment and interactively expansion recommend method meeting automatic regeneration Cheng Xin.After sorting according to the degree of correlation, we find that the candidate program method coming the 2nd is " TextUtilities.formatParagraph (String; int; int; StringBuilder) ", by method name, we can conclude that it should be also relevant to feature quickly, therefore it are increased to entrance set.Now, our increment and interactively expansion recommend method can generate new recommendation list again, fall first 3 by observational technique name fast filtering and (in method name, all contain Index, these 3 words of Ignoring and Whitespace), and filter out the 4th after analyzing possible correlativity by reading code.Afterwards, by reading code, we think that the 5th candidate program method " TextUtiltities.spacesToTabs (String, int) " is most possible relevant to feature.After the method being increased to entrance set, we just obtain new recommendation list.In lists, the method name of the alternative approach that the degree of correlation is the highest comprises index, ignoring and whiterspace, and according to experience before, we assert that the method and feature have nothing to do.And the high alternative approach of the degree of correlation the 2nd is " TextUtilities.tabsToSpaces (String; int) ", consider the high similarity of it and method " TextUtiltities.spacesToTabs (String; int) ", we are regarded as the new method relevant to feature, and are increased to entrance set.
When generating new candidate list, each known entrance is that the degree of correlation of calculated candidate method is contributed to some extent.For the ease of follow-up analysis, the data rows that whole feature location process relates to by we is at table 1.MinContribution in table represents the contribution margin contributing minimum entrance when calculating a certain alternative approach; MaxContribution represents when calculating a certain alternative approach, the contribution margin of the entrance that contribution degree is maximum; Std.Dev.Contribution represents the standard variance of all entrances contribution degree.
The heuristic process of table 1 feature " Formatparagraph "
In example 2, the method relevant to feature " AutosaveturnedoffforUntitledDocuments " and the relation between them can check Fig. 1.In FIG, four methods relevant to feature are placed on mark respectively m1, and in four ellipses of m2, m3, m4, and other method is placed on and is marked with m5 respectively, m6, in three ellipses of m7.Meanwhile, the method stated in a same class is placed in same dotted line frame, and the call relation between method is then marked by arrow.
In relevant to feature four methods, we system of selection SaveBackupOptionPane._save () (uses m in FIG 2represent) as entrance.Based on this entrance, proposed algorithm generates a series of recommend method automatically.Afterwards, developer is after checking recommended method set, and confirmation method Autosave.actionPerformed (ActionEvent) (uses m 3represent) relevant to this feature (i.e. positive feedback), and think that method jEdit.getBooleanProperty (String, boolean) (uses m 7represent) uncorrelated with this feature (i.e. negative feedback).
Observe following alternative approach more now, method Buffer.removeAutosaveFile () (uses m 4represent) (use m with method jEdit.getBooleanProperty (String) 6represent).Suppose that the scale parameter TopN that we arrange first round alternative approach set is 100, the scale Parameter N um of final recommendation list is 40.Based on them and positive feedback list (m 2and m 3) the combination degree of correlation, being all considered to may be relevant to feature for method m4 (degree of correlation rank the 61st) and m6 (degree of correlation rank the 3rd).Afterwards, algorithm adopts voting mechanism to filter alternative approach set.Because they and the degenerative degree of correlation are higher, m 6and some other method is filtered by algorithm in the process of ballot.Correspondingly, m 4continued to be retained in recommendation list, and cause its rank to be highly improved (finally coming the 16th) due to the deletion of other method.
We notice that the rank of m6 in candidate program element list will far above m4 in first round screening.However, our algorithm finally according to negative feedback successfully by m 6get rid of from recommendation list.Further, due to the deletion of uncorrelated method, with the very positively related method of feature (as m 4) rank in recommendation list also must promote.
The explanation of above example just understands core concept of the present invention for helping; Meanwhile, for one of ordinary skill in the art, according to thought of the present invention, all will change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.

Claims (6)

1. based on a requirement tracking system for user feedback, it is characterized in that, comprise and monitoring module, analysis module, recommending module and maintenance module are set; Wherein, monitoring module for receiving the software product relevant to requirement tracking task of input, and receives the feedback information that when tracing task carries out, user provides, and described feedback information comprises sets of preferences and detests set; Sets of preferences refers to the set that the software product relevant to requirement tracking task is formed, and detests set and refers to and the set that the incoherent software product of requirement tracking task is formed; Analysis module is used for analyzing the software product that feedback information and monitoring module receive, and draws candidate's tracking relationship feature that user pays close attention to; Recommending module is used for according to candidate's tracking relationship feature calculation candidate software goods and sets of preferences and detest the similarity gathered, and recommending module is selected similar to sets of preferences and gathered dissimilar candidate software goods and recommend user with detesting; Maintenance module is gathered with detesting for the sets of preferences of the operation historical record and setting of preserving user.
2., based on a requirement tracking method for user feedback, it is characterized in that, comprise the steps:
Step 10) to monitoring module Input Software goods, the method to monitoring module Input Software goods is the URI of direct Input Software goods and/or Input Software goods, the URI of software product and software product is one or more; Monitoring module preserve input software product, analysis module according to the similarity between candidate software goods and the software product of input, to user's recommended candidate requirement tracking relation;
Step 20) monitoring module collect user feedback information and feedback information is sent to analysis module; Analysis module is according to feedback information calculated candidate software product and sets of preferences and detest the similarity gathered, thus makes monitoring module recommend more to meet the desired tracking relationship; Repeat step 20) until complete requirement tracking task;
Step 30) complete requirement tracking task after, maintenance module preserves the feedback information of user automatically.
3., as claimed in claim 2 based on the requirement tracking method of user feedback, it is characterized in that, described step 10) comprise the steps:
Step 11) user interface that provided by system, select the input mode of software product to be the URI of reading software goods or the text of direct Input Software goods; Get the URI of software product if select to read, system provides URI input window, and after completing input operation, system reads software product corresponding to URI automatically, obtains the software product of input; If select direct Input Software goods, system provides content input window and obtains the software product of input;
Step 12) monitoring module and maintenance module read and preserve the software product of input, when the direct Input Software goods of user and when not having import file name, maintenance module is according to the naming rule spanned file name of predefined;
Step 13) complete the input of software product after, the software product of input is also sent to analysis module by the software product that monitoring module preserves input;
Step 14): analysis module is based on the calculating formula of similarity of systematic conservation, calculate the similarity between the software product of input and candidate software goods, to low, candidate software goods are sorted from height according to similarity, and similarity is recommended user higher than the candidate software goods of threshold value.
4., as claimed in claim 2 based on the requirement tracking method of user feedback, it is characterized in that, described step 20) comprise the steps:
Step 21) in requirement tracking tasks carrying process, if think, the candidate software goods that monitoring module is recommended are relevant to the software product of input, then the candidate software goods that monitoring module is recommended are added sets of preferences; The candidate software goods that monitoring module is recommended if think are relevant to the software product of input uncorrelated, then the candidate software goods that monitoring module is recommended are added and detest set, sets of preferences and the transition information that detest is gathered are preserved by monitoring module, and the transition information that sets of preferences and detest are gathered is sent to analysis module;
Step 22) analysis module is according to sets of preferences and detest the transition information gathered, recalculate candidate software goods and sets of preferences and detest the similarity gathered, concrete grammar is: analysis module is according to the position degree of correlation, the dependence degree of correlation and semantic relevancy calculated candidate software product and sets of preferences and detest the similarity gathered;
The position degree of correlation utilizes the physical location information of software product to carry out the similarity of software for calculation goods; The computing formula of the position degree of correlation is:
R l o c ( m 1 , m 2 ) = l e n ( r , a ) l e n ( r , a ) + M a x ( l e n ( a , c 1 ) , l e n ( a , c 2 ) )
Wherein, m 1represent a software product, m 2represent another software product; R loc(m 1, m 2) represent m 1and m 2between the position degree of correlation; Len (m 1, m 2) then represent from m 1to m 2the length of minimal path; c 1represent m 1the catalogue at place; c 2respectively and m 2the catalogue at place; R represents m 1and m 2root directory; A represents c 1and c 2nearest public parent directory; (r, a) represents the length of the minimal path from r to a to len; Len (a, c 1) represent from a to c 1the length of minimal path; Len (a, c 2) represent from a to c 2the length of minimal path; Max (len (a, c 1), len (a, c 2)) represent from len (a, c 1), len (a, c 2) in get maximal value;
Rely on the similarity that the degree of correlation utilizes the syntactic information of goods to come between software for calculation goods; The computing formula relying on the degree of correlation is:
R dist(m 1,m 2)=ac length
Wherein, R dist(m 1, m 2) represent m 1and m 2the dependence degree of correlation; Length represents m 1method call relation and m 2method call relation between call distance; Ac represents attenuation coefficient;
Semantic relevancy utilizes the semantic information of software product to calculate the correlativity between different software goods; The identifier existed in software product text and annotation are converted into text document; Build TF-IDF vector space V by the set of words in text document, the set of words in each text document is considered as a vector of a TF-IDF; Any one method is all expressed as a vector in V; Wherein, a jth software product is expressed as D j=(d 1, j, d 2, j..., d i,jd m,j) t, wherein, d i,jrepresent word w iat software product D jthe number of times of middle appearance, m represents that the dimension of TF-IDF vector space V is semantic; T representing matrix transposition; The computing formula of the degree of correlation is:
R l e x ( m 1 , m 2 ) = Σ 1 n D m 1 [ i ] × D m 2 [ i ] Σ 1 n D m 1 [ i ] 2 × Σ 1 n D m 2 [ i ] 2
Wherein, R lex(m 1, m 2) represent m 1and m 2the dependence degree of correlation; N represents the scale of vector space V, D m1[i] represents m 1in the value of the i-th dimension; D m2[i] represents m 2in the value of the i-th dimension;
The computing formula of similarity is:
R ( m , S ) = R l o c ( m , S ) + R d i s t ( m , S ) + R l e x ( m , S ) 3
Wherein m represents certain candidate software goods, and S represents sets of preferences or detests set; R (m, s) represents the degree of correlation of m and S; R loc(m, S) represents the position degree of correlation or the candidate software goods of candidate software goods and sets of preferences and detests the position degree of correlation gathered; R dist(m, S) represents the dependence degree of correlation or the candidate software goods of candidate software goods and sets of preferences and detests the dependence degree of correlation gathered; R lex(m, S) represents semantic relevancy or the candidate software goods of candidate software goods and sets of preferences and detests the semantic relevancy gathered;
Step 23) obtain the similarity R (m of all candidate software goods and sets of preferences in system, PS) and all candidate software goods with detest the similarity R (m that gathers, AS), after, system meets the probable value P (m) of user's expectation according to each candidate software goods of following formulae discovery;
P(m)=R(m,PS)-R(m,AS);
Step 24) each candidate software goods are met the probable value P (m) that user expects and carry out from large to little sequence by system, and the candidate software goods therefrom choosing front x recommend user, x represents the threshold value of setting.
5., as claimed in claim 4 based on the requirement tracking method of user feedback, it is characterized in that, x=10.
6., as claimed in claim 2 based on the requirement tracking method of user feedback, it is characterized in that, described step 30), comprise the steps:
Step 31) maintenance module presses the information that specified format derives all software product in sets of preferences, to obtain final requirement tracking result;
Step 32) maintenance module sets of preferences that user is arranged and detest the individual operation historical record that set is saved to user;
Step 33: maintenance module is preserved each candidate software goods and sets of preferences and detested the similarity gathered, and when candidate software goods occur to change, automatically upgrade similarity according to changed content;
Step 34) to log in or when performing new requirement tracking task, system, according to the operation historical record preserved and the similarity of candidate software goods calculated, recommends the candidate software goods set that may meet user's needs as user.
CN201510866642.4A 2015-12-01 2015-12-01 Demand tracking system and method based on user feedback Pending CN105511869A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510866642.4A CN105511869A (en) 2015-12-01 2015-12-01 Demand tracking system and method based on user feedback

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510866642.4A CN105511869A (en) 2015-12-01 2015-12-01 Demand tracking system and method based on user feedback

Publications (1)

Publication Number Publication Date
CN105511869A true CN105511869A (en) 2016-04-20

Family

ID=55719879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510866642.4A Pending CN105511869A (en) 2015-12-01 2015-12-01 Demand tracking system and method based on user feedback

Country Status (1)

Country Link
CN (1) CN105511869A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291900A (en) * 2017-06-22 2017-10-24 美味不用等(上海)信息科技股份有限公司 Feedback of the information and tracking system
CN107369318A (en) * 2016-05-11 2017-11-21 杭州海康威视数字技术股份有限公司 A kind of speed predicting method and device
CN107368407A (en) * 2016-05-11 2017-11-21 北京京东尚科信息技术有限公司 Information processing method and device
CN112800291A (en) * 2021-04-15 2021-05-14 武汉卓尔数字传媒科技有限公司 Similar account determination method and device, electronic equipment and storage medium
TWI746527B (en) * 2016-05-30 2021-11-21 香港商阿里巴巴集團服務有限公司 Data recommendation processing interactive method, device and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617190A (en) * 2013-11-06 2014-03-05 福建工程学院 Context-aware dynamic requirement traceability method
CN104461558A (en) * 2014-12-22 2015-03-25 扬州大学 Software-fix-orientated individualized task recommendation method based on co-correlativity topic model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617190A (en) * 2013-11-06 2014-03-05 福建工程学院 Context-aware dynamic requirement traceability method
CN104461558A (en) * 2014-12-22 2015-03-25 扬州大学 Software-fix-orientated individualized task recommendation method based on co-correlativity topic model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王金水 等: ""一种基于句法分析的跟踪关系恢复方法"", 《计算机研究与发展》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107369318A (en) * 2016-05-11 2017-11-21 杭州海康威视数字技术股份有限公司 A kind of speed predicting method and device
CN107368407A (en) * 2016-05-11 2017-11-21 北京京东尚科信息技术有限公司 Information processing method and device
US10872525B2 (en) 2016-05-11 2020-12-22 Hangzhou Hikvision Digital Technology Co., Ltd. Speed prediction method and apparatus
CN107368407B (en) * 2016-05-11 2021-05-25 北京京东尚科信息技术有限公司 Information processing method and device
TWI746527B (en) * 2016-05-30 2021-11-21 香港商阿里巴巴集團服務有限公司 Data recommendation processing interactive method, device and system
CN107291900A (en) * 2017-06-22 2017-10-24 美味不用等(上海)信息科技股份有限公司 Feedback of the information and tracking system
CN107291900B (en) * 2017-06-22 2020-06-05 美味不用等(上海)信息科技股份有限公司 Information feedback and tracking system
CN112800291A (en) * 2021-04-15 2021-05-14 武汉卓尔数字传媒科技有限公司 Similar account determination method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
Raharjana et al. User stories and natural language processing: A systematic literature review
Battle et al. Characterizing exploratory visual analysis: A literature review and evaluation of analytic provenance in tableau
Irshad et al. A systematic literature review of software requirements reuse approaches
Hariri et al. Supporting domain analysis through mining and recommending features from online product listings
Poursafaei et al. Towards better evaluation for dynamic link prediction
Borg et al. Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability
Hayes et al. Advancing candidate link generation for requirements tracing: The study of methods
US9171072B2 (en) System and method for real-time dynamic measurement of best-estimate quality levels while reviewing classified or enriched data
Chen et al. Websrc: A dataset for web-based structural reading comprehension
Zhang et al. A hybrid bug triage algorithm for developer recommendation
Halkidi et al. Data mining in software engineering
CN105511869A (en) Demand tracking system and method based on user feedback
Al Qady et al. Document discourse for managing construction project documents
Sun et al. Mining software repositories for automatic interface recommendation
Yang et al. User story clustering in agile development: a framework and an empirical study
Wang et al. Linking issue tracker with Q&A sites for knowledge sharing across communities
Simperl et al. Combining human and computation intelligence: the case of data interlinking tools
Garcia et al. Comparative evaluation of link-based approaches for candidate ranking in link-to-wikipedia systems
Lei [Retracted] Association Rule Mining Algorithm in College Students’ Quality Evaluation System
Alwazae et al. Template-driven best practice documentation
Kuhrmann et al. A mapping study on method engineering: first results
Mora Segura et al. Modelling assistants based on information reuse: a user evaluation for language engineering
CN109299381B (en) Software defect retrieval and analysis system and method based on semantic concept
Yan et al. An ontology framework of software requirements change management process based on causality
Li et al. Application of data mining in personalized remote distance education web system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160420