Measuring Software Maintainability with Naive Bayes Classifier

被引:7
作者
Iqbal, Nayyar [1 ]
Sang, Jun [1 ]
Chen, Jing [1 ]
Xia, Xiaofeng [1 ]
机构
[1] Chongqing Univ, Sch Big Data & Software Engn, Chongqing 401331, Peoples R China
关键词
errors; Naï ve Bayes; software components; software requirements; supervised learning; WEKA software;
D O I
10.3390/e23020136
中图分类号
O4 [物理学];
学科分类号
0702 ;
摘要
Software products in the market are changing due to changes in business processes, technology, or new requirements from the customers. Maintainability of legacy systems has always been an inspiring task for the software companies. In order to determine whether the software requires maintainability by reverse engineering or by forward engineering approach, a system assessment was done from diverse perspectives: quality, business value, type of errors, etc. In this research, the changes required in the existing software components of the legacy system were identified using a supervised learning approach. New interfaces for the software components were redesigned according to the new requirements and/or type of errors. Software maintainability was measured by applying a machine learning technique, i.e., Naive Bayes classifier. The dataset was designed based on the observations such as component state, successful or error type in the component, line of code of error that exists in the component, component business value, and changes required for the component or not. The results generated by the Waikato Environment for Knowledge Analysis (WEKA) software confirm the effectiveness of the introduced methodology with an accuracy of 97.18%.
引用
收藏
页码:1 / 27
页数:27
相关论文
共 37 条
  • [1] Alhusain S, 2013, 2013 13TH UK WORKSHOP ON COMPUTATIONAL INTELLIGENCE (UKCI), P244, DOI 10.1109/UKCI.2013.6651312
  • [2] Detecting defects in software requirements specification
    Alshazly, Amira A.
    Elfatatry, Ahmed M.
    Abougabal, Mohamed S.
    [J]. ALEXANDRIA ENGINEERING JOURNAL, 2014, 53 (03) : 513 - 527
  • [3] Alwis R., MACHINE LEARNING TEC
  • [4] [Anonymous], MACHINE LEARNING WAI
  • [5] Ansari M.Z.A., SOFTROLOGY LEARN SOF
  • [6] Barker T.T., 2002, WRITING SOFTWARE DOC, V2, P75
  • [7] Boulanger J.-L., 2018, CERTIFIABLE SOFTWARE, P155
  • [8] A PATTERN-RECOGNITION APPROACH FOR SOFTWARE ENGINEERING DATA-ANALYSIS
    BRIAND, LC
    BASILI, VR
    THOMAS, WM
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (11) : 931 - 942
  • [9] Disruptive Change in Requirements Engineering Research
    Cleland-Huang, Jane
    [J]. 2018 IEEE 26TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE 2018), 2018, : 1 - 2
  • [10] Cohen W. W., 1995, Automated Software Engineering, V2, P107, DOI 10.1007/BF00871824