Exploring the efficacy of transfer learning in mining image-based software artifacts

被引:25
作者
Best, Natalie [1 ]
Ott, Jordan [2 ]
Linstead, Erik J. [1 ]
机构
[1] Chapman Univ, Fowler Sch Engn, One Univ Dr, Orange, CA 92866 USA
[2] Univ Calif Irvine, Sch Informat & Comp Sci, Irvine, CA USA
关键词
Deep learning; Transfer learning; UML; CONVOLUTIONAL NEURAL-NETWORKS;
D O I
10.1186/s40537-020-00335-4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
BackgroundTransfer learning allows us to train deep architectures requiring a large number of learned parameters, even if the amount of available data is limited, by leveraging existing models previously trained for another task. In previous attempts to classify image-based software artifacts in the absence of big data, it was noted that standard off-the-shelf deep architectures such as VGG could not be utilized due to their large parameter space and therefore had to be replaced by customized architectures with fewer layers. This proves to be challenging to empirical software engineers who would like to make use of existing architectures without the need for customization.FindingsHere we explore the applicability of transfer learning utilizing models pre-trained on non-software engineering data applied to the problem of classifying software unified modeling language (UML) diagrams. Our experimental results show training reacts positively to transfer learning as related to sample size, even though the pre-trained model was not exposed to training instances from the software domain. We contrast the transferred network with other networks to show its advantage on different sized training sets, which indicates that transfer learning is equally effective to custom deep architectures in respect to classification accuracy when large amounts of training data is not available.ConclusionOur findings suggest that transfer learning, even when based on models that do not contain software engineering artifacts, can provide a pathway for using off-the-shelf deep architectures without customization. This provides an alternative to practitioners who want to apply deep learning to image-based classification but do not have the expertise or comfort to define their own network architectures.
引用
收藏
页数:10
相关论文
共 27 条
  • [1] Accurately Predicting the Location of Code Fragments in Programming Video Tutorials Using Deep Learning
    Alahmadi, Mohammad
    Hassel, Jonathan
    Parajuli, Biswas
    Haiduc, Sonia
    Kumar, Piyush
    [J]. PROMISE'18: PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON PREDICTIVE MODELS AND DATA ANALYTICS IN SOFTWARE ENGINEERING, 2018, : 2 - 11
  • [2] Arvin AM, 2009, LIVE VARIOLA VIRUS: CONSIDERATIONS FOR CONTINUING RESEARCH, P9
  • [3] Transfer Learning for Cell Nuclei Classification in Histopathology Images
    Bayramoglu, Neslihan
    Heikkila, Janne
    [J]. COMPUTER VISION - ECCV 2016 WORKSHOPS, PT III, 2016, 9915 : 532 - 539
  • [4] Bengio Yoshua, 2012, Neural Networks: Tricks of the Trade. Second Edition: LNCS 7700, P437, DOI 10.1007/978-3-642-35289-8_26
  • [5] He K., 2016, PROC CVPR IEEE, DOI DOI 10.1109/CVPR.2016.90
  • [6] The Quest for Open Source Projects that use UML
    Hebig, Regina
    Truong Ho Quang
    Chaudron, Michel R., V
    Robles, Gregorio
    Angel Fernandez, Miguel
    [J]. 19TH ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS'16), 2016, : 173 - 183
  • [7] Hjaltason J., 2015, Automatic classification of uml class diagrams through image feature extraction and machine learning
  • [8] Jamshidi P, 2017, ARXIV170400234 CORR
  • [9] Heterogeneous Cross-Company Defect Prediction by Unified Metric Representation and CCA-Based Transfer Learning
    Jing, Xiaoyuan
    Wu, Fei
    Dong, Xiwei
    Qi, Fumin
    Xu, Baowen
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 496 - 507
  • [10] Transfer learning in effort estimation
    Kocaguneli, Ekrem
    Menzies, Tim
    Mendes, Emilia
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2015, 20 (03) : 813 - 843