; Classifying Maintenance Request in Bug Tracking System
Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Classifying Maintenance Request in Bug Tracking System


  • pg 1
									                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                     Vol. 8, No. 4, July 2010

     Classification Maintenance Requests in Bug
                   Tracking System

   Naghmeh Mahmoodian                                 Rusli Abdullah                        Masrah Azrifah Azim Murad
   University Putra Malaysia                     University Putra Malaysia                     University Putra Malaysia
Faculty of computer science and               Faculty of computer science and               Faculty of computer science and
 information technology, UPM,                  information technology, UPM,                  information technology, UPM,
  43400 upm serdang, selongor                   43400 upm serdang, selongor                   43400 upm serdang, selongor
            Malaysia                                      Malaysia                                      Malaysia
    Kuala Lumpur, Malaysia                        Kuala Lumpur, Malaysia                        Kuala Lumpur, Malaysia
naghmeh.ma@gmail.com                              rusli@fsktm.upm.edu.my                      masrah@fsktm.upm.edu.my

Abstract—Complex process of software modification s                 quality factors of a software system.
called software maintenance (SM), is a costly and time
consuming task. Classification of maintenance request                  Software maintenance, as defined by IEEE is as
(MR) on the type MR which are corrective, adaptive,
                                                                    follow [14]:
perfective or preventive. The maintenance type (MT)                    “Modification of a software product after delivery
are important in keeping the quality factors of the                 to correct faults, improves performance or other
system. However, classification of MT is difficult in
                                                                    attributes, or adapts the product to a modified
nature and this affect maintainability of the system.
Thus, there is a need for tool which is able to classify
MRs into MT automatically. In this study, we present                   Previous author also mentioned to the software
new result of combination texts of features during MR               maintenance definition as [1]:
classification. Three different classifications techniques,            The whole group of activities that are required to
namely Decision Tree, Naïve Bayesian and Logistic                   support a software system in a cost-effective manner.
Regression are applied to perform classification. 600
MRs from Mozilla bug tracking system (BTS) are used                    SM is the key to product quality and risk
as source of data. The results show that the model is               reduction. It guarantees reliability, capability,
able to classify MRs into MT with accuracy between                  availability, efficiency and safety [2].SM is a time
67.33 and 78.17%.                                                   consuming and costly. In some cases, the cost of
                                                                    maintaining application software is higher than the
Keywords— Classification; Software Maintenance;                     original development cost.In practice, it is difficult to
Maintenance Type; Classification; Corrective                        classify maintenance activities due to independent
Maintenance                                                         classification of SM activities [4].
                                                                       However, traditional text-based classifier are
                     I.    INTRODUCTION                             usually based on manual categorization, which is
                                                                    very time consuming and is difficult to maintain.
    In the software maintenance (SM) area when the                     Automatic classification methods are very much
problem occurs the issues in SM are being managed                   needed for assigning bugs to developer, building
by computer software called the BTS.                                fault-prone model, classifying MR, and scheduling
                                                                    SM activities such as enhancement or restructuring.
    BTS is a database of reported errors, commonly
                                                                       Machine learning (ML) techniques with powerful
referred as bugs. BTS contains information such as                  features are well-suitable for SM process in a textual
title, description, reporter, source of request, time and           environment. The techniques may be used to predict
date of error.                                                      or classify SM fault and to classify MR into different
   MR is reporting error in BTS, which may be                       forms such as number of fault and type of fault.
classified into MT. MT, is useful in determining                       Textual information in BTS is used to identify

                                                              32                                http://sites.google.com/site/ijcsis/
                                                                                                ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                    Vol. 8, No. 4, July 2010

corrective maintenance from other types of SM,                      A. Software maintenance
which are adaptive, perfective, and preventive. Thus,
it is worth to classify MRs into MT without any                       In this section, a number of previous works in SM
human interaction in order to reduce the time and                  process are reviewed:
cost of SM task.                                                      [6], describes a model of SM that investigates the
                                                                   risks and depicts the activities executed by measuring
   This research presents the result of automatic                  the impact of change request. Incoming texts
classification system that could classify MRs into                 represent the measurements with information that can
“corrective” and “no-corrective”. Bayesian classifiers             be used for decision about when and how to make a
and Decision Tree model and Logistic Regression                    change. This is where that importance of MT is
were used to make the classifiers model. In this area              determined.
examined the text of 600 MRS which is reported to
Mozilla BTS. We labeled the MRs into two classes                      Software maintenance is indeed a part of software
by using four types of information for each MR                     engineering activities that requires more effort as
which is reported. It is useful to determining type of             compared to other activities in software engineering.
the maintenance and it is also able to improving                   The main goal of SM is to correct, to adapt or to
software quality. MR classification is much close to               enhance. Preventive maintenance is important to
effect on determining the corrective, adaptive,                    improve maintainability of the system. For this
perfective and preventive of software maintenance.                 reason, researchers are trying to reduce SM effort by
Type of software maintenance is one of the factors                 automating SM task [7].
that is important for maintainability of the system
without any damage on software architecture.                          [8], highlights importance of change in software
                                                                   and how to characterize the effect of change on
   This research is accomplishing SM task                          software such as the cause of the change, the type of
automatically by extracting features or information                the change that needs to be made, and the part of the
from the texts such as title, description, reporter, error         system that requires change. However, no
encountered. Finally MRs will be assignee into one                 suggestions are put forward to recognize varieties of
of two existent categories.                                        MTs. Often, changes in the system have chain effects
   Thus, we support maintainer in their daily                      and will cause the next change in the system. Hence,
activities with classifying MRs into MT
                                                                   managing change is expensive due to great effort
automatically and correctly. The framework of
classifying MR into maintenance type [19] is used as
a source for classification.         Machine learning               B. Type of software maintenance
techniques to classify requests of Mozilla is utilized
to achieve a high percentage of correctly classified                 Software maintenance is divided into various
requests for the two classes of issues that are referred           categories by different researchers in this area.
to as “corrective” and “no-corrective” maintenance.
                                                                      [9], expresses the base of SM activities, which is
   The reminder of the article is organized as follows:            divided into three types: corrective, adaptive, and
section II reviews related works that are conducted in             perfective. Corrective maintenance is performed in
software maintenance type and machine learning                     response assessment failure, which contains of
techniques, section III includes the preliminaries of              performance failure, implementation failure, and
the MT,BTS and WEKA tool. Section IV describe                      processing failure. Adaptive maintenance is change
the propose model to classify MR into MT. Section V                in data and processing environment, which contains
explains the experimental results and discussion in                of change in data environment and change in
particular show the result of the machine learning                 processing environment. Perfective maintenance aim
models namely as naïve Bayesian, decision tree and
                                                                   is to make the program into a more perfect design
logistic regression on BTS. Finally, section VI
outlines the conclusion and VII presents the future                implementation and to enhance performance while
work.                                                              improve maintainability.
                                                                      [10], proposes maturity model for daily SM
                    II.   RELATED WORK                             activities to improve SM functions. They first
   There are three parts of the literature organized in            illustrate SM process and classify SM activities based
this study as follow:                                              on ISO/IEC 12207. This model contains the activities
                                                                   and tasks of the maintainer when the system goes into
                                                                   modification due to errors or problems. The
                                                                   improved maintenance model facilitates customer

                                                             33                                http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                 Vol. 8, No. 4, July 2010

satisfaction through daily maintenance activities               three ML techniques, which are Decision Tree, naïve
provided. However, no comparisons were made                     Bayesian, and logistic regression to classify the
between the new model and the existing standard                 request texts into “bug” or “non-bug”.
model for SM quality evaluation.
                                                                                III. PRELIMINARIES
   Nonetheless, categorizing change requests into MT
is not an easy task for software maintainer [11]. Most            In the following sub-section, introduces the general
often, the software maintainer fails to initialize the          concepts like phases in MT, BTS and WEKA tool.
correct category of change request into MT, while it
                                                                 A. Maintenance Type (MT)
is important to do the task correctly. While, change
                                                                   ISO/IEC 14764 (2006) divides MT into four types:
request is used to estimate MT and duration of                     Corrective: Reactive modification of a software
maintenance, MR is used in our paper.                           product performed after delivery to correct
 C.   Classification of Software Maintenance                    discovered problems.
                                                                   Adaptive: Modification of a software product
  There are various models and techniques that are              performed after delivery to keep a software product
                                                                usable in a changed or changing environment.
used in different research to classify software
                                                                   Perfective: Modification of a software product
problems.                                                       after delivery to sustain performance and
   Evaluation of change massage classification is               maintainability.
performed by using Kappa coefficient [12], which is                Preventive: Modification of a software product
a technique to measure the agreement between                    after delivery to detect and correct latent faults in the
                                                                software product before them become effective
manual and automatic classification. Consequently,
Stuart-Maxwell test [13] is used due to different
tendencies to classification category. As the result,            B. Bug Tracking System (BTS)
[15] manages to save 70% of the maintainer time
through automatic classification of change messages.               A bug tracking system is a software application
The maximum accuracy obtained from the                          that is used for tracking reports on system errors or
experiments was only 63%.                                       bugs in a software environment. The system is
                                                                mainly used by programmers and quality assurance
   ML aid SM in increasing quality factors of
                                                                teams. BTS also acts as a database that records all
software systems, for example reliability and                   information in the form of text about bugs in the
maintainability. Most economic damage is mainly                 system as indicated by [23].
caused by software failures [16]. Automatic                        Reported bug time, the bug title, severity that
classification helps to classify requests and to direct         indicates the impact of the failure, the person who
them to the maintenance in a short time frame, hence            report the error, who worked on this error,
improving the service rate. In this research, five ML           description of error, error encountered that point to
techniques are used to perform classification task,             the product which is affected by the bug [18].
which are Vector Space Model (VSM), Bayesian
networks, SVM, K-nearest neighbor, and regression                C. WEKA Tool:
three. The research also incorporates intelligent agent
to route the issues to specific maintenance team.                  WEKA is a tool that is developed at the University
                                                                of Waikato for performing ML in Java programming
   Statistic methods such as logistic and linear                language as illustrated in Figure 2.2. WEKA is a tool
regression are also being used to analyze open source           with ready algorithms for data analyses, classification
software in terms of the quality [17]. The logistic             and prediction, as well as easy to navigate graphical
regression method is used to classify whether a class           user interface. WEKA has been used in the area of
contains bugs or otherwise, while linear regression is          SM by a number of researchers [20].
used to predict the number of bugs in each class.
Decision tree and neural network are also used in                               IV.    MR Classification into MT
classification to predict fault-proneness of the                    Previous researchers provided tool on the MR
software code, instead of using source code metrics.            which could be use for daily maintenance activities
The codes are classified into a class “without bugs”
                                                                [3, and 5].
and a class “with bugs”.
                                                                    When fault occurs in a software system, MR is
  Among existing research on text classification in
                                                                released to the maintenance team who performs
SM, we follow [24]. Antoniol and his colleagues use
                                                                analysis on the MR description [21]. Type of requests

                                                          34                                http://sites.google.com/site/ijcsis/
                                                                                            ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 8, No. 4, July 2010

should be determined by the maintainer based on                  “non-corrective”. For example, state "Error thrown
their expertise and the text of MR.                              when requested and default language content of a file
                                                                 don't exist" is labelled as corrective.
    Human expert is one of the important evaluations
necessary in text classification. Therefore, the data in              In this paper, MR is classified to effectively
this research are classified by three human experts.             categorize requests as “corrective” or “non-
The text of MR is categorized based on key words by              corrective”. This is possible because the features
human experience. The results of manually                        extracted from the BTS are seen to have high
classification get done through simple majority vote             accuracy in classifying MR. Thus, developer has the
and decision on the MR of open-source system. In                 opportunity to easily, automatically and immediately
our work, MRs should be automatically assigned to                define the MT.The MR classification involves two
relate MT which is provided by experts and were                  steps: training and classification. The classification
contained with composes of features. Naïve                       algorithms learn from a training set, that is, a
Bayesian, decision tree and logistic regression from             collection of requests that are known to belong to an
various techniques are chosen for computing                      existing class (which is identified by human expert at
accuracy of model. 600 request of the standard                   the first step), that is, the requests are labelled with
dataset namely Mozilla is selected to implement our              the known class. Features are extracted from the BTS
model. Mozilla is an open-source project has been                and the classification algorithm learns which features
used to build internet application such as web                   are the most useful for discriminating among the two
browser (Firefox), mailers and newsreader. Mozilla is            classes. In this context, feature often means some
developed in C++.                                                property of MR which is contain in request, such as
   Metric for evaluating the performance of MRMT                 title of error, description, error encountered, and
system have been presented. In order to evaluate                 source of request. The frequencies of terms for each
accurate and inaccurate categorization of MRs, MLTs              feature in document are used as index word or
information is required. Accuracy is one of the most             keywords. Although, removing very frequent words
common metric which is used in machine learning                  (stop words) are used by researchers in text
techniques. We examine 600 MRs Classification,                   classification but we did not apply it in our work (the
which is released by users, for new features. WEKA               details explain in Section 4.4.4). Thus, all terms exist
tool is utilized to perform three MLTs on model to               in projects are used as text features in our work
show the advantage of it in categorizing MRs into                    We apply the Linguistic features such as text
MT. Now we are going to explain in more details the              filtering, stemming and indexing. In filtering, remove
process of research to solve problem statement.                  punctuation and splitting email address and camel-
    Mozilla, BTS is online system that user entered              case identifier, and in continue the aim of stemming
their requests into these systems. As extracting                 is removing plural and identifying the infinitive of
manually online data is a time consuming task,                   verb. At the last step for indexing used Tf-idf
VB.net program is used to extract the requests                   indexing to find the frequency of the word to
(issues) from Mozilla accumulate as excel and text               distinguish corrective from non-corrective and finally
file. For this purpose the requests number is entered            each request of BTS is labelled by c={0,1} will be
in issues box and cod extracted the texts of features            use by MLT. A value of zero assigned to indicates a
which are determined in each BTS such as title,                  decision to corrective, while a value of one indicates
description. Request in BTS are identified by the                a decision not corrective. When two human experts
terms of features. Two approaches are used for this              decide whether to classify the request under category
research: first step is searching for terms of features          of corrective, they may disagree, and this fact is
manually that is time consuming and need great                   effective on automatic classifier and happens with
efforts of experts in this area. The second step is              relatively high frequency. Three machine learning are
automatically determining MT. Thus, we start from                briefly explained in follow:
first step to achieve the second step that is faster and            Naïve Bayesian:Based on [22] Bayesian classifier
without any human interaction. Features searching is             is a statistical classifier that can predict class
used as an approach such as "fix", "error", "new".               membership probability. In Naive Bayesian classifier
Manually classification of MRs by experts is used to             the effect of attributes on a given class is independent
pre-labelling requests for labelled as “corrective” or           of the other attributes. The model computes the

                                                           35                                http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                    Vol. 8, No. 4, July 2010

probability that a request is related to class c.                  features and evaluation conditions will be illustrated
                                                                   in more detail in next section..
    Where there are two classes, c= (0,1) and each
tuple is represented by n-dimensional attribute A=
                                                                                V.     THE EXPREMENTAL RESULT
(a1,a2,....an). Thus, A belongs to the class having the
highest probability, condition on A. The probability                   There are some tools that we have been used.
of A written as follow:                                            Tools are useful to automatically classifying MRs
                                                                   into MT, such as stemming, Tf-idf, and WEKA Tool.
                                                                   Before we can use WEKA for classification, we need
                                                                   to prepare of data in WEKA format with ARFF
                                                                   extension WEKA tool was used for implementing
    For a given class of requests A which all attributes           Bayesian classifier, Decision Tree, and Logistic
are conditionally independent, all incoming requests               regression. The standard algorithms alternating naive
ci are ranked by the condition probabilities:                      Bayesian classifier, alternating decision tree and
                                                                   logistic regression was used to automatic
                                                                   classification on a set of BTS issues. Finally, cross
                                                                   validation was used to evaluate the performance.
                                                                   Especially, Ten-fold cross validation was used to
                                                                   select the subset of training set since this affects
    Decision Tree: Decision tree is top-down                       classification accuracy. The stemming was
approach which starts at the root of the tree with a               implemented by Porter stemmer from lsa package of
training set of tuples X= (a1, ..., an) and goes through           the      statistical  environment      (http://www.r-
the internal nodes, and the corresponding edge are                 project.org). The Tf-idf indexing was used to find the
followed. At the end the last node which is leaf                   frequency of the words that guide the classification
determining the label c of the X. The leaf nodes are               technique to distinguish corrective.
labelled with either 0 or 1 that indicated to corrective
or adaptive. In this research we applied the                           This part is describing the result of the
Alternating Decision tree or AD tree. AD tree “data                combination of new features, totally four features.
structure” and “algorithm” are a generalization of                 We examined 20 and 50 selected text of features on
decision tree and have connections to boosting which               Mozilla open source project. We show the correct
is based on the question.                                          classification on different number of 20and
                                                                   50features selection as well as precision and recall
   Logistic Regression: Logistic regression is a                   for both classes.
useful way of describing the relationship between one                  In Table I, the naïve Bayesian classification when
or more independent variables and a binary response                increasing the number of features the number of
variable that has only two possible values. Thus,                  precision and recall is increased. Increasing number
class assumes only two values either 0 or 1.                       of features also can increase the accuracy of the
                                                                   model from 67.33 to 73.67.
    There are some text of information on the source
of request and error encountered that are most benefit                           TABLE I.    Naïve Bayesian Classification
to classifying and categorize a distinction between
different type of MR. Combining the source of                                Select                          Naïve Bayes
request and error encountered with the textual                                                                  Predict
features of title, description might result in better                                                   Corrective    Non-Corrective    Rec
                                                                               20      Corrective          209            124            63%
classifying and learners. The results show that                                        Non-corrective       72            195            73%
features might be in correlated. We find that some                                     Prec               74%             61%          67.33%
sources of requests are more interesting in particular                                                          Predict
                                                                                                        Corrective    Non-Corrective    Rec
type of maintenance, and also the most of errors                               50      Corrective          236             97            71%
which occurred in the same place caused the same                                       Non-corrective       61            206            78%
                                                                                       prec               80%             68%          73.67%
MT. Thus, the combination of new features is helpful
to improve the accurate classification on MT. The
                                                                      In Table II, decision tree classification with 20
dataset has run against combination of the features,
                                                                   number of feature it cannot distinguish corrective
and each of the machines learning is used to find the
                                                                   type but with increasing number of feature we can
accuracy for each of them. The details on other
                                                                   obtain better result and improving the accuracy from

                                                             36                                  http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                Vol. 8, No. 4, July 2010

68.5% to 68.7%. In this model with increasing the                              better result in comparison with the other methods.
number of feature precision and recall decreased for                           We showed, combination of textual filed of MRs
corrective type.                                                               could be enough to classify them in to corrective and
If we comparing the naïve Bayesian and ADtree we                               non-corrective.
can see the accuracy of the model with maximum                                     As a future work, considering the semantic of the
number of feature is 73.67% and 68.7% that show the                            requests in classification can be directed a wider
better result in naïve Bayesian model in Table I.                              range of future research. On the other, feature can be
                                                                               used but need a new dictionary for classifying
            TABLEL II.        Decision Tree Classification                     requests, while accuracy can be used as a metric for
                                                                               evaluation accurate classification of the model.
 Select                            ADtree
                              Corrective    Non-Corrective   Rec                                       REFERENCES
   20        Corrective          258             75           78%
             Non-corrective      114            153           57%
             Prec               69%             67%          68.5%             [1] T.M. Pigoski, Practical software maintenance:
                                      Predict                                      best practices for managing your software
                              Corrective    Non-Corrective   Rec
   50        Corrective          198            135           60%                  investment, John Wiley & Sons, Inc. New York,
             Non-corrective       53            214           80%                  NY, USA, 1996.
             prec               79%             61%          68.7%

    In Table III, Logistic Regression classification                           [2] M. Pariazar, J. Shahrabi, M.S. Zaeri, and Sh.
with 20 number of feature it can distinguish                                       Parhizi, “A Combined Approach for Maintenance
corrective type but with increasing number of feature                              Strategy Selection,” 2008.
we can obtain better result and improving the                                   [3] J.F. Bowring, J.M. Rehg, and M.J. Harrold,
accuracy from 67.5% to 78.17%. In this model with                              “Active learning for automatic classification of
increasing the number of feature precision and recall                          software behavior,” SIGSOFT Softw. Eng. Notes,
decreased for corrective type.                                                 vol. 29, 2004, pp. 195-205.
In comparison with other model this model has better                                E. Burch and Hsiang-Jui Kungs, “Modeling
result on 50 texts of features.
                                                                               [4] software maintenance requests: a case study,”
           TABLEL III: Logistic Regression Classification                           Software Maintenance, 1997. Proceedings.,
                                                                                    International Conference on, 1997, pp. 40-47.
 Select                            Logistic Regression                         [5] G.A. Di Lucca_, M. Di Penta__, S. Gradara,
                                      Predict                                  2002, An Approach to Classify Software
                              Corrective    Non-Corrective   Rec               Maintenance Requests, Proceedings of the
   20        Corrective          203            130           61%              International Conference on Software
             Non-corrective       65            202           76%
             Prec               76%             61%          67.5%
                                                                               Maintenance (ICSM.02), 2002 IEE
                                      Predict                                  [6] S.L. Pfleeger, Software Engineering: Theory and
                              Corrective    Non-Corrective    Rec
   50        Corrective           79            115            41%                 Practice, Prentice Hall, 2001.
             Non-corrective       16            390            96%             [7] Y. Singh and B. Goel, “A step towards software
             prec               83%             77%          78.17%
                                                                                   preventive maintenance,” SIGSOFT Softw. Eng.
                                                                                   Notes, vol. 32, 2007, p. 10.
                   VI. CONCLUSION                                              [8] B.J. Williams and J.C. Carver, Characterizing
    Using the naïve Bayesian, decision tree and                                     Changes to Assess Architectural Impact,
logistic regression to classify the system applications                             Citeseer, .
was developed in this work.                                                    [9] E.B.      Swanson,     “The    dimensions     of
    We automated classifying MRs into maintenance                                   maintenance,” Proceedings of the 2nd
type. In the Bayesian classification, we applied
                                                                                    international    conference     on    Software
different numbers of features and its effect on the
accuracy of the model that indicated in the previous                                engineering, San Francisco, California, United
section. Increasing the numbers of features in the                                  States: IEEE Computer Society Press, 1976, pp.
system could accurately classify the requests. We                                   492-497.
compared three machine learning methods and the                                [10] A. April, J.H. Hayes, A. Abran, and R. Dumke,
result show that the Logistic Regression model has a

                                                                         37                                http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 8, No. 4, July 2010

      “Software Maintenance Maturity Model                            Maintenance Requests,” Proceedings of the
      (SM<SUP><FONT                             SIZE='-               International Conference on Software
      1'>mm</FONT></SUP>):            the      software               Maintenance (ICSM'02), IEEE Computer
      maintenance process model,” Journal of                          Society, 2002, p. 93.
      Software Maintenance and Evolution: Research               [22] G.D. Lucca, “An Approach to Classify Software
      and Practice, vol. 17, 2005, pp. 197-223.                       Maintenance Requests,” Proceedings of the
 [1] L. Hatton, “How Accurately Do Engineers                          International Conference on Software
      Predict Software Maintenance Tasks?,”                           Maintenance (ICSM'02), IEEE Computer
      Computer, vol. 40, 2007, pp. 64-69.                             Society, 2002, p. 93.
[12] W.D. Thompson and S.D. Walter, “A                           [23] M. Kajko-Mattsson, “Common Concept
      rEAPPRAISAL           OF       THE       KAPPA                  Apparatus within Corrective Software
      COEFFICIENT,”          Journal     of     Clinical              Maintenance,” Proceedings of the IEEE
      Epidemiology, vol. 41, 1988, pp. 949-958.                       International Conference on Software
[13] B. Everitt, The analysis of contingency tables,                  Maintenance, IEEE Computer Society, 1999, p.
      CRC Press, 1992.                                                287.
 [14] IEEE Standard for Software Maintenance. IEEE               [24] G. Antoniol, K. Ayari, M.D. Penta, F. Khomh,
      Std 1219-1993.                                                   and Y. Guéhéneuc, Is it a bug or an
[15] A.E. Hassan, “Automated classification of                        enhancement?: a text-based approach to classify
      change messages in open source projects,”                       change requests, Proceedings of the 2008
      Proceedings of the 2008 ACM symposium on                        conference of the center for advanced studies
      Applied computing, Fortaleza, Ceara, Brazil:                    on collaborative research: meeting of minds,
      ACM, 2008, pp. 837-841.                                         Ontario, Canada: ACM, 2008, pp. 304-318.
[16] G.D. Lucca, “An Approach to Classify Software
      Maintenance Requests,” Proceedings of the
      International Conference on Software
      Maintenance (ICSM'02), IEEE Computer
      Society, 2002, p. 93.
[17] T. Gyimothy, R. Ferenc, and I. Siket,
      “Empirical Validation of Object-Oriented
      Metrics on Open Source Software for Fault
      Prediction,” IEEE Trans. Softw. Eng., vol. 31,
      2005, pp. 897-910.
[18] M. Fischer, M. Pinzger, and H. Gall,
      “Populating a Release History Database from
      Version Control and Bug Tracking Systems,”
      Proceedings of the International Conference on
      Software Maintenance, IEEE Computer Society,
      2003, p. 23.
[19] N. Mahmoodian, R. Abdullah, M.A. Azmi-
    Murad , “A Framework of Classifying
    Maintenance Requests Based on Learning
[20] A. Hindle, D. German, M. Godfrey, and R.
      Holt, “Automatic classification of large changes
      into maintenance categories,” 2009 IEEE 17th
      International Conference on Program
      Comprehension, Vancouver, BC, Canada:
      IEEE, 2009, pp. 39, 30.
[21] G.D. Lucca, “An Approach to Classify Software

                                                           38                                http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500

To top