An Overview of Recommender Systems in Requirements Engineering

  • A. FelfernigEmail author
  • G. Ninaus
  • H. Grabner
  • F. Reinfrank
  • L. Weninger
  • D. Pagano
  • W. Maalej


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.



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


  1. 1.
    Hofmann H, Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Softw 18(4):58–66CrossRefGoogle Scholar
  2. 2.
    Sommerville I (2007) Software engineering. Pearson, MunichGoogle Scholar
  3. 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–5Google Scholar
  4. 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, AtlantaGoogle Scholar
  5. 5.
    Mobasher B, Cleland-Huang J (2011) Recommender systems in requirements engineering. AI Mag 32(3):81–89Google Scholar
  6. 6.
    Felfernig A, Burke R, Goeker M (2011) Recommender systems: an overview. AI Mag 32(3):13–18Google Scholar
  7. 7.
    Burke R (2000) Knowledge-based recommender systems. Encycl Libr Inf Syst 69(32):180–200Google Scholar
  8. 8.
    Burke R (2002) Hybrid recommender systems: survey and experiments. UMUAI J 12(4):331–370zbMATHGoogle Scholar
  9. 9.
    Terveen L, Herlocker J, Konstan J, Riedl J (2004) Evaluating collaborative filtering recommender systems. ACM Trans Inf Syst 22(1):5–53CrossRefGoogle Scholar
  10. 10.
    Linden G, Smith B, York J (2003) recommendations: item-to-item collaborative filtering. IEEE Inter Comput 7(1):76–80CrossRefGoogle Scholar
  11. 11.
    Pazzani M, Billsus D (1997) Learning and revising user profiles: the identification of interesting web sites. Mach Learn 27:313–331CrossRefGoogle Scholar
  12. 12.
    Felfernig A, Burke R (2008) Constraint-based recommender systems: technologies and research issues. In: Proceedings of IEEE ICEC’08, Innsbruck, pp 17–26Google Scholar
  13. 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–87CrossRefGoogle Scholar
  14. 14.
    Witten I, Frank E (2005) Data mining. Elsevier, San FranciscozbMATHGoogle Scholar
  15. 15.
    Masthoff J (2004) Group modeling: selecting a sequence of television items to suit a group of viewers. UMUAI 14(1):37–85Google Scholar
  16. 16.
    Golbeck J (2009) Computing with social trust. Springer, LondonCrossRefGoogle Scholar
  17. 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–304Google Scholar
  18. 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–168Google Scholar
  19. 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–190Google Scholar
  20. 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–735Google Scholar
  21. 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–238Google Scholar
  22. 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–74CrossRefGoogle Scholar
  23. 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–8Google Scholar
  24. 24.
    Duan C, Laurent P, Cleland-Huang J, Kwiatkowski C (2009) Towards automated requirements prioritization and triage. Requir Eng 14(2):73–89CrossRefGoogle Scholar
  25. 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–12Google Scholar
  26. 26.
    Ruhe G, Eberlein A, Pfahl D (2003) Trade-off analysis for requirements selection. J Softw Eng Knowl Eng (IJSEKE) 13(4):354–366Google Scholar
  27. 27.
    Ruhe G, Saliu M (2005) The art and science of software release planning. IEEE Softw 22(6):47–53CrossRefGoogle Scholar
  28. 28.
    Marczak S, Kwan I, Damian D (2007) Social networks in the study of collaboration in global software teams. In: Proceedings of ICGSE’07, MunichGoogle Scholar
  29. 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.8Google Scholar
  30. 30.
    Tsang E (1993) Foundations of constraint satisfaction. Academic, LondonGoogle Scholar
  31. 31.
    Reiter R (1987) A theory of diagnosis from first principles. AI J 23(1):57–95MathSciNetGoogle Scholar
  32. 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–256Google Scholar
  33. 33.
    Aurum A, Wohlin C (2003) The fundamental nature of requirements engineering activities as a decision-making process. Inf Soft Technol 45(14):945–954CrossRefGoogle Scholar
  34. 34.
    Davis A (2003) The art of requirements triage. IEEE Comput 36(3):42–49CrossRefGoogle Scholar
  35. 35.
    Schrijver A (1998) Theory of linear and integer programming. Wiley, New YorkzbMATHGoogle Scholar
  36. 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–796Google Scholar
  37. 37.
    McFadden D (1999) Rationality for economists. J Risk Uncertain 19(1):73–105zbMATHCrossRefGoogle Scholar
  38. 38.
    Bettman J, Luce M, Payne J (1998) Constructive consumer choice. J Consum Res 25(3):187–217CrossRefGoogle Scholar
  39. 39.
    Lichtenstein S, Slovic P (2006) The construction of preference. Cambridge University Press, New YorkCrossRefGoogle Scholar
  40. 40.
    Masthoff J (2011) Group recommender systems. In: Recommender systems handbook. Springer, Boston, pp 677–702Google Scholar
  41. 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–54Google Scholar
  42. 42.
    Roy L, Mooney R (2004) Content-based book recommending using learning for text categorization. User Model User-Adapt Interact 14(1):37–85CrossRefGoogle Scholar
  43. 43.
    Can F, Ozkarahan A (1990) Concepts and effectiveness of the clustering methodology for text databases. ACM Trans Database Syst 15(4):483–517CrossRefGoogle Scholar
  44. 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–28Google Scholar
  45. 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–172Google Scholar
  46. 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–8Google Scholar
  47. 47.
    Felfernig A, Chen L, Mandl M (2005) Recsys’11 workshop on human decision making in recommender systems, Chicago, pp 389–390Google Scholar
  48. 48.
    Burke R, Felfernig A, Goeker M (2011) Recommender systems – an overview. AI Mag 32(3):13–18Google Scholar
  49. 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, AtlantaGoogle Scholar
  50. 50.
    Anand S, Mobasher B (2007) Contextual recommendation. In: Discovering and deploying user and content profiles, Springer Berlin/Heidelberg, pp 142–160Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • A. Felfernig
    • 1
    Email author
  • G. Ninaus
    • 1
  • H. Grabner
    • 1
  • F. Reinfrank
    • 1
  • L. Weninger
    • 2
  • D. Pagano
    • 3
  • W. Maalej
    • 4
  1. 1.Graz University of TechnologyGrazAustria
  2. 2.wsopViennaAustria
  3. 3.Technische Universität MünchenMunichGermany
  4. 4.University of HamburgHamburgGermany

Personalised recommendations