EA-Miner: Towards Automation in Aspect-Oriented Requirements Engineering

Aspect-oriented requirements engineering (AORE) provides separation of concerns at the requirements level. In order to cope with concern identification and structuring into different requirements models, tool support is vital to effectively reduce the burden of performing various AORE tasks. This paper describes how the EA-Miner tool-based approach provides automated support for mining various types of concerns from a variety of early stage requirements documents and how these concepts can be structured into specific aspect-oriented requirements models (e.g., viewpoints-based, use-case-based). The key insight for early-stage requirements automation is the use of natural language processing to reason about properties of the requirements as well as the utilization of semantics revealed by the natural language analysis in building the models. Evaluation of EA-Miner shows promising results concerning time-effectiveness and accuracy of undertaking AORE activities and building requirements models. Moreover, an industrial case study conducted at Siemens AG investigated how the tool performs in a real-world setting by analysing what benefits it brings and challenges it faces during AORE analysis. The EA-Miner analysis enabled to find concerns that were considered relevant by a research team at Siemens that is re-implementing the investigated system with aspect-oriented languages. Moreover, the exposure of the tool to industrial requirements written by different developers also revealed some challenges imposed by the structure of the documentation and the different use of vocabulary terms hence providing new paths to explore and improve the tool in the future such as better pre-processing support, "domain synonym" identification and detection of poorly written requirements.

[1]  Shari Lawrence Pfleeger,et al.  Design and analysis in software engineering: the language of case studies and formal experiments , 1994, SOEN.

[2]  Björn Regnell,et al.  A Feasibility Study of Automated Natural Language Requirements Analysis in Market-Driven Development , 2002, Requirements Engineering.

[3]  Ivar Jacobson,et al.  Aspect-oriented software development with use cases , 2005, Addison Wesley object technology series.

[4]  Ian Sommerville,et al.  The viewpoints FAQ , 1996 .

[5]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[6]  Andrian Marcus,et al.  Recovering documentation-to-source-code traceability links using latent semantic indexing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[7]  Ian Sommerville,et al.  Editorial. The Viewpoints FAQ , 1996 .

[8]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[9]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[10]  Jon Whittle,et al.  Scenario Modeling with Aspects. , 2004 .

[11]  Victor R. Basili,et al.  Experimentation in software engineering , 1986, IEEE Transactions on Software Engineering.

[12]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[13]  Björn Regnell,et al.  Speeding up requirements management in a product software company: linking customer wishes to product requirements through linguistic engineering , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[14]  Richard Stevens,et al.  Writing Better Requirements , 2002 .

[15]  Ruzanna Chitchyan,et al.  EA-Miner: a tool for automating aspect-oriented requirements identification , 2005, ASE.

[16]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[17]  Peter Sawyer,et al.  Shallow knowledge as an aid to deep understanding in early phase requirements engineering , 2005, IEEE Transactions on Software Engineering.

[18]  Siobhán Clarke,et al.  Theme: an approach for aspect-oriented analysis and design , 2004, Proceedings. 26th International Conference on Software Engineering.

[19]  Julio Cesar Sampaio do Prado Leite,et al.  Nonfunctional requirements: from elicitation to conceptual models , 2004, IEEE Transactions on Software Engineering.

[20]  Luisa Mich,et al.  NL-OOPS: A Requirements Analysis Tool Based On Natural Language Processing , 2002 .

[21]  Luisa Mich,et al.  Market research for requirements analysis using linguistic tools , 2004, Requirements Engineering.

[22]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[23]  J. F. M. Burg,et al.  Linguistic instruments in requirements engineering , 1996 .

[24]  Paul Rayson,et al.  Mining Aspects in Requirements , 2005 .

[25]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[26]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.

[27]  Arie van Deursen,et al.  Identifying aspects using fan-in analysis , 2004, 11th Working Conference on Reverse Engineering.

[28]  Colin Potts,et al.  Invented requirements and imagined customers: requirements engineering for off-the-shelf software , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[29]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[30]  Elisa Baniassad Finding Aspects In Requirements with Theme/Doc , 2004 .

[31]  Charles Richter,et al.  Developing initial OOA models , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[32]  João Araújo,et al.  Multi-dimensional separation of concerns in requirements engineering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[33]  Anthony McEnery,et al.  Comparing the UCREL Semantic Annotation Scheme with Lexicographical Taxonomies , 2004 .

[34]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[35]  Peter Sawyer,et al.  REVERE: Support for Requirements Synthesis from Documents , 2002, Inf. Syst. Frontiers.

[36]  John Mylopoulos,et al.  NLP-Based Requirements Modeling: Experiments on the Quality of the models , 2004 .

[37]  Vincenzo Gervasi,et al.  Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.