Skip to main content
Log in

Assisting requirements analysts to find latent concerns with REAssistant

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. We should note that including references to things besides pure functional behavior is not a recommended practice when writing use cases (Cockburn 2001), but yet analysts often include such information in real-life requirements documents.

  2. These actions refer to a use case step whose intention was the creation, modification or removal of some information/record in the system, respectively.

  3. http://www.eclipse.org/modeling/emf/.

  4. http://uima.apache.org/.

  5. http://opennlp.sourceforge.net/projects.html.

  6. http://nlp.stanford.edu/software/corenlp.shtml.

  7. http://code.google.com/p/mate-tools/.

  8. http://www.eclipse.org/modeling/emf/downloads/?project=query2.

  9. Available for trial at http://www.aosd-europe.net/deliverables/d108EAMinerVersion2.zip.

  10. Available at: http://code.google.com/p/reassistant/.

  11. Aside from the fact that, in the industry, it is hard to find available analysts willing to be part of empirical evaluations.

  12. Although these components can be parameterized, we chose to use default configurations for the experiments. Thus, all the components were packed into UIMA and used without setting any special parameters.

  13. Mulan: Available at http://mulan.sourceforge.net/.

  14. The golden standards, tools and human groups results used for this evaluation can be downloaded from our institutional webpage: http://www.exa.unicen.edu.ar/~arago.

  15. Apache UIMA Ruta (Rule-based Text Annotation): http://uima.apache.org/ruta.html.

References

  • Ali, B, Kasirun, Z.: Developing tool for crosscutting concern identification using nlp. In: ITSim’08, vol. 3, pp. 1–8. IEEE, Malaysia (2008)

  • 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)

  • Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval: The Concepts and Technology Behind Search. Addison Wesley, Reading (2011)

    Google Scholar 

  • Baniassad, E., Clements, P., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Softw. 23(1), 61–70 (2006)

    Article  Google Scholar 

  • Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison-Wesley, Reading (2012)

    Google Scholar 

  • Bell, R.: Course Registration System. http://sce.uhcl.edu/helm/RUP_course_example/courseregistrationproject/indexcourse.htm (2011)

  • 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)

  • Chen, L., AliBabar, M., Nuseibeh, B.: Characterizing architecturally significant requirements. IEEE Softw. 30(2), 38–45 (2013)

    Article  Google Scholar 

  • Cockburn, A.: Writing Effective Use Cases, vol. 1. Addison-Wesley, Reading (2001)

    Google Scholar 

  • Cohen, J.: A coefficient of agreement for nominal scales. Educ. Psychol. Meas. 20(1), 37–46 (1960). doi:10.1177/001316446002000104

    Article  Google Scholar 

  • 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)

  • Drazan, J., Mencl, V.: Improved processing of textual use cases: deriving behavior specifications. In: SOFSEM’07, vol. 4362, pp. 856–868 (2007)

  • 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)

    Article  Google Scholar 

  • Frakes, W., Baeza-Yates, R.: Information Retrieval: Data Structures and Algorithms. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  • 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

  • Gersmann, S.: Development of Strategies for Global Software Development. Phd. thesis, Technische Universitat Munchen (2005)

  • Greenwood, P.: Tao: A Testbed for Aspect Oriented Software Development. http://www.comp.lancs.ac.uk/~greenwop/tao/ (2011)

  • Hsu, C., Chang, C., Lin, C., et al.: A Practical Guide to Support Vector Classification (2010)

  • 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

  • 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)

  • 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

  • Landis, J.R., Koch, G.G.: The measurement of observer agreement for categorical data. Biometrics 33(1), 159–174 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  • Laplante, P.A.: Requirements Engineering for Software and Systems. Applied Software Engineering Series, 2nd edn. Taylor and Francis, London (2013)

    Google Scholar 

  • Manning, C., Schutze, H.: MITCogNet.: Foundations of Statistical Natural Language Processing, vol. 59. MIT Press, Cambridge (1999)

  • 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

    Article  Google Scholar 

  • 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)

  • Palmer, M., Gildea, D., Xue, N.: Semantic Role Labeling. Synthesis Lectures on Human Language Technologies. Morgan & Claypool (2010)

  • 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

    Article  Google Scholar 

  • Rosenhainer, L.: Identifying crosscutting concerns in requirements specifications. In: AOSD’04: Early Aspects, ACM/SIGPLAN, Canada (2004)

  • Sampaio, A., Greenwood, P., Garcia, A., Rashid, A.: A comparative study of aspect-oriented requirements engineering approaches. In: ESEM’07, IEEE Computer Society (2007a)

  • 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)

  • 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)

  • 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

  • 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)

  • Svahnberg, M., Aurum, A., Wohlin, C.: Using students as subjects—an empirical evaluation. In: ACM-IEEE ESEM’08, pp. 288–290, ACM (2008)

  • 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 

  • Tsoumakas, G., Katakis, I., Vlahavas, I.: Mining multi-label data. Data Min. Knowl. Discov. Handb. 667–685 (2010)

  • 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)

  • 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

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Alejandro Rago, Claudia Marcos or J. Andres Diaz-Pace.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rago, A., Marcos, C. & Diaz-Pace, J.A. Assisting requirements analysts to find latent concerns with REAssistant . Autom Softw Eng 23, 219–252 (2016). https://doi.org/10.1007/s10515-014-0156-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-014-0156-0

Keywords

Navigation