Skip to main content

An Overview of Recommender Systems in Requirements Engineering

  • Chapter
  • First Online:
Managing Requirements Knowledge

Abstract

Requirements engineering (RE) is considered as one of the most critical phases in software development. Poorly implemented RE processes are still one of the major risks for project failure. As a consequence, we can observe an increasing demand for intelligent software components that support stakeholders in the completion of RE tasks. In this chapter, we give an overview of the research dedicated to the application of recommendation technologies in RE. On the basis of a literature analysis, we exemplify the application of recommendation technologies in different scenarios. In this context, the approaches of collaborative filtering, content-based filtering, clustering, knowledge-based recommendation, group-based recommendation, and social network analysis are discussed. With the goal to stimulate further related research, we conclude the chapter with a discussion of issues for future work.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.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

Institutional subscriptions

Notes

  1. 1.

    Note that the parameter \( s \) in Formula 14.1 represents a user profile; however, this approach can as well be applied to calculate the similarities between different requirements, that is, \( sim({r_i},{r_j}) \).

References

  1. Hofmann H, Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Softw 18(4):58–66

    Article  Google Scholar 

  2. Sommerville I (2007) Software engineering. Pearson, Munich

    Google Scholar 

  3. Felfernig A, Maalej W, Mandl M, Schubert M, Ricci F (2010) Recommendation and decision technologies for requirements engineering. In: ICSE 2010 workshop on recommender systems in software engineering, Cape Town, pp 1–5

    Google Scholar 

  4. Maalej W, Thurimella A (2009) Towards a research agenda for recommendation systems in requirements engineering. In: Proceedings of 2nd international workshop on managing requirements knowledge, Atlanta

    Google Scholar 

  5. Mobasher B, Cleland-Huang J (2011) Recommender systems in requirements engineering. AI Mag 32(3):81–89

    Google Scholar 

  6. Felfernig A, Burke R, Goeker M (2011) Recommender systems: an overview. AI Mag 32(3):13–18

    Google Scholar 

  7. Burke R (2000) Knowledge-based recommender systems. Encycl Libr Inf Syst 69(32):180–200

    Google Scholar 

  8. Burke R (2002) Hybrid recommender systems: survey and experiments. UMUAI J 12(4):331–370

    MATH  Google Scholar 

  9. Terveen L, Herlocker J, Konstan J, Riedl J (2004) Evaluating collaborative filtering recommender systems. ACM Trans Inf Syst 22(1):5–53

    Article  Google Scholar 

  10. Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Inter Comput 7(1):76–80

    Article  Google Scholar 

  11. Pazzani M, Billsus D (1997) Learning and revising user profiles: the identification of interesting web sites. Mach Learn 27:313–331

    Article  Google Scholar 

  12. Felfernig A, Burke R (2008) Constraint-based recommender systems: technologies and research issues. In: Proceedings of IEEE ICEC’08, Innsbruck, pp 17–26

    Google Scholar 

  13. Konstan J, Miller B, Maltz D, Herlocker J, Gordon L, Riedl J (1997) Grouplens: applying collaborative filtering to usenet news full text. Commun ACM 40(3):77–87

    Article  Google Scholar 

  14. Witten I, Frank E (2005) Data mining. Elsevier, San Francisco

    MATH  Google Scholar 

  15. Masthoff J (2004) Group modeling: selecting a sequence of television items to suit a group of viewers. UMUAI 14(1):37–85

    Google Scholar 

  16. Golbeck J (2009) Computing with social trust. Springer, London

    Book  Google Scholar 

  17. Lim S, Quercia D, Finkelstein A (2010) Stakenet: using social networks to analyse the stakeholders of large-scale software projects. In: Proceedings of ACM/IEEE, Cape Town, pp 295–304

    Google Scholar 

  18. Castro-Herrera C, Duan C, Cleland-Huang J, Mobasher B (2008) Using data mining and recommender systems to facilitate large-scale, open, and inclusive requirements elicitation processes. In: Proceeding of the 16th IEEE international conference on requirements engineering (RE’08), Barcelona, pp 165–168

    Google Scholar 

  19. Dumitru H, Gibiec M, Hariri N, Cleland-Huang J, Mobasher B, Castro-Herrera C (2011) On-demand feature recommendations derived from mining public product descriptions. In: Proceedings of ACM/IEEE, Waikiki/Honolulu, pp 181–190

    Google Scholar 

  20. Lim S, Finkelstein A (2012) Stakerare: using social networks and collaborative filtering for large-scale requirements elicitation. IEEE Transactions on Software Engineering 38(3):707–735

    Google Scholar 

  21. Fitzgerald C, Letier E, Finkelstein A (2011) Early failure prediction in feature request management systems. In: 19th IEEE requirements engineering conference, Trento, pp 229–238

    Google Scholar 

  22. Cleland-Huang J, Dumitru H, Duan C, Castro-Herrera C (2009) Automated support for managing feature requests in open forums. Communications of the ACM 52(11):68–74

    Article  Google Scholar 

  23. Felfernig A, Schubert M, Mandl M, Ghirardini P (2010) Diagnosing inconsistent requirements preferences in distributed software projects. In: Proceedings of 3rd International workshop on social software engineering, Paderborn, pp 1–8

    Google Scholar 

  24. Duan C, Laurent P, Cleland-Huang J, Kwiatkowski C (2009) Towards automated requirements prioritization and triage. Requir Eng 14(2):73–89

    Article  Google Scholar 

  25. Felfernig A, Zehentner C, Ninaus G, Grabner H, Maalej W, Pagano D, Weninger L, Reinfrank F (2011) Group decision support for requirements negotiation. Springer Lect Notes Comput Sci 7138:1–12

    Google Scholar 

  26. Ruhe G, Eberlein A, Pfahl D (2003) Trade-off analysis for requirements selection. J Softw Eng Knowl Eng (IJSEKE) 13(4):354–366

    Google Scholar 

  27. Ruhe G, Saliu M (2005) The art and science of software release planning. IEEE Softw 22(6):47–53

    Article  Google Scholar 

  28. Marczak S, Kwan I, Damian D (2007) Social networks in the study of collaboration in global software teams. In: Proceedings of ICGSE’07, Munich

    Google Scholar 

  29. Iyer J, Richards D (2004) Evaluation framework for tools that manage requirements inconsistency. In: 9th Australian workshop on requirements engineering, Adelaide, pp 1.1–1.8

    Google Scholar 

  30. Tsang E (1993) Foundations of constraint satisfaction. Academic, London

    Google Scholar 

  31. Reiter R (1987) A theory of diagnosis from first principles. AI J 23(1):57–95

    MathSciNet  Google Scholar 

  32. Fantechi A, Spinicci E (2005) A content analysis technique for inconsistency detection in software requirements documents. In: WER05 – workshop em Engenharia de Requisitos, Porto, pp 245–256

    Google Scholar 

  33. Aurum A, Wohlin C (2003) The fundamental nature of requirements engineering activities as a decision-making process. Inf Soft Technol 45(14):945–954

    Article  Google Scholar 

  34. Davis A (2003) The art of requirements triage. IEEE Comput 36(3):42–49

    Article  Google Scholar 

  35. Schrijver A (1998) Theory of linear and integer programming. Wiley, New York

    MATH  Google Scholar 

  36. Felfernig A, Friedrich G, Schubert M, Mandl M, Mairitsch M, Teppan E (2009) Plausible repairs for inconsistent requirements. In: Proceedings of IJCAI’09, Pasadena, pp 791–796

    Google Scholar 

  37. McFadden D (1999) Rationality for economists. J Risk Uncertain 19(1):73–105

    Article  MATH  Google Scholar 

  38. Bettman J, Luce M, Payne J (1998) Constructive consumer choice. J Consum Res 25(3):187–217

    Article  Google Scholar 

  39. Lichtenstein S, Slovic P (2006) The construction of preference. Cambridge University Press, New York

    Book  Google Scholar 

  40. Masthoff J (2011) Group recommender systems. In: Recommender systems handbook. Springer, Boston, pp 677–702

    Google Scholar 

  41. Jameson A, Baldes S, Kleinbauer T (2004) Two methods for enhancing mutual awareness in a group recommender system. In: ACM international working conference on advanced visual interfaces, Gallipoli, pp 48–54

    Google Scholar 

  42. Roy L, Mooney R (2004) Content-based book recommending using learning for text categorization. User Model User-Adapt Interact 14(1):37–85

    Article  Google Scholar 

  43. Can F, Ozkarahan A (1990) Concepts and effectiveness of the clustering methodology for text databases. ACM Trans Database Syst 15(4):483–517

    Article  Google Scholar 

  44. Lohmann S, Riechert T, Auer S (2008) Collaborative development of knowledge bases in distributed requirements elicitation. In: Software engineering (workshops): agile knowledge sharing for distributed software teams, Munich, pp 22–28

    Google Scholar 

  45. Junker U (2004) Quickxplain: preferred explanations and relaxations for over-constrained problems. In: Proceedings of 19th national conference on AI (AAAI04), San Jose, pp 167–172

    Google Scholar 

  46. Felfernig A, Schubert M, Mandl M, Ghirardini P (2010) Diagnosing inconsistent requirements preferences in distributed software projects. In: Proceedings of 3rd international workshop on social software engineering, Paderborn, pp 1–8

    Google Scholar 

  47. Felfernig A, Chen L, Mandl M (2005) Recsys’11 workshop on human decision making in recommender systems, Chicago, pp 389–390

    Google Scholar 

  48. Burke R, Felfernig A, Goeker M (2011) Recommender systems – an overview. AI Mag 32(3):13–18

    Google Scholar 

  49. Hans-Jörg H, Maalej W (2008) Potentials and challenges of recommendation systems for software development. In: RSSE ’08: proceedings of the 2008 international workshop on recommendation systems for software engineering, ACM, Atlanta

    Google Scholar 

  50. Anand S, Mobasher B (2007) Contextual recommendation. In: Discovering and deploying user and content profiles, Springer Berlin/Heidelberg, pp 142–160

    Google Scholar 

Download references

Acknowledgements

The work presented in this chapter has been conducted in the IntelliReq (829626) research project funded by the Austrian Research Promotion Agency.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. Felfernig .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Felfernig, A. et al. (2013). An Overview of Recommender Systems in Requirements Engineering. In: Maalej, W., Thurimella, A. (eds) Managing Requirements Knowledge. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34419-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34419-0_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34418-3

  • Online ISBN: 978-3-642-34419-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics