Abstract
Requirements identification is one of the most important phases in software engineering, as incomplete or badly specified requirements are the most common cause of project failure. In this chapter, we design a methodology to facilitate requirements identification based on software reuse. Our methodology employs our ontology-based model and is applied to functional requirements and UML diagrams. Concerning functional requirements, we apply association rule mining and heuristics to detect incomplete or missing requirements, while for UML use case and activity diagrams, we employ model matching techniques to find similar diagrams and thus allow the engineer to improve the description of the functionality and the data flow of the project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
We used the precomputed information content data of the Perl WordNet similarity library [44], available at http://www.d.umn.edu/~tpederse/.
References
Montequin VR, Cousillas S, Ortega F, Villanueva J (2014) Analysis of the success factors and failure causes in Information & Communication Technology (ICT) projects in Spain. Procedia Technol 16:992–999
Leffingwell D (1997) Calculating your return on investment from more effective requirements management. Am Program 10(4):13–16
Thummalapenta S, **e T (2007) PARSEWeb: a programmer assistant for reusing open source code on the web. In: Proceedings of the 22nd IEEE/ACM international conference on automated software engineering, ASE’07. ACM, New York, pp 204–213
Sahavechaphan N, Claypool K (2006) XSnippet: mining for sample code. SIGPLAN Not 41(10):413–430
Hummel O, Janjic W, Atkinson C (2008) Code conjurer: pulling reusable software out of thin air. IEEE Softw 25(5):45–52
Diamantopoulos T, Thomopoulos K, Symeonidis AL (2016) QualBoa: reusability-aware recommendations of source code components. In: Proceedings of the IEEE/ACM 13th working conference on mining software repositories, MSR’16, pp 488–491
Papamichail M, Diamantopoulos T, Symeonidis AL (2016) User-perceived source code quality estimation based on static analysis metrics. In: Proceedings of the 2016 IEEE international conference on software quality, reliability and security, QRS. Vienna, Austria, pp 100–107
Dimaridou V, Kyprianidis A-C, Papamichail M, Diamantopoulos T, Symeonidis A (2017) Towards modeling the user-perceived quality of source code using static analysis metrics. In: Proceedings of the 12th international conference on software technologies - volume 1, ICSOFT. INSTICC, SciTePress, Setubal, Portugal, pp 73–84
Luisa M, Mariangela F, Pierluigi NI (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56, 2004
Kaindl H, Smialek M, Svetinovic D, Ambroziewicz A, Bojarski J, Nowakowski W, Straszak T, Schwarz H, Bildhauer D, Brogan JP, Mukasa KS, Wolter K, Krebs T (2007) Requirements specification language definition: defining the ReDSeeDS languages, deliverable D2.4.1. Public deliverable, ReDSeeDS (Requirements driven software development system) project
Smialek M (2012) Facilitating transition from requirements to code with the ReDSeeDS tool. In: Proceedings of the 2012 IEEE 20th international requirements engineering conference (RE), RE’12. IEEE Computer Society, Washington, pp 321–322
Wynne M, Hellesoy A (2012) The cucumber book: behaviour-driven development for testers and developers. Pragmatic Bookshelf, Raleigh
Mylopoulos J, Castro J, Kolp M (2000) Tropos: a framework for requirements-driven software development. Information systems engineering: state of the art and research themes. Springer, Berlin, pp 261–273
Boehm B, Basili VR (2001) Software defect reduction top 10 list. Computer 34:135–137
Kumar M, Ajmeri N, Ghaisas S (2010) Towards knowledge assisted agile requirements evolution. In: Proceedings of the 2nd international workshop on recommendation systems for software engineering, RSSE’10. ACM, New York, pp 16–20
Ghaisas S, Ajmeri N (2013) Knowledge-assisted ontology-based requirements evolution. In: Maalej W, Thurimella AK (eds) Managing requirements knowledge. Springer, Berlin, pp 143–167
Chen K, Zhang W, Zhao H, Mei H (2005) An approach to constructing feature models based on requirements clustering. In: Proceedings of the 13th IEEE international conference on requirements engineering, RE’05. IEEE Computer Society, Washington, pp 31–40
Alves V, Schwanninger C, Barbosa L, Rashid A, Sawyer P, Rayson P, Pohl C, Rummler A (2008) An exploratory study of information retrieval techniques in domain analysis. In: Proceedings of the 2008 12th international software product line conference, SPLC’08. IEEE Computer Society, Washington, pp 67–76
Frakes W, Prieto-Diaz R, Fox C (1998) DARE: domain analysis and reuse environment. Ann Softw Eng 5:125–141
Felfernig A, Schubert M, Mandl M, Ricci F, Maalej W (2010) Recommendation and decision technologies for requirements engineering. In: Proceedings of the 2nd international workshop on recommendation systems for software engineering, RSSE’10. ACM, New York, pp 11–15
Maalej W, Thurimella AK (2009) Towards a research agenda for recommendation systems in requirements engineering. In: Proceedings of the 2009 2nd international workshop on managing requirements knowledge, MARK’09. IEEE Computer Society, Washington, pp 32–39
Gomes P, Gandola P, Cordeiro J (2007) Hel** software engineers reusing uml class diagrams. In: Proceedings of the 7th international conference on case-based reasoning: case-based reasoning research and development, ICCBR’07. Springer, Berlin, pp 449–462
Robles K, Fraga A, Morato J, Llorens J (2012) Towards an ontology-based retrieval of uml class diagrams. Inf Softw Technol 54(1):72–86
Alspaugh TA, Antón AI, Barnes T, Mott BW (1999) An integrated scenario management strategy. In: Proceedings of the 4th IEEE international symposium on requirements engineering, RE’99. IEEE Computer Society, Washington, pp 142–149
Blok MC, Cybulski JL (1998) Reusing uml specifications in a constrained application domain. In: Proceedings of the 5th Asia Pacific software engineering conference, APSEC’98. IEEE Computer Society, Washington, p 196
Kelter U, Wehren J, Niere J (2005) A generic difference algorithm for uml models. In: Liggesmeyer P, Pohl K, Goedicke M (eds) Software engineering, vol 64 of LNI. GI, pp 105–116
Diamantopoulos T, Symeonidis A (2017) Enhancing requirements reusability through semantic modeling and data mining techniques. Enterprise information systems, pp 1–22
Dumitru H, Gibiec M, Hariri N, Cleland-Huang J, Mo-basher B, Castro-Herrera C, Mirakhorli M (2011) On-demand feature recommendations derived from mining public product descriptions. In: Proceedings of the 33rd international conference on software engineering, ICSE’11. ACM, New York, pp 181–190
Lim SL, Finkelstein A (2012) StakeRare: using social networks and collaborative filtering for large-scale requirements elicitation. IEEE Trans Softw Eng 38(3):707–735
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: Proceedings of the 2008 16th IEEE international requirements engineering conference, RE’08. IEEE Computer Society, Washington, pp 165–168
Mobasher B, Cleland-Huang J (2011) Recommender systems in requirements engineering. AI Mag 32(3):81–89
Konstan JA, Miller BN, Maltz D, Herlocker JL, Gordon LR, Riedl J (1997) GroupLens: applying collaborative filtering to usenet news. Commun ACM 40(3):77–87
Romero-Mariona J, Ziv H, Richardson DJ (2008) SRRS: a recommendation system for security requirements. In: Proceedings of the 2008 international workshop on recommendation systems for software engineering, RSSE’08. ACM, New York, pp 50–52
Woo HG, Robinson WN (2002) Reuse of scenario specifications using an automated relational learner: a lightweight approach. In: Proceedings of the 10th anniversary IEEE joint international conference on requirements engineering, RE’02. IEEE Computer Society, Washington, pp 173–180
Robinson WN, Woo HG (2004) Finding reusable uml sequence diagrams automatically. IEEE Softw 21(5):60–67
Bildhauer D, Horn T, Ebert J (2009) Similarity-driven software reuse. In: Proceedings of the 2009 ICSE workshop on comparison and versioning of software models, CVSM’09. IEEE Computer Society, Washington, pp 31–36
Salami HO, Ahmed M (2013) Class diagram retrieval using genetic algorithm. In: Proceedings of the 2013 12th international conference on machine learning and applications - volume 02, ICMLA’13. IEEE Computer Society, Washington, pp 96–101
Park W-J, Bae D-H (2011) A two-stage framework for uml specification matching. Inf Softw Technol 53(3):230–244
Chawathe SS, Rajaraman A, Garcia-Molina H, Widom J (1996) Change detection in hierarchically structured information. SIGMOD Rec 25(2):493–504
Wang Y, DeWitt DJ, Cai JY (2003) X-Diff: an effective change detection algorithm for XML documents. In: Proceedings 19th international conference on data engineering (Cat. No.03CH37405), pp 519–530
Bonilla-Morales B, Crespo S, Clunie C (2012) Reuse of use cases diagrams: an approach based on ontologies and semantic web technologies. Int J Comput Sci 9(1):24–29
Miller GA (1995) WordNet: a lexical database for english. Commun ACM 38(11):39–41
Finlayson M (2014) Java libraries for accessing the princeton wordnet: comparison and evaluation. In: Orav H, Fellbaum C, Vossen P (eds) Proceedings of the 7th global wordnet conference. Tartu, Estonia, pp 78–85
Pedersen T, Patwardhan S, Michelizzi J (2004) WordNet:: similarity: measuring the relatedness of concepts. In: Demonstration papers at HLT-NAACL 2004, HLT-NAACL–Demonstrations’04. Association for Computational Linguistics, Stroudsburg, pp 38–41
Lin D (1998) An information-theoretic definition of similarity. In: Proceedings of the 15th international conference on machine learning, ICML’98. Morgan Kaufmann Publishers Inc, San Francisco, pp 296–304
Agrawal R, Imieliński T, Swami A (1993) Mining association rules between sets of items in large databases. In: Proceedings of the 1993 ACM SIGMOD international conference on management of data, SIGMOD’93. ACM, New York, pp 207–216
Agrawal R, Srikant R (1994) Fast algorithms for mining association rules in large databases. In: Proceedings of the 20th international conference on very large data bases, VLDB’94. Morgan Kaufmann Publishers Inc, San Francisco, pp 487–499
Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd edn. The MIT Press, Cambridge, pp 390–396
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Diamantopoulos, T., Symeonidis, A.L. (2020). Mining Software Requirements. In: Mining Software Engineering Data for Software Reuse. Advanced Information and Knowledge Processing. Springer, Cham. https://doi.org/10.1007/978-3-030-30106-4_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-30106-4_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-30105-7
Online ISBN: 978-3-030-30106-4
eBook Packages: Computer ScienceComputer Science (R0)