CN105446734A - Software development history-based developer network relation construction method - Google Patents

Software development history-based developer network relation construction method Download PDF

Info

Publication number
CN105446734A
CN105446734A CN201510664594.0A CN201510664594A CN105446734A CN 105446734 A CN105446734 A CN 105446734A CN 201510664594 A CN201510664594 A CN 201510664594A CN 105446734 A CN105446734 A CN 105446734A
Authority
CN
China
Prior art keywords
developer
commit
code file
bug
software
Prior art date
Application number
CN201510664594.0A
Other languages
Chinese (zh)
Inventor
孙小兵
杨辉
李斌
李云
Original Assignee
扬州大学
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 扬州大学 filed Critical 扬州大学
Priority to CN201510664594.0A priority Critical patent/CN105446734A/en
Publication of CN105446734A publication Critical patent/CN105446734A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Abstract

The invention relates to a software development history-based developer network relation construction method. According to the method, software bug information, a source code file library and a Commit library are pretreated; bug similarity is calculated, and related Commit is identified according to word multiplicity; developers are extracted from the related Commit, and a corresponding list of developers and related source code files is formed to be used as input data used in calculation of a collaborative topic model for collaborative calculation to obtain personalized source code files; and historical modification conditions of each developer to the source code files are analyzed to establish a networking relationship among the developers. Through adoption of the method, a bug tossing phenomenon in a software engineering is avoided; and historical development experiences of the software developers are analyzed from the semantic text aspect, and the historical version modification conditions of the source code files related to bug are analyzed from the Commit library and the source code file library by use of a statistical method to construction a network relation diagram related to the developers.

Description

A kind of based on software development history developer cyberrelationship construction method
Technical field
The invention belongs to software maintenance field, particularly one is based on software development history developer cyberrelationship construction method.
Background technology
In software development and maintenance process, a large amount of bug information of software bug library storage, in order to these software bug, software developer needs co-treatment maintenance task to improve the quality of software systems.Such as: record the software bug information once run into, provide the advisory information of amendment software bug, provide amendment software bug annotation information etc.So realize the thing that software bug amendment is not some software developers, this needs many software developer's concerted efforts, jointly completes amendment task.Therefore, provide a software bug, recommend one group of related maintenance personnel, they fast searching the other side will be conducive to and exchange mutually and jointly complete software maintenance task, improve maintenance efficiency.
Before the present invention makes, at present, most of software developer's recommended technology be all devoted to recommendation most suitable maintainer revise bug request.But, these maintainers still need to find other similar maintainers of development Experience and exchange, the difficulty run into during common solution amendment bug request, even directly bug is reassigned to other staff and solves, which results in the bug that usually occurs in soft project and swing (bugtossing) phenomenon.In order to realize software maintenance task better, nearest small part software developer group recommended technology is suggested, these recommended technologies mainly utilize social networks technology to recommend out software maintenance group, such as: the people such as Wang utilize isomery Developer Network relation, recommend out based on the historical operation of software developer to bug storehouse the maintainer once safeguarding same bug.But these recommended technologies mainly based on software developer to the contact between the historical operation in bug storehouse, as annotation operations, retouching operation etc., it does not cross the history development Experience of software maintenance staff from the angle analysis of semanteme.
Summary of the invention
Object of the present invention is just to overcome above-mentioned defect, and development is a kind of based on software development history developer cyberrelationship construction method.
Technical scheme of the present invention is:
A kind of based on software development history developer cyberrelationship construction method, its technical characteristics is that step is as follows:
(1). carry out entry division, root process to software bug information, sound code file storehouse and Commit storehouse, the inquiry of gerund synonym, near synonym is expanded vocabulary and is carried out pre-service;
(2). similarity is calculated, the Commit relevant with the word multiplicity identification in bug information according to Commit information to all pretreated Commit storehouses and pretreated bug;
(3). after obtaining all Commit relevant to bug information, in relevant Commit, extract developer, and extract the relevant sound code file that each developer revised and form a developer-relevant sound code file corresponding lists;
(4). using step 3) the input data that calculate as association's related subject model of result developer-relevant sound code file carry out association correlation computations, obtain the concrete related development personnel of the bug information that realizes and the personalized sound code file of these developers;
(5). in conjunction with pretreated Commit storehouse and pretreated sound code file storehouse, analyze every developer to the history of these source code file amendment situation, principal statistical developer revises the number of times of this sound code file and the time of amendment recently;
(6). according to the history amendment situation of source code file, set up the cyberrelationship between developer, and provide to graphically, the node wherein in figure represents related development personnel, the source code file quantity that the data representation developer on line once revised jointly.
In described step (2), with cosine function, similarity is calculated to all pretreated Commit storehouses and pretreated bug.
Method of the present invention is when recommending developer, first find out the history relevant to change request and submit information to, then information is submitted to find out developer according to these relevant historical, < developer is represented with key assignments list with the source code file that this developer revised, associated documents >, again by < developer, associated documents > is as the correlated source code file of assisting the input data of related subject model to find every developer to be familiar with.The old version amendment situation of these correlated source code files of ultimate analysis, and build the relation between related development personnel according to amendment situation.
Traditional joint relationship model and topic model combine by association's related subject model (CollaborativeTopicModel is called for short CTM), and its illustraton of model is shown in Fig. 2.This model revises file as input object using all developers relevant to amendment software bug and history corresponding to each developer, can find out other correlated source code files interested with each developer.
Advantage of the present invention and effect are history development Experience from the angle analysis software developer of semantic text analysis and utilize statistical method to analyze the source code file old version amendment situation relevant to bug on Commit storehouse and the basis in sound code file storehouse, the time of the number of times that its Main Analysis every related development personnel revise source code file and amendment recently, and the cyberrelationship figure of related development personnel is built according to these amendment situations.Mainly contain the following advantage:
(1) current software recommend developer method, mainly based on bug storehouse, analyzes the developer and the relation set up between them that once jointly revised a certain bug.Our method Main Analysis developer history development Experience, and the cyberrelationship of developer is set up by the development Experience degree of correlation between them.When bug revise task heavier or very complicated time, related development personnel can find out other related development personnel according to this network graph of a relation of throwing the net and revise software task together, or directly this bug are reassigned to more familiar developer.
(2) this method not only recommends out multiple related development personnel, give the correlated source code file that they are familiar with, and analyze the history amendment situation of source code file, developer, when revising source code file and meeting difficulty, can find suitable developer to exchange with it according to the old version amendment situation of file.
(3) have no time to revise software or the situation not in project team for some most suitable developers, this method also can recommend a most suitable developer according to the cyberrelationship of this developer again.
Accompanying drawing explanation
Fig. 1--the schematic flow sheet of a kind of developer's cyberrelationship construction method based on software development history of the present invention.
Fig. 2--assist related subject modular concept schematic diagram in the present invention.
Fig. 3--in the present invention, history submits information schematic diagram to.
Fig. 4--the part relating to the amendment of JingZhao in the present invention is correlated with sound code file schematic diagram.
Fig. 5--the part relating to the amendment of HaohuiMai in the present invention is correlated with sound code file schematic diagram.
Fig. 6--relate to the personalization files schematic diagram of JingZhao in the present invention.
Fig. 7--relate to the personalization files schematic diagram of HaohuiMai in the present invention.
Fig. 8--relate to the old version amendment situation schematic diagram of FSNamesystem.java file in the present invention.
Fig. 9--relate to other developer's cyberrelationship schematic diagram centered by JingZhao in the present invention.
Embodiment
Technical thought of the present invention is:
This method is mainly from the history development Experience of the angle analysis software maintenance staff of semanteme, and it mainly utilizes the software maintenance staff that association's related subject model (CollaborativeTopicModel is called for short CTM) recommends out one group of working experience similar and the associated documents that they once revised.Recommend maintainer out all familiar to amendment bug, and have and ask relevant working experience to this amendment bug, therefore, these maintainers can exchange together and jointly realize this software maintenance task.
Joint relationship and topic model combine by association's related subject model (CollaborativeTopicModel is called for short CTM).This model not only can find out the personalized task of related development personnel, a new task can also be recommended the developer of similar development Experience.We mainly find the developer with similar development Experience by association's related subject, then analyze the associated documents that these developers once revised jointly, according to the cyberrelationship between these file set up associated developer.When developer is when revising certain source code file and meeting difficulty, he can find out the software developer of other these files more familiar by this network graph of a relation of throwing the net and exchange with him, when the bug amendment of some complexity, even can find out multiple developer and form group and realize software maintenance task together.
Illustrate the present invention below.
As shown in Figure 1, practical operation step of the present invention is as follows:
Step 1). carry out entry division, root process to all Commit information in the software bug information of System Reports personnel, sound code file storehouse and history amendment storehouse, the inquiry of gerund synonym, near synonym is expanded vocabulary and is carried out pre-service.Fig. 3 mainly gives the information schematic diagram of Commitr10218 in Hadoop project, and we are mainly to Commit information pre-processing, and to the pre-service of the associated documents in Commit mainly in file part process.Such as: to information " ProvidebettererrormessageswhenRPCauthenticationfails. " the pretreated result of Commitr10218 in Hadoop project be: " hadoopproyidbetterbreakerrormistakeerrorfaultmessagrpcau thentfailneglectHADOOPProvidesupplyproviderenderfurnishm essagesRPChallmarkassay-markfails ".
Step 2). with cosine function, Similarity Measure is carried out to all pretreated Commit storehouses and pretreated bug, according to Commit information and the relevant Commit of word multiplicity identification in bug information.Wherein the computing method of cosine function are:
relCommit bug = | commit &cap; bug | | commit &cup; bug | - - - ( 1 )
In formula (1), relCommit bugrepresent all Commit information relevant to bug.| Commit ∩ bug| represents the word quantity jointly had in Commit and bug information, | Commit ∪ bug| to represent in Commit and bug information word quantity altogether.All Commit that this step obtains are relevant to software bug information, therefore we can extract software developer in these Commit and, as the candidate of amendment software bug information, extract the relevant sound code file of the sound code file in these Commit as amendment software bug information.Therefore, the relevant Commit quantity that this step obtains is comparatively large, and such as, the Commit that bug_1123 is relevant after calculating in Hadoop project has 268 relevant Commit.
Step 3). after obtaining all Commit relevant to bug information, developer is extracted in relevant Commit information, and extract the relevant sound code file that each developer revised and form a < developer, relevant sound code file > corresponding lists.The relevant sound code file of part that developer JingZhao with HaohuiMai be such as correlated with for bug_1123 in system revised provides respectively in figures 4 and 5, this part correlated source code file is not only all relevant to software bug information, and be all the file that this developer once revised, so the relevant sound code file of each developer is different.Such as, the file in Fig. 4 and Fig. 5 is the file that JingZhao and HaohuiMai once revised respectively, and their file is all different, has respective amendment or operating habit.
Step 4). by step 3) result < developer, relevant sound code file > carries out association's correlation computations as the input data of association's related subject model (CTM illustraton of model is as Fig. 2).Obtain the concrete related development personnel of the bug information that realizes and the personalized sound code file of these developers.The personalized sound code file of part of developer JingZhao and HaohuiMai be such as correlated with for bug_1123 in system provides respectively in figure 6 and figure 7, these personalization files tentatively can reflect the history development Experience of developer, so according to the personalized sound code file of every developer, system tentatively can find out the relevant software developer of development Experience, such as the first two personalization files of these two developers of JingZhao with HaohuiMai is the same, and therefore their development Experience tentatively judges to be correlated with.In order to analyze the correlativity between developer further, lower plane system will analyze the history development Experience of developer further in conjunction with Commit storehouse and sound code file storehouse.
Step 5). in conjunction with pretreated Commit storehouse and pretreated sound code file storehouse, analyze the history amendment situation of every developer to these source code file, Main Analysis developer revises the number of times of this sound code file and the time of amendment recently.Such as: the old version amendment situation of system to the personalized sound code file hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java of JingZhao provides in fig. 8, as can see from Figure 8, except JingZhao crosses FSNamesystem.java file modification, other a lot of members are also had to revise this file, wherein revise number of times more, time nearer personnel mainly contain AndrewWang, HaohuiMai and None.Therefore, we can build cyberrelationship figure to all related development personnel according to these old version information.
Step 6). according to the history amendment situation of source code file, set up the graph of a relation between developer.The cyberrelationship figure of such as, other developers centered by the developer JingZhao be correlated with for bug_1123 in system provides in fig .9, wherein, data on line represent the common personalization files quantity of developer between the two, quantity of documents is more, illustrates that their development Experience is more similar.When JingZhao is when revising bug_1123 and meeting difficulty, he can find out other proper developers according to this figure and exchange, or bug_1123 is reassigned to other related development personnel, even can forms maintenance group maintenance software system together.

Claims (2)

1., based on a software development history developer cyberrelationship construction method, it is characterized in that step is as follows:
(1) carry out entry division, root process to software bug information, sound code file storehouse and Commit storehouse, the inquiry of gerund synonym, near synonym is expanded vocabulary and is carried out pre-service;
(2) similarity is calculated, the Commit relevant with the word multiplicity identification in software bug information according to Commit information to all pretreated Commit storehouses and pretreated bug;
(3) after obtaining all Commit relevant to software bug information, in relevant Commit, extract developer, and extract the relevant sound code file that each developer revised and form a developer-relevant sound code file corresponding lists;
(4) the input data that the result developer of step 3-relevant sound code file calculates as association's related subject model are carried out association's correlation computations, obtain the concrete related development personnel of software bug information that realize and the personalized sound code file of these developers;
(5) in conjunction with pretreated Commit storehouse and pretreated sound code file storehouse, analyze every developer to the history of correlated source code file amendment situation, principal statistical developer revises the number of times of this sound code file and the time of amendment recently;
(6) according to the history amendment situation of source code file, set up the cyberrelationship between developer, and provide to graphically, the node wherein in figure represents related development personnel, the source code file quantity that the data representation developer on line once revised jointly.
2. one according to claim 1 is based on software development history developer cyberrelationship construction method, it is characterized in that in step 2, calculates similarity with cosine function to all pretreated Commit storehouses and pretreated bug.
CN201510664594.0A 2015-10-14 2015-10-14 Software development history-based developer network relation construction method CN105446734A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510664594.0A CN105446734A (en) 2015-10-14 2015-10-14 Software development history-based developer network relation construction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510664594.0A CN105446734A (en) 2015-10-14 2015-10-14 Software development history-based developer network relation construction method

Publications (1)

Publication Number Publication Date
CN105446734A true CN105446734A (en) 2016-03-30

Family

ID=55556981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510664594.0A CN105446734A (en) 2015-10-14 2015-10-14 Software development history-based developer network relation construction method

Country Status (1)

Country Link
CN (1) CN105446734A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131870A (en) * 2016-06-15 2016-11-16 扬州大学 Wireless sensor network self-organizing method of adjustment towards complex task
CN106156633A (en) * 2016-06-23 2016-11-23 扬州大学 The risk analysis method of software-oriented amendment
CN106202203A (en) * 2016-06-23 2016-12-07 扬州大学 The method for building up of bug knowledge base based on lifelong topic model
CN106227771A (en) * 2016-07-15 2016-12-14 浙江大学 A kind of domain expert based on socialization's programming website finds method
CN107329770A (en) * 2017-07-04 2017-11-07 扬州大学 The personalized recommendation method repaired for software security BUG
CN107479879A (en) * 2017-07-28 2017-12-15 扬州大学 The API and its use recommendation method that a kind of software-oriented function is safeguarded
CN107491299A (en) * 2017-07-04 2017-12-19 扬州大学 Towards developer's portrait modeling method of multi-source software development data fusion
CN107957929A (en) * 2017-11-20 2018-04-24 南京大学 A kind of software deficiency report based on topic model repairs personnel assignment method
CN107967522A (en) * 2017-11-24 2018-04-27 国网内蒙古东部电力有限公司 A kind of power grid technological transformation overhaul engineering Cost Management System and its control method
US10585780B2 (en) 2017-03-24 2020-03-10 Microsoft Technology Licensing, Llc Enhancing software development using bug data
CN111090460A (en) * 2019-10-12 2020-05-01 浙江大学 Code change log automatic generation method based on nearest neighbor algorithm
US10754640B2 (en) 2017-03-24 2020-08-25 Microsoft Technology Licensing, Llc Engineering system robustness using bug data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508767A (en) * 2011-09-30 2012-06-20 东南大学 Software maintenance method based on formal concept analysis
CN104166550A (en) * 2014-08-13 2014-11-26 扬州大学 Software maintenance oriented method for re-customizing modification request
CN104461558A (en) * 2014-12-22 2015-03-25 扬州大学 Software-fix-orientated individualized task recommendation method based on co-correlativity topic model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508767A (en) * 2011-09-30 2012-06-20 东南大学 Software maintenance method based on formal concept analysis
CN104166550A (en) * 2014-08-13 2014-11-26 扬州大学 Software maintenance oriented method for re-customizing modification request
CN104461558A (en) * 2014-12-22 2015-03-25 扬州大学 Software-fix-orientated individualized task recommendation method based on co-correlativity topic model

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANDREW MENEELY等: "Socio-technical developer networks : should we trust our measurements?", 《ICSE "11 PROCEEDINGS OF THE 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING》 *
JIFENG XUAN等: "Developer Prioritization in Bug Repositories", 《SOFTWARE ENGINEERING (ICSE), 2012 34TH INTERNATIONAL CONFERENCE ON》 *
JOHN ANVIK等: "Who Can Help Me with this Source Code Change?", 《SOFTWARE MAINTENANCE, 2008. ICSM 2008. IEEE INTERNATIONAL CONFERENCE ON》 *
SONG WANG等: "DevNet: Exploring Developer Collaboration in Heterogeneous Networks of Bug Repositories", 《EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, 2013 ACM / IEEE INTERNATIONAL SYMPOSIUM ON》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131870A (en) * 2016-06-15 2016-11-16 扬州大学 Wireless sensor network self-organizing method of adjustment towards complex task
CN106202203A (en) * 2016-06-23 2016-12-07 扬州大学 The method for building up of bug knowledge base based on lifelong topic model
CN106156633B (en) * 2016-06-23 2018-11-23 扬州大学 The risk analysis method of software-oriented modification
CN106156633A (en) * 2016-06-23 2016-11-23 扬州大学 The risk analysis method of software-oriented amendment
CN106227771B (en) * 2016-07-15 2019-05-07 浙江大学 A kind of domain expert's discovery method based on socialization programming website
CN106227771A (en) * 2016-07-15 2016-12-14 浙江大学 A kind of domain expert based on socialization's programming website finds method
US10585780B2 (en) 2017-03-24 2020-03-10 Microsoft Technology Licensing, Llc Enhancing software development using bug data
US10754640B2 (en) 2017-03-24 2020-08-25 Microsoft Technology Licensing, Llc Engineering system robustness using bug data
CN107491299A (en) * 2017-07-04 2017-12-19 扬州大学 Towards developer's portrait modeling method of multi-source software development data fusion
CN107329770A (en) * 2017-07-04 2017-11-07 扬州大学 The personalized recommendation method repaired for software security BUG
CN107479879A (en) * 2017-07-28 2017-12-15 扬州大学 The API and its use recommendation method that a kind of software-oriented function is safeguarded
CN107957929A (en) * 2017-11-20 2018-04-24 南京大学 A kind of software deficiency report based on topic model repairs personnel assignment method
CN107957929B (en) * 2017-11-20 2021-02-26 南京大学 Software defect report repair personnel distribution method based on topic model
CN107967522A (en) * 2017-11-24 2018-04-27 国网内蒙古东部电力有限公司 A kind of power grid technological transformation overhaul engineering Cost Management System and its control method
CN111090460A (en) * 2019-10-12 2020-05-01 浙江大学 Code change log automatic generation method based on nearest neighbor algorithm

Similar Documents

Publication Publication Date Title
US10614077B2 (en) Computer system for automated assessment at scale of topic-specific social media impact
CN107466403B (en) Access control for data resources
Kim et al. The fourth dialog state tracking challenge
Nentwig et al. A survey of current link discovery frameworks
Qi et al. Finding all you need: web APIs recommendation in web of things through keywords search
Ramakrishnan et al. 'Beating the news' with EMBERS: Forecasting civil unrest using open source indicators
US9619513B2 (en) Changed answer notification in a question and answer system
KR101782704B1 (en) Knowledge capture and discovery system
US9898554B2 (en) Implicit question query identification
Muller et al. How data science workers work with data: Discovery, capture, curation, design, creation
Zhang et al. Reducing uncertainty of schema matching via crowdsourcing
Paparrizos et al. Machine learned job recommendation
Shvaiko et al. Ontology matching: state of the art and future challenges
Bizer et al. The meaningful use of big data: four perspectives--four challenges
US20160034560A1 (en) Method and system for securely storing private data in a semantic analysis system
Dijkman et al. Aligning business process models
Cleland-Huang et al. Best practices for automated traceability
Lambrix et al. SAMBO—a system for aligning and merging biomedical ontologies
Elmeleegy et al. Mashup advisor: A recommendation tool for mashup development
Tran et al. Timeline summarization from relevant headlines
Li et al. A probabilistic approach for web service discovery
KR100996131B1 (en) System and method for managing listings
Hopcroft et al. Who will follow you back? reciprocal relationship prediction
Wu et al. Patent partner recommendation in enterprise social networks
JP5904559B2 (en) Scenario generation device and computer program therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160330