Understanding and Identifying Large-Scale Adaptive Changes from Version Histories
Total Page:16
File Type:pdf, Size:1020Kb
UNDERSTANDING AND IDENTIFYING LARGE-SCALE ADAPTIVE CHANGES FROM VERSION HISTORIES A dissertation submitted to Kent State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy by Omar M. Meqdadi August, 2013 Dissertation written by Omar M. Meqdadi B.S., Jordan University of Science and Technology, Jordan, 2002 M.S., Jordan University of Science and Technology, Jordan, 2007 Ph.D. Kent Sate University, USA, 2013 Approved by Dr. Jonathan I. Maletic Chair, Doctoral Dissertation Committee Dr. Feodor F. Dragan Members, Doctoral Dissertation Committee Dr. L.Gwenn Volkert Dr. Michael L. Collard Dr. Joseph Ortiz Accepted by Dr. Javed I. Khan , Chair, Department of Computer Science Dr. James L. Blank , Dean, College of Arts and Sciences ii TABLE OF CONTENTS LIST OF FIGURES ..................................................................................................... VIII LIST OF TABLES .......................................................................................................... XI ACKNOWLEDGMENTS .............................................................................................XV CHAPTER 1 INTRODUCTION ..................................................................................... 1 1.1 Recognizing Adaptive Changes ................................................................................ 3 1.2 Research Focus .......................................................................................................... 4 1.3 Conducted Research .................................................................................................. 5 1.4 Contributions ............................................................................................................. 6 1.5 Organization .............................................................................................................. 7 CHAPTER 2 A BACKGROUND AND RELATED WORK ON ADAPTIVE MAINTENANCE .................................................................................................. 9 2.1 Software Maintenance Categorization ...................................................................... 9 2.2 Adaptive Maintenance Overview ............................................................................ 11 2.3 Adaptive Maintenance Process ............................................................................... 14 2.4 Adaptive Maintenance Challenges .......................................................................... 15 2.5 Automated Adaptive Process Background .............................................................. 19 2.6 Summary ................................................................................................................. 22 CHAPTER 3 A MANUAL IDENTIFICATION OF ADAPTIVE COMMITS ........ 23 3.1 Software Repository commits ................................................................................. 24 3.2 Subject Systems ....................................................................................................... 26 3.2.1 KOffice System ............................................................................................. 27 iii 3.2.2 Extragear/graphics System ............................................................................ 28 3.2.3 OSG System .................................................................................................. 28 3.3 Manual Investigation of Adaptive Commits ........................................................... 29 3.3.1 Investigation Approach ................................................................................. 29 3.3.2 Summary of Findings .................................................................................... 31 3.4 Manual Investigation Challenges ............................................................................ 34 3.5 Summary ................................................................................................................. 35 CHAPTER 4 CHARACTERIZING THE ADAPTIVE COMMITS ......................... 36 4.1 Adaptive Commit Size Categorization .................................................................... 37 4.2 Adaptive Commit Vocabulary................................................................................. 47 4.3 Adaptive Commit Developers ................................................................................. 49 4.4 Developer and Vocabulary Correlation ................................................................... 54 4.5 Threats to Validity ................................................................................................... 59 4.6 Related Work ........................................................................................................... 63 4.7 Summary ................................................................................................................. 66 CHAPTER 5 EXAMINING ADAPTIVE CHANGES ON SOFTWARE ARTIFACTS ....................................................................................................... 68 5.1 Software Artifact Types .......................................................................................... 68 5.2 Features Extraction from Changed Artifacts ........................................................... 70 5.3 Commit Categorization Using Changed Artifacts .................................................. 72 5.4 Changed Files Categorization ................................................................................. 76 5.5 Threats to Validity ................................................................................................... 85 iv 5.6 Related Work ........................................................................................................... 87 5.7 Summary ................................................................................................................. 89 CHAPTER 6 STEREOTYPE OF ADAPTIVE MODIFIED METHODS: A CASE STUDY ................................................................................................................. 91 6.1 Method Stereotypes ................................................................................................. 91 6.2 Method Stereotype Distributions ............................................................................ 92 6.3 Stereotype-Based Commit Categorization .............................................................. 98 6.4 Threats to Validity ................................................................................................. 102 6.5 Related Work ......................................................................................................... 103 6.6 Summary ............................................................................................................... 105 CHAPTER 7 AUTOMATIC IDENTIFICATION OF ADAPTIVE COMMITS USING LSI ........................................................................................................ 107 7.1 LSI -Based Approach ............................................................................................ 108 7.1.1 Overview of Latent Semantic Indexing ...................................................... 109 7.1.2 The Approach .............................................................................................. 109 7.2 Evaluation .............................................................................................................. 114 7.2.1 LSI Topic Extraction Results ...................................................................... 115 7.2.2 Adaptive commits Allocating Results ......................................................... 117 7.3 Threats to Validity ................................................................................................. 125 7.4 Related Work ......................................................................................................... 126 7.5 Summary ............................................................................................................... 128 v CHAPTER 8 AUTOMATICALLY UNCOVERING FOR TRACEABILITY LINKS FROM ADAPTIVE COMMITS ..................................................................... 130 8.1 Uncovering Traceability Link ............................................................................... 131 8.1.1 Commit Grouping Heuristics ...................................................................... 132 8.1.2 Frequent Pattern-Mining Approach ............................................................ 134 8.1.3 Uncovered Traceability Link Data Set ........................................................ 136 8.2 Validation .............................................................................................................. 141 8.2.1 TraceLab - Based Validation Experiment ................................................... 142 8.2.2 Validation Metrics ....................................................................................... 143 8.2.3 Validation Results ....................................................................................... 144 8.3 Threats to Validity ................................................................................................. 145 8.4 Related Work ......................................................................................................... 147 8.5 Summary ............................................................................................................... 150 CHAPTER 9 CONCLUSIONS AND FUTURE WORK .......................................... 152 9.1 Conclusion