Skip to main content

Collecting and Processing Interaction Data for Recommendation Systems

  • Chapter
  • First Online:

Abstract

Traditional recommendation systems in software engineering (RSSE) analyze artifacts stored in large repositories to create relevant recommendations. More recently, researchers have started exploring interaction data as a new source of information—moving closer to the creation and usage of the artifacts rather than just looking at the outcome. In software engineering, interaction data refers to the data that captures and describes the interactions of developers with artifacts using tools. For instance, the interactions might be the edits or selections that affect specific source code entities or webpages (artifacts) using an integrated development environment or a web browser (tools). Interaction data allows to better investigate developers’ behaviors, their intentions, their information needs, and problems encountered, providing new possibilities for precise recommendations. While various recommendation systems that use interaction data have been proposed, there is a variety in the data being collected, the way the data is collected, and how the data is being processed and used. In this chapter, we survey and summarize the major approaches for RSSEs that create recommendations based on interaction data. Along with this, we propose a conceptual framework for collecting and processing interaction data for the purpose of recommendation.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Biehl, J.T., Czerwinski, M., Smith, G., Robertson, G.G.: FASTDash: A visual dashboard for fostering awareness in software teams. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 1313–1322 (2007). doi:10.1145/1240624.1240823

    Google Scholar 

  2. Bruegge, B., Dutoit, A.: Object-Oriented Software Engineering, 3rd edn. Prentice Hall, Englewood Cliffs (2009)

    Google Scholar 

  3. DeLine, R., Czerwinski, M., Robertson, G.G.: Easing program comprehension by sharing navigation data. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 241–248 (2005). doi:10.1109/VLHCC.2005.32

    Google Scholar 

  4. Dourish, P., Bellotti, V.: Awareness and coordination in shared workspaces. In: Proceedings of the ACM Conference on Computer Supported Cooperative Work, pp. 107–114 (1992). doi:10.1145/143457.143468

    Google Scholar 

  5. Eick, S.G., Steffen, J.L., Sumner, E.E. Jr.: Seesoft: a tool for visualizing line oriented software statistics. IEEE Trans. Software Eng. 18(11), 957–968 (1992). doi:10.1109/32.177365

    Article  Google Scholar 

  6. Fritz, T., Ou, J., Murphy, G.C., Murphy-Hill, E.: A degree-of-knowledge model to capture source code familiarity. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, vol. 1, pp. 385–394 (2010). doi:10.1145/1806799.1806856

    Google Scholar 

  7. Google Official Blog: Personalized search for everyone. http://googleblog.blogspot.de/2009/12/personalized-search-for-everyone.html (2009). Retrieved 9 Oct 2013

  8. Griss, M.L.: Software reuse: objects and frameworks are not enough. Technical Report HPL-95-03, Hewlett Packard Laboratories (1995)

    Google Scholar 

  9. Happel, H.J.: Social search and need-driven knowledge sharing in Wikis with Woogle. In: Proceedings of the International Symposium on Wikis and Open Collaboration, pp. 13:1–13:10 (2009). doi:10.1145/1641309.1641329

    Google Scholar 

  10. Happel, H.J., Maalej, W.: Potentials and challenges of recommendation systems for software development. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 11–15 (2008). doi:10.1145/1454247.1454251

    Google Scholar 

  11. Herzig, K., Zeller, A.: Mining bug data: a practitioner’s guide. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering. Springer, Berlin (2014)

    Google Scholar 

  12. Hill, W.C., Hollan, J.D., Wroblewski, D.A., McCandless, T.: Edit wear and read wear. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 3–9 (1992). doi:10.1145/142750.142751

    Google Scholar 

  13. Kersten, M., Murphy, G.C.: Mylar: a degree-of-interest model for IDEs. In: Proceedings of the International Conference on Aspect-Oriented Software Development, pp. 159–168 (2005). doi:10.1145/1052898.1052912

    Google Scholar 

  14. Kersten, M., Murphy, G.C.: Using task context to improve programmer productivity. In: Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 1–11 (2006). doi:10.1145/1181775.1181777

    Google Scholar 

  15. Lanza, M., Hattori, L., Guzzi, A.: Supporting collaboration awareness with real-time visualization of development activity. In: Proceedings of the European Conference on Software Maintenance and Reengineering, pp. 202–211 (2010). doi:10.1109/CSMR.2010.37

    Google Scholar 

  16. Lee, T., Nam, J., Han, D., Kim, S., In, H.P.: Micro interaction metrics for defect prediction. In: Proceedings of the European Software Engineering Conference/ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 311–321 (2011). doi:10.1145/2025113.2025156

    Google Scholar 

  17. Maalej, W.: Task-first or context-first?: Tool integration revisited. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 344–355 (2009). doi:10.1109/ASE.2009.36

    Google Scholar 

  18. Maalej, W.: Intention-Based Integration of Software Engineering Tools. Verlag Dr. Hut, München (2010)

    Google Scholar 

  19. Maalej, W., Happel, H.J.: A lightweight approach for knowledge sharing in distributed software teams. In: Proceedings of the International Conference on Practical Aspects of Knowledge Management. Lecture Notes in Computer Science, vol. 5345, pp. 14–25 (2008). doi:10.1007/978-3-540-89447-6_4

    Google Scholar 

  20. Maalej, W., Happel, H.J.: From work to word: how do software developers describe their work? In: Proceedings of the International Working Conference on Mining Software Repositories, pp. 121–130 (2009). doi:10.1109/MSR.2009.5069490

    Google Scholar 

  21. Maalej, W., Happel, H.J.: Can development work describe itself? In: Proceedings of the International Working Conference on Mining Software Repositories, pp. 191–200 (2010). doi:10.1109/MSR.2010.5463344

    Google Scholar 

  22. Maalej, W., Pagano, D.: On the socialness of software. In: Proceedings of the IEEE International Conference on Dependable, Autonomic and Secure Computing, pp. 864–871 (2011). doi:10.1109/DASC.2011.146

    Google Scholar 

  23. Maalej, W., Sahm, A.: Assisting engineers in switching artifacts by using task semantic and interaction history. In: Proceedings of the International Workshop on Recommendation Systems for Software Engineering, pp. 59–63 (2010). doi:10.1145/1808920.1808935

    Google Scholar 

  24. Maalej, W., Happel, H.J., Rashid, A.: When users become collaborators: towards continuous and context-aware user input. In: Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 981–990 (2009). doi:10.1145/1639950.1640068

    Google Scholar 

  25. McKeen, J.D., Guimaraes, T.: Successful strategies for user participation in system development. J. Manag. Inf. Syst. 14(2), 133–150 (1997)

    Google Scholar 

  26. Menzies, T.: Data mining: a tutorial. In: Robillard, M., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering. Springer, Berlin (2014)

    Google Scholar 

  27. Murphy-Hill, E., Jiresal, R., Murphy, G.C.: Improving software developers’ fluency by recommending development environment commands. In: Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 42:1–42:11 (2012). doi:10.1145/2393596.2393645

    Google Scholar 

  28. Pagano, D., Juan, M.A., Bagnato, A., Roehm, T., Bruegge, B., Maalej, W.: FastFix: monitoring control for remote software maintenance. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 1437–1438 (2012). doi:10.1109/ICSE.2012.6227076

    Google Scholar 

  29. Parnin, C., Rugaber, S.: Resumption strategies for interrupted programming tasks. In: Proceedings of the IEEE International Conference on Program Comprehenension, pp. 80–89 (2009). doi:10.1109/ICPC.2009.5090030

    Google Scholar 

  30. Rajlich, V.: Software Engineering: The Current Practice. CRC, West Palm Beach (2012)

    Google Scholar 

  31. Robbes, R., Lanza, M.: Characterizing and understanding development sessions. In: Proceedings of the IEEE International Conference on Program Comprehenension, pp. 155–166 (2007). doi:10.1109/ICPC.2007.12

    Google Scholar 

  32. Robbes, R., Lanza, M.: SpyWare: a change-aware development toolset. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 847–850 (2008). doi:10.1145/1368088.1368219

    Google Scholar 

  33. Robbes, R., Lanza, M.: Improving code completion with program history. Autom. Software Eng. Int. J. 17(2), 181–212 (2010). doi:10.1007/s10515-010-0064-x

    Article  Google Scholar 

  34. Roehm, T., Maalej, W.: Automatically detecting developer activities and problems in software development work. In: Proceedings of the ACM/IEEE International Conference on Software Engineering (2012). doi:10.1109/ICSE.2012.6227104

    Google Scholar 

  35. Roehm, T., Gurbanova, N., Bruegge, B., Joubert, C., Maalej, W.: Monitoring user interactions for supporting failure reproduction. In: Proceedings of the IEEE International Conference on Program Comprehenension, pp. 73–82 (2013)

    Google Scholar 

  36. Sawadsky, N., Murphy, G.C., Jiresal, R.: Reverb: recommending code-related web pages. In: Proceedings of the ACM/IEEE International Conference on Software Engineering, pp. 812–821 (2013). doi:10.1109/ICSE.2013.6606627

    Google Scholar 

  37. Shen, J., Irvine, J., Bao, X., Goodman, M., Kolibaba, S., Tran, A., Carl, F., Kirschner, B., Stumpf, S., Dietterich, T.G.: Detecting and correcting user activity switches: algorithms and interfaces. In: Proceedings of the International Conference on Intelligent User Interfaces, pp. 117–126 (2009). doi:10.1145/1502650.1502670

    Google Scholar 

  38. Singer, J., Elves, R., Storey, M.A.D.: NavTracks: supporting navigation in software maintenance. In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 325–334 (2005). doi:10.1109/ICSM.2005.66

    Google Scholar 

  39. Wexelblat, A., Maes, P.: Footprints: history-rich tools for information foraging. In: Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, pp. 270–277 (1999). doi:10.1145/302979.303060

    Google Scholar 

  40. Ying, A.T.T., Robillard, M.P.: The influence of the task on programmer behaviour. In: Proceedings of the IEEE International Conference on Program Comprehenension, pp. 31–40 (2011). doi:10.1109/ICPC.2011.35

    Google Scholar 

  41. Zou, L., Godfrey, M.W.: An industrial case study of Coman’s automated task detection algorithm: what worked, what didn’t, and why. In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 6–14 (2012). doi:10.1109/ICSM.2012.6405247

    Google Scholar 

Download references

Acknowledgments

We are grateful to Tobias Roehm, Zardosht Hodaie, and the reviewers for their constructive feedback on this chapter. We also thank Bernd Brügge and Bashar Nuseibeh for the comments on early versions of this work. The first author is supported by the EU research projects MUSES (grant FP7-318508).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Walid Maalej .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Maalej, W., Fritz, T., Robbes, R. (2014). Collecting and Processing Interaction Data for Recommendation Systems. In: Robillard, M., Maalej, W., Walker, R., Zimmermann, T. (eds) Recommendation Systems in Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45135-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-45135-5_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-45134-8

  • Online ISBN: 978-3-642-45135-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics