Advertisement

Abstract

The central problem addressed by this interdisciplinary paper is to predict related software artifacts that are usually changed together by a developer. The working focus of programmers is revealed by means of their interactions with a software repository that receives a set of cohesive artifact changes within one commit transaction. This implicit knowledge of interdependent changes can be exploited in order to recommend likely further changes, given a set of already changed artifacts. We suggest a hybrid approach based on Latent Semantic Indexing (LSI) and machine learning methods to recommend software development artifacts, that is predicting a sequence of configuration items that were committed together. As opposed to related approaches to repository mining that are mostly based on symbolic methods like Association Rule Mining (ARM), our connectionist method is able to generalize onto unseen artifacts. Text analysis methods are employed to consider their textual attributes. We applied our technique to three publicly available datasets from the PROMISE Repository of Software Engineering Databases. The evaluation showed that the connectionist LSI-approach achieves a significantly higher recommendation accuracy than existing methods based on ARM. Even when generalizing onto unseen artifacts, our approach still provides an accuracy of up to 72.7% on the given datasets.

Keywords

Change impact analysis recurrent neural networks latent semantic indexing repository mining artifact recommendation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Achtert, E., Kriegel, H.-P., Pryakhin, A., Schubert, M.: Hierarchical density-based clustering for multi-represented objects. In: Workshop on Mining Complex Data (MCD 2005), ICDM, Houston, TX, Institute for Computer Science, University of Munich (2005)Google Scholar
  2. 2.
    Agrawal, R., Srikant, R.: Fast algorithms for mining association rules. In: Proc. of the 20th Int. Conf. on Very Large Data Bases, VLDB, Santiago, Chile (1994)Google Scholar
  3. 3.
    Bohner, S., Arnold, R.: Software change impact analysis, pp. 1–28. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  4. 4.
    Bruegge, B., Dutoit, A.H.: Object-Oriented Software Engineering Using UML, Patterns, and Java. Prentice-Hall, Englewood Cliffs (2004)Google Scholar
  5. 5.
    Budzik, J., Fu, X., Hammond, K.J.: Mining navigation history for recommendation. In: Proceedings of the 5th international conference on Intelligent user interfaces, New Orleans, Louisiana, United States, pp. 106–112. ACM Press, New York (2000)Google Scholar
  6. 6.
    Callan, R.: Neuronale Netze im Klartext. Pearson Studium, London (2003)Google Scholar
  7. 7.
    Cubranic, D., Murphy, G.C.: Hipikat: Recommending pertinent software development artifacts. In: 25th International Conference on Software Engineering (ICSE 2003), pp. 408–418 (2003)Google Scholar
  8. 8.
    Deerwester, S., Dumais, S.T., Furnas, G.W., Harshman, R., Landauer, T.K.: Indexing by latent semantic analysis. Technical Report 6 (1990)Google Scholar
  9. 9.
    Gall, H., Hajek, K., Jazayeri, M.: Detection of logical coupling based on product release history. In: International Conference on Software Maintenance (ICSM 1998) (1998)Google Scholar
  10. 10.
    Massey, B.: Nickle repository transaction data, Computer Science Dept., Portland State University, Portland, OR, USA (2005)Google Scholar
  11. 11.
    Porter, M.: An algorithm for suffix stripping. Technical Report 3 (1980)Google Scholar
  12. 12.
    Salton, G., Wong, A., Yang, C.S.: A vector space model for automatic indexing. Communications of the ACM 18, 613–620 (1975)zbMATHCrossRefGoogle Scholar
  13. 13.
    Sayyad Shirabad, J., Menzies, T.: The PROMISE repository of software engineering databases. School of Information Technology and Engineering, University of Ottawa, Canada (2005)Google Scholar
  14. 14.
    Schmidhuber, J.: Discovering neural nets with low kolmogorov complexity and high generalization capability. Neural Networks 10, 857–873 (1997)CrossRefGoogle Scholar
  15. 15.
    Sherriff, M., Lake1, M., Williams, L.: Empirical software change impact analysis using singular value decomposition. IBM, North Carolina State University (2007), ftp://ftp.ncsu.edu/pub/unity/lockers/ftp/csc_anon/tech/2007/TR-2007-13.pdf
  16. 16.
    Singer, J., Elves, R., Storey, M.-A.: Navtracks: Supporting navigation in software maintenance. In: Proceedings of the International Conference on Software Maintenance (2005)Google Scholar
  17. 17.
    Syu, I., Lang, S.D., Deo, N.: Incorporating latent semantic indexing into a neural network model for information retrieval. In: Proceedings of the fifth international conference on Information and knowledge management, pp. 145–153 (1996)Google Scholar
  18. 18.
    Zimmermann, T., Weißgerber, P., Diehl, S., Zeller, A.: Mining version histories to guide software changes. In: International Conference on Software Engineering (ICSE 2004) (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Joern David
    • 1
  1. 1.Institute of Computer Science I1Technical University MunichGarchingGermany

Personalised recommendations