Advertisement

Automated Software Engineering

, Volume 23, Issue 2, pp 219–252 | Cite as

Assisting requirements analysts to find latent concerns with REAssistant

  • Alejandro Rago
  • Claudia Marcos
  • J. Andres Diaz-Pace
Article

Abstract

Textual requirements are very common in software projects. However, this format of requirements often keeps relevant concerns (e.g., performance, synchronization, data access, etc.) from the analyst’s view because their semantics are implicit in the text. Thus, analysts must carefully review requirements documents in order to identify key concerns and their effects. Concern mining tools based on NLP techniques can help in this activity. Nonetheless, existing tools cannot always detect all the crosscutting effects of a given concern on different requirements sections, as this detection requires a semantic analysis of the text. In this work, we describe an automated tool called REAssistant that supports the extraction of semantic information from textual use cases in order to reveal latent crosscutting concerns. To enable the analysis of use cases, we apply a tandem of advanced NLP techniques (e.g, dependency parsing, semantic role labeling, and domain actions) built on the UIMA framework, which generates different annotations for the use cases. Then, REAssistant allows analysts to query these annotations via concern-specific rules in order to identify all the effects of a given concern. The REAssistant tool has been evaluated with several case-studies, showing good results when compared to a manual identification of concerns and a third-party tool. In particular, the tool achieved a remarkable recall regarding the detection of crosscutting concern effects.

Keywords

Concern mining User assistance Tool support Semantic analysis Natural language processing Use case specifications 

Notes

Acknowledgments

This work was partially supported by ANPCyT (Argentina) through PICT Project 2010 No. 2247. The authors are grateful to all the participants of the case-studies. The authors also thank the anonymous reviewers for their feedback that helped to improve the quality of the manuscript.

References

  1. Ali, B, Kasirun, Z.: Developing tool for crosscutting concern identification using nlp. In: ITSim’08, vol. 3, pp. 1–8. IEEE, Malaysia (2008)Google Scholar
  2. Araujo, J., Baniassad, E., Clements, P., Moreira, A., Rashid, A., Tekinerdogan, B.: Early Aspects: The Current Landscape. Tech. rep., CMU/SEI and Lancaster University (2005)Google Scholar
  3. Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval: The Concepts and Technology Behind Search. Addison Wesley, Reading (2011)Google Scholar
  4. Baniassad, E., Clements, P., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Softw. 23(1), 61–70 (2006)CrossRefGoogle Scholar
  5. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison-Wesley, Reading (2012)Google Scholar
  6. Brown, N., Nord, R., Ozkaya, I., Pais, M.: Analysis and management of architectural dependencies in iterative release planning. In: IEEE/IFIP Conference on Software Architecture, pp. 103–112. IEEE (2011)Google Scholar
  7. Chen, L., AliBabar, M., Nuseibeh, B.: Characterizing architecturally significant requirements. IEEE Softw. 30(2), 38–45 (2013)CrossRefGoogle Scholar
  8. Cockburn, A.: Writing Effective Use Cases, vol. 1. Addison-Wesley, Reading (2001)Google Scholar
  9. Cohen, J.: A coefficient of agreement for nominal scales. Educ. Psychol. Meas. 20(1), 37–46 (1960). doi: 10.1177/001316446002000104 CrossRefGoogle Scholar
  10. Dekhtyar, A., Dekhtyar, O., Holden, J., Hayes, J., Cuddeback, D., Kong, W.K.: On human analyst performance in assisted requirements tracing: statistical analysis. In: IEEE RE’11, pp. 111–120 (2011)Google Scholar
  11. Drazan, J., Mencl, V.: Improved processing of textual use cases: deriving behavior specifications. In: SOFSEM’07, vol. 4362, pp. 856–868 (2007)Google Scholar
  12. Ferrucci, D., Lally, A.: UIMA: an architectural approach to unstructured information processing in the corporate research environment. Nat. Lang. Eng. 10(3–4), 327–348 (2004)CrossRefGoogle Scholar
  13. Frakes, W., Baeza-Yates, R.: Information Retrieval: Data Structures and Algorithms. Prentice Hall, Englewood Cliffs (1992)Google Scholar
  14. Gallardo-Valencia, R., Olivera, V., Sim, S.: Are use cases beneficial for developers using agile requirements? In: Workshop on CERE, pp. 11–22 (2007). doi: 10.1109/CERE.2007.2
  15. Gersmann, S.: Development of Strategies for Global Software Development. Phd. thesis, Technische Universitat Munchen (2005)Google Scholar
  16. Greenwood, P.: Tao: A Testbed for Aspect Oriented Software Development. http://www.comp.lancs.ac.uk/~greenwop/tao/ (2011)
  17. Hsu, C., Chang, C., Lin, C., et al.: A Practical Guide to Support Vector Classification (2010)Google Scholar
  18. Kamalrudin, M., Hosking, J.G., Grundy, J.: Improving requirements quality using essential use case interaction patterns. In: ICSE’11, pp. 531–540, Hawaii (2011). doi: 10.1145/1985793.1985866
  19. Kamata, M.I., Tamai, T.: How does requirements quality relate to project success or failure? In: IEEE RE’07, pp. 69–78. IEEE, India (2007)Google Scholar
  20. Knauss, E., Brill, O., Kitzmann, I., Flohr, T.: Smartwiki: Support for high-quality requirements engineering in a collaborative setting. In: Workshop on Wikis for Software Engineering (WIKIS4SE’09) held at ICSE’09, pp. 25–35 (2009). doi: 10.1109/WIKIS4SE.2009.5069994
  21. Landis, J.R., Koch, G.G.: The measurement of observer agreement for categorical data. Biometrics 33(1), 159–174 (1977)MathSciNetCrossRefzbMATHGoogle Scholar
  22. Laplante, P.A.: Requirements Engineering for Software and Systems. Applied Software Engineering Series, 2nd edn. Taylor and Francis, London (2013)Google Scholar
  23. Manning, C., Schutze, H.: MITCogNet.: Foundations of Statistical Natural Language Processing, vol. 59. MIT Press, Cambridge (1999)Google Scholar
  24. Mich, L., Franch, M., Novi, I.P.L.: Market research for requirements analysis using linguistic tools. Requir. Eng. 9(2), 151 (2004). doi: 10.1007/s00766-004-0195-3 CrossRefGoogle Scholar
  25. Mullick, N., Bass, M., Houda, Z., Paulish, P., Cataldo, M.: Siemens global studio project: experiences adopting an integrated gsd infrastructure. In: ICGSE’06, pp. 203–212, IEEE (2006)Google Scholar
  26. Palmer, M., Gildea, D., Xue, N.: Semantic Role Labeling. Synthesis Lectures on Human Language Technologies. Morgan & Claypool (2010)Google Scholar
  27. Rago, A., Marcos, C., Diaz-Pace, A.: Uncovering quality-attribute concerns in use case specifications via early aspect mining. Requir. Eng. 18(1), 67–84 (2013). doi: 10.1007/s00766-011-0142-z CrossRefGoogle Scholar
  28. Rosenhainer, L.: Identifying crosscutting concerns in requirements specifications. In: AOSD’04: Early Aspects, ACM/SIGPLAN, Canada (2004)Google Scholar
  29. Sampaio, A., Greenwood, P., Garcia, A., Rashid, A.: A comparative study of aspect-oriented requirements engineering approaches. In: ESEM’07, IEEE Computer Society (2007a)Google Scholar
  30. Sampaio, A., Rashid, A., Chitchyan, R., Rayson, P.: EA-Miner: towards automation in aspect-oriented requirements engineering. In: Transactions on AOSD III, LNCS, vol. 4620, pp. 4–39. Springer, Berlin (2007b)Google Scholar
  31. Sateli, B., Angius, E., Rajivelu, S.S., Witte, R.: Can text mining assistants help to improve requirements specifications? In: Mining Unstructured Data (MUD 2012), Canada (2012)Google Scholar
  32. Sateli, B., Angius, E., Witte, R.: The reqwiki approach for collaborative software requirements engineering with integrated text analysis support. In: Computer Software and Applications Conference (COMPSAC’13), pp. 405–414, IEEE (2013). doi: 10.1109/COMPSAC.2013.68
  33. Sinha, A., Paradkar, A., Kumanan, P., Boguraev, B.: An Analysis Engine for Dependable Elicitation of Natural Language Use Case Description and Its Application to Industrial Use Cases. IBM Research Report RC24712 (2008)Google Scholar
  34. Svahnberg, M., Aurum, A., Wohlin, C.: Using students as subjects—an empirical evaluation. In: ACM-IEEE ESEM’08, pp. 288–290, ACM (2008)Google Scholar
  35. Tabares, M., Alférez Salinas, G., Alférez Salinas, E.: El desarrollo de software orientado a aspectos: un caso práctico para un sistema de ayuda en línea (in spanish). Avances en Sistemas e Informática 5(2), 61–68 (2008)Google Scholar
  36. Tsoumakas, G., Katakis, I., Vlahavas, I.: Mining multi-label data. Data Min. Knowl. Discov. Handb. 667–685 (2010)Google Scholar
  37. Xiao, X., Paradkar, A., Thummalapenta, S., Xie, T.: Automated extraction of security policies from natural-language software documents. In: FSE ’12, ACM/SIGPLAN, USA (2012)Google Scholar
  38. Zhang, H., Ben, K.: Architectural design of the health watch system with an integrated aspect-oriented modeling approach. In: ICCDA’10, vol. 1, pp. V1-624–V1-628 (2010). doi: 10.1109/ICCDA.2010.5540893

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.ISISTAN Research InstituteUNICEN UniversityTandilArgentina
  2. 2.CONICETBuenos AiresArgentina
  3. 3.CICBuenos AiresArgentina

Personalised recommendations