Mining Software Requirements

  • Chapter
  • First Online:
Mining Software Engineering Data for Software Reuse

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.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (Germany)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 85.59
Price includes VAT (Germany)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 106.99
Price includes VAT (Germany)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info
Hardcover Book
EUR 106.99
Price includes VAT (Germany)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://users.sussex.ac.uk/~drh21/.

  2. 2.

    We used the precomputed information content data of the Perl WordNet similarity library [44], available at http://www.d.umn.edu/~tpederse/.

References

  1. 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

    Article  Google Scholar 

  2. Leffingwell D (1997) Calculating your return on investment from more effective requirements management. Am Program 10(4):13–16

    Google Scholar 

  3. 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

    Google Scholar 

  4. Sahavechaphan N, Claypool K (2006) XSnippet: mining for sample code. SIGPLAN Not 41(10):413–430

    Article  Google Scholar 

  5. Hummel O, Janjic W, Atkinson C (2008) Code conjurer: pulling reusable software out of thin air. IEEE Softw 25(5):45–52

    Article  Google Scholar 

  6. 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

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. Luisa M, Mariangela F, Pierluigi NI (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56, 2004

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. Wynne M, Hellesoy A (2012) The cucumber book: behaviour-driven development for testers and developers. Pragmatic Bookshelf, Raleigh

    Google Scholar 

  13. 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

    Google Scholar 

  14. Boehm B, Basili VR (2001) Software defect reduction top 10 list. Computer 34:135–137

    Article  Google Scholar 

  15. 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

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    Google Scholar 

  19. Frakes W, Prieto-Diaz R, Fox C (1998) DARE: domain analysis and reuse environment. Ann Softw Eng 5:125–141

    Article  Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Google Scholar 

  27. Diamantopoulos T, Symeonidis A (2017) Enhancing requirements reusability through semantic modeling and data mining techniques. Enterprise information systems, pp 1–22

    Google Scholar 

  28. 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

    Google Scholar 

  29. 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

    Google Scholar 

  30. 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

    Google Scholar 

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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Google Scholar 

  35. Robinson WN, Woo HG (2004) Finding reusable uml sequence diagrams automatically. IEEE Softw 21(5):60–67

    Article  Google Scholar 

  36. 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

    Google Scholar 

  37. 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

    Google Scholar 

  38. Park W-J, Bae D-H (2011) A two-stage framework for uml specification matching. Inf Softw Technol 53(3):230–244

    Article  Google Scholar 

  39. Chawathe SS, Rajaraman A, Garcia-Molina H, Widom J (1996) Change detection in hierarchically structured information. SIGMOD Rec 25(2):493–504

    Article  Google Scholar 

  40. 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

    Google Scholar 

  41. 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

    Google Scholar 

  42. Miller GA (1995) WordNet: a lexical database for english. Commun ACM 38(11):39–41

    Article  Google Scholar 

  43. 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

    Google Scholar 

  44. 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

    Google Scholar 

  45. 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

    Google Scholar 

  46. 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

    Google Scholar 

  47. 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

    Google Scholar 

  48. Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd edn. The MIT Press, Cambridge, pp 390–396

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Themistoklis Diamantopoulos .

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics

Navigation