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