Understanding and Identifying Large-Scale Adaptive Changes from Version Histories

Understanding and Identifying Large-Scale Adaptive Changes from Version Histories

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    205 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us