Keywords

1 Introduction

The Requirements Engineering (RE) encompasses activities related to the elicitation and analysis of information about the software: its requirements. Each sub-activity (or task) performed during requirements elicitation will result in a document with the textual description of all the software requirements. This document is then analyzed and requirements are structured in individual units, such as viewpoints, goals, use cases, scenarios. This is done in order to promote the Separation of Concerns - SoC [1], i.e., the identification and modularization of pieces of the software that are relevant for a particular purpose.

In the context of RE, a “concern” can be understood as a set of one or more software requirements for a given purpose. For example, a security concern can encompass several requirements related to the following goal: “ensuring that software is secure”.

In an ideal scenario of software development, each concern should be allocated in a specific module, which achieves its goals. When it occurs, the software is called well-modularized, because all their concerns are clearly separated [2]. However, there are some types of concerns, for which, this allocation is not possible, only using traditional software engineering abstractions, such as viewpoints, goals, use cases, scenarios, among others. These concerns are called “crosscutting concerns” or “early aspects” and are defined as software requirements that are spread and tangled within other requirements. Some examples of common crosscutting concerns include: Persistence, Security, Caching, and Synchronization. The existence of crosscutting concerns can lead to lack of modularization and make harder the software maintenance and evolution activities.

Aspect-Oriented Requirements Engineering (AORE) is a research field that provides the most appropriate strategies for identification, modularization and composition of crosscutting concerns. A concern, in the context of AORE, encapsulates one or more requirements specified by stakeholders, and a crosscutting concern is a concern whose requirements cut across requirements of other software concerns. For example, a security concern may contain a requirement related to “encryption” and another one related to “checking access permissions”. In addition, this set of security requirements can affect other software requirements, such as the requirement of sending registration information to a customer, which is related to another software concern. Hence, the security concern is called “crosscutting concern”.

Several AORE approaches have been proposed recently, although with different features, strengths and limitations. However, there are few studies in the literature that describe: (i) the amount of studies produced about this subject; (ii) the location of these studies and in what time they were produced; (iii) which are the main AORE activities explored by researchers; among others.

This paper shows the planning and execution of a Systematic Mapping (SM) [3, 4], conducted with a focus on AORE, aiming to catalogue, identify and classify approaches related to this subject. A SM can be understood as a wider review of primary studies available in the literature, in order to identify the amount and types of studies about a particular subject. It also may indicate the evolution of the published studies about this subject over the years [3].

In this SM, we have selected and analyzed 60 (sixty) papers and among them, we identified 38 (thirty-eight) AORE distinct approaches. Some interesting results are: (i) few approaches lead to “Conflict Identification and Resolution”, an activity responsible for discovering and treating the mutual influence between different concerns existing in a software; (ii) the most of sixty studies consist of presenting new AORE approaches or extensions of previous approaches - therefore, there is a lack of evaluation studies on already existing approaches; (iii) few studies have been published in journals, what can be a consequence of the item (ii); (iv) the most productive research institutions on AORE in the world are located in Lancaster (UK) and Nova Lisboa (Portugal); among other.

The obtained results in this SM can help other researchers to conduct further studies from this work, proposing new methods/techniques/tools for AORE as well as comparing their proposals with the catalogue present in this paper. The remainder of this paper is organized as follows: Sect. 2 presents an overview about Aspect-Oriented Requirements Engineering; Sect. 3 illustrates the planning of the Systematic Mapping, along with the research questions for which we have found answers in this work. In Sect. 4, the answers to the research questions are given and discussed. In Sect. 5, some threats to validity are discussed and, finally, Sect. 6 presents the final remarks and proposals for future works.

2 Background

The SoC principle is based on the identification and modularization of pieces of the software relating to a particular concept, goal or purpose [1]. Several traditional approaches for software development, such as Object-Orientation, were created based on this principle; however, some broad scope concerns (e.g., security, synchronization, and logging) are not easy to be modularized and maintained separately during the development of software. When these concerns are not appropriately modularized, the software can contain tangled and scattered representations, making its understanding and evolution harder.

An effective approach for RE must take into account the SoC principle and the need to satisfy broad scope concerns [5]. AORE emerges as an attempt to encompass this goal through the usage of specific strategies to modularize concerns that are difficult to be isolated in individual modules (crosscutting concerns). The concern identification on requirements level allows software engineers to think about them in an isolation way from the beginning of software development, hence facilitating the creation/usage of strategies to modularization.

Figure 1 shows a generic process for AORE, proposed by Chitchyan et al. [6], which was developed based on other approaches available in the literature [5, 79]. The rounded-corner rectangles represent the process activities.

Fig. 1.
figure 1

A generic process for AORE (Chitchyan et al. [6]).

From an initial available set of requirements, the activity “Concern Identification” identifies and classifies software concerns as basis or crosscutting ones. The software engineer knows the influences and constraints imposed by crosscutting concerns on other software concerns, through the activity “Concern Relationship Identification”. The activity “Concern Screening Out” aid software engineers to identify if there is repetition in the list of identified concerns and decide which of these concerns are relevant to the software. The activity “Concern Refinement” happens when there is a need to change the set of already identified concern and relationships.

During the activity “Concern Representation”, the concerns are then represented in a particular template. This template can vary according to the used AORE approach, e.g., it can be a text, a use case model, viewpoints, among others. For example, the approach developed by Rashid et al. [8, 10] represents base concerns using viewpoints; in the Baniassad and Clarke’s approach [7, 11] it is defined themes as a new concept for representation of base and crosscutting concerns. Still in the “Concern Representation” activity, the software engineer can identify the need for refinement, for example, for addition/removal concerns and/or relationships. Therefore, he/she can return to the previous activities (Fig. 1). Finally, the base and crosscutting concerns represented in a specific template must be composed and then analysed to identify conflicts between them. These tasks are performed in the “Concern Composition” and “Conflict Identification and Resolution” activities. Then, identified conflicts are solved by the software engineers with the help of stakeholders.

In general, the activities described in the process presented in Fig. 1 are aggregated into four major activities, namely: “Concern Identification and Classification”, “Concern Representation”, “Concern Composition” and “Conflict Identification and Resolution”. These activities are used as a basis for cataloguing the AORE approaches (Sect. 4).

3 Systematic Mapping Planning

Kitchenham et al. [4] argue that a systematic review should be carried out following the steps of planning, execution and documentation of the review and these steps can be used in the context of a Systematic Mapping (SM). This section shows the planning and strategy of execution of the SM performed in this work, according to the model of Kitchenham et al. Further, a discussion about the results of this SM is presented in Sect. 4.

3.1 Research Questions

The SM conducted aims to answer the questions presented in Table 1. The first column shows the code of the research question, which will be referenced throughout this text, and the second one, shows its description.

Table 1. Research questions for the SM.

The goal of the question Q1 is discovering the AORE approaches existing in the literature and what activities they encompass. This question is important for at least two reasons, it allows to: (i) catalogue existing approaches based on the activities encompassed by them; and (ii) indicate the approaches that deal with concern identification and classification - which will facilitate obtaining data to answer the question Q3.

The question Q2 classifies the studies analysed in the SM based on the type of study conducted by the authors: “Validation Study”, “Evaluation Study”, “Original Solution”, “Adapted Solution”, “Philosophical Study”, “Opinion Papers” and “Experience Papers”. This classification was initially defined by Wieringa et al. [13] and is used to guide the development of SMs proposed by Kai et al. [3]. An adaptation of the original classification is presented in Table 2.

Table 2. Classification of the types of studies (adapted from Wieringa et al., [13]).

It is important to highlight few points regarding the classification presented in Table 2:

  • This work adapts the classification proposed by Wieringa et al. in the following way: the category “proposed solution” [13] was subdivided into “original solution” and “adapted solution”. This adaptation let we know which approaches are new and which ones are extensions of existing approaches;

  • In the context of this paper, a study is classified as an “adapted solution” when it comes to an extension of an existing AORE approach. For example, a study that describes the development of a computational support for an approach proposed in another study. However, studies that show solutions non-based on AORE approaches are considered original solutions, because the extensions made in the original approach, generally, are more significant. For example, a study that presents an approach for concern identification and classification based on use cases, which is a traditional approach for software development, is classified as “original solution”; and

  • A study can be classified in more than one class described in Table 2. For example, a study may provide an original solution to a problem while presenting a description of a controlled experiment for evaluating this approach (“validation study”).

Regarding to the question Q3, some studies [2, 14] describe that concern identification and classification activity is a bottleneck in the AORE process. While this activity serves as a basis for execution of the other activities, it is important to know: (i) what types of techniques have been used for concern identification and classification; (ii) what are the strengths and limitations of these techniques; and (iii) which of them has been more used.

Finally, the question Q4 was proposed in order to know which are the most used means of publication of AORE-based studies and how it has been the progress of these studies over the years.

To answer these questions, it is necessary to conduct an investigation in the literature aiming to recovery primary studies, as full papers, experience reports, among others. Kitchenham et al. [4] describe certain criteria to lead to an appropriate selection of primary studies, they are: population, intervention and outcomes.

The population refers to the group of studies that will be observed. In this work, the population consists of publications (full papers published in conference proceedings, journals, among others) with a focus on Aspect-Oriented Requirements Engineering. The intervention refers to what will be observed in SM. In this case, all type of AORE approaches, techniques, methods and tools was observed. The outcomes refer to the expected results at the end of the SM. In this case, the expected results are: (i) a catalogue of AORE approaches available in the literature; (ii) the classification of the main AORE activities encompassed by the identified approaches; (iii) a catalogue of the main techniques used for concerns identification and classification; and (iv) the presentation of the evolution of the publications related to AORE over the years, as well as vehicles in which they have been published.

3.2 Search String and Keywords

The keywords used in the search string to obtain the primary studies of this SM are: “requirements engineering”, “approach”, “aspect-oriented”, “aspect orientation”, “tool”, “method” and “technique”. Based on this set of keywords, the search string was generated: ((approach OR approaches OR technique OR techniques OR tool OR tools OR method OR methods) AND (“aspect-orientation” OR “aspect-oriented”) AND (“requirements engineering”)).

Some studies that were not retrieved by the search engines used in this SM were manually added to the repository of the studies. These works were mainly obtained from references found in publications considered relevant for this work.

3.3 Criteria for Inclusion of the Sources and Method for the Search of Primary Studies

The IEEE Xplorer (ieeexplore.ieee.org) and Scopus (www.scopus.com) search sources of primary studies were select based on the following criteria: (i) the source must index publications in the field of Computer Science; (ii) the source should allow searches to studies published in conference proceedings and journals via web; and (iii) the source must provide advanced search engines, using the keywords and filters. The method used to search for primary studies was the search engines available for these sources. Beside, a manual review of the references from studies returned by these sources was performed to obtain publications that were not retrieved by the search engines and that are relevant for this SM.

3.4 Criteria for Inclusion of Primary Studies, Quality Criteria and Methods for Evaluation of Primary Studies

The inclusion and exclusion criteria for primary studies are presented in Table 3.

Table 3. Inclusion and exclusion criteria for the primary studies.

Quality Criteria:

as a way to assess the quality of selected primary studies, we have considered only publications that present a complete and detailed description of the proposed approach. Thus, short papers and posters up to two pages were not considered. Moreover, only the newer versions of studies were analysed.

The Evaluation Method:

consists in selecting primary studies according to the inclusion criteria described in Table 3 and the quality criteria, as previously comment. This protocol was applied for each study obtained from the research method described in Sect. 3.3 and the selected papers were stored for later analysis.

3.5 Data Extraction from the Selected Primary Studies

The data extraction from the selected primary studies for this SM was performed in four steps.

Step 1. One of the researchers has applied the research method to identify potential primary studies. Based on the preliminary identified studies, a researcher read the title, the abstract and the keywords of the publication, applying the criteria described in Table 3. It was recovered 217 studies: 162 coming from the source Scopus and 55 from the IEEE Xplorer; 112 of these studies were accepted and then, completely analyzed in the second step of this SM.

The other ones were considered duplicated (48) or rejected (57). Duplicated studies are those ones that consist of exactly the same publication, without any extension. This occurs because the source Scopus can also index publications available in other sources, such as IEEE, among others. Fifty-seven studies were rejected mainly due to the exclusion criteria E3 (the study does not treat to the usage, adaptation, and/or creation of AORE approaches.). Examples of rejected studies are those that propose the usage of aspect orientation to create tools for requirements management. In this case, the meaning of keyword “requirements engineering” was not directly related to AORE.

Step 2. In this step, the same researcher who has completed Step 1 also has read the full text of the 112 accepted studies. The criteria described in Table 3 were reapplied, as well as the quality criteria (Sect. 3.4). Several studies were rejected because they were short papers (exclusion criterion E6) without enough information for answering the research questions of this work.

The classification of the primary studies after finishing Step 2 can be seen in Fig. 2. It can be noticed that some duplicated studies were identified yet. This occurred because the researcher has not detected this situation, while performing Step 1. The obtained results reinforces that Systematic Mapping must be done at stages, as well as by more than one researcher [3, 4].

Fig. 2.
figure 2

Classification of the studies.

Due to the manual insertion of some relevant studies referenced in the selected papers of the Step 1, the amount of studies has increased in 14 (fourteen). It is important to mention these studies also were submitted to the same set of inclusion and quality criteria already discussed in the paper.

Step 3. The results of the Step 2 were reviewed by another researcher involved in this study, so that any disagreements were discussed and resolved. There was not need to change the previously selected set of studies, but the interaction between the researchers was important for the next step (Step 4), as it will be explained below.

Step 4. Finally, the resulting set of primary studies was used to extract the information required to answer the questions listed at the beginning of this study (Table 1). In this step, the collaboration between the researches was important to reduce the interpretation errors about some data extracted to the studies. The results of this step are presented in detail in Sect. 4.

4 Results

In this section, answers to the research questions for this SM (Table 1) are presented. The data needed to answer the question Q1 are in Table 4; there are 38 approaches identified and analysed in this SM. The columns 1 and 2 show the code of the approach, used to identify it in other parts of this paper, the name of the approach and the reference of the study(ies) that present(s) it, respectively.

Table 4. AORE approaches.

If there is not a specific name for an approach, we have used the title of the study in which this approach was presented. Then, the reader can find, at any time, what are the AORE approaches analysed in this SM and which studies are related to them. Columns 3, 4, 5 and 6 of Table 4 describe which AORE activities, as discussed in Sect. 2, are encompassed by the identified approaches.

It is possible to notice that many approaches include the concern identification and classification, representation and composition activities. However, there is a lack of approaches related to the “Conflict Identification and Resolution” activity. Other interesting points are that only 16 % of the analysed approaches (7, 8, 13, 15, 18 and 23) are complete, i.e., include all activities related to AORE and 55 % of them encompass just one or two activities. This provides indications that conducting studies on a specific AORE activity or a small subset of activities can be an interesting strategy of research instead of trying to develop approaches that deal with all activities. A final point to be emphasized with respect to Table 4 is that not every 60 studies analysed in this SM are referenced in this table. This occurs because some studies are related to the usage and/or comparison of some AORE approaches, i.e., they did not develop or extend any approach.

In order to answer the question Q2, Fig. 3 presents the classification of primary studies analysed in this SM according to the classes described in Table 2.

Fig. 3.
figure 3

Classification of Primary Studies.

Seventy nine percent of the studies were classified as an “Original Solution” or an “Adapted Solution” and there were few validation studies and none evaluation studies. This fact calls our attention, because many approaches are being used/adapted without having been submitted to evaluation studies. In addition, new approaches are being proposed without knowing the real accuracy of the existing approaches.

Another evidence about the previously affirmation is presented in Table 5, that presents: (i) the code of the AORE approach; (ii) the year of the first publication of this approach; (iii) the years of publication corresponding to adaptations of this approach; (iv) the references of the approaches used as basis for development of this approach; and (v) the references of the studies that evaluate this approach.

Table 5. Evolution of the AORE approaches.

Approximately 74 % of the approaches (28 of 38) were not evaluated through case studies, controlled experiments, among others, performed in a laboratory or an industrial environment. In addition, many approaches (55 %: 2, 3, 5, 6, 9, 10, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 28, 31, 32 and 34) have been proposed and then they have not been adapted, evaluated or used as a basis for other approaches anymore. In other hand, some approaches that have been evaluated, adapted and/or used as a basis for other approaches are: 4, 7, 11, 12, 15, 20, 23, 27, 29, 30, 35, 36, 37 and 38. The approaches 15 [8, 10] and 35 [9] have been evaluated in more than one experimental study. The approaches 12 [7, 11] and 29 [15] were used as basis for, at least, two other approaches.

With regard to the question Q3, Table 6 presents the name and description of five concern identification and classification techniques and the approaches that use them. Some experimental studies [2, 14] describe that concern identification and classification activity is a bottleneck in the AORE process. Then, knowing the techniques used in this activity can help professionals and researchers to obtain better strategies to perform this activity.

Table 6. Techniques for concern identification and classification.

As can be seen the most used technique in different approaches is “Manual Analysis of the Requirements Document by the Software Engineers with the Aid of Guidelines”. Despite being limited to large scale software, this technique has promising benefits, such as minimizing the dependence of users’ experience during the application of the approach.

This is an indication that this technique has significant benefits for the concern identification and classification and should be studied more carefully. Another important point to notice is that few approaches (7, 23 and 27) use more than one technique for concern identification and classification. This fact can be an interest research field, because the usage of combined techniques can lead to higher accuracy of AORE approaches.

Finally, to answer the question Q4, two bubble charts were built and they are presented, respectively, in Figs. 4 and 5. Regarding to these figures, it is important to comment that:

Fig. 4.
figure 4

Distribution of the published studies on conference proceedings.

Fig. 5.
figure 5

Distribution of the published studies on journals and books.

  1. (i)

    the distribution of the published studies on conference proceedings is in Y-axis of the graph of the Fig. 4;

  2. (ii)

    the distribution of the published studies on journals, books and other vehicles of scientific publication is in Y-axis of the graph of the Fig. 5. Aiming to simplify the visualization of these graphs, only the initials of the events/journals was used to identify them; and

  3. (iii)

    the amount of publications per event, journal or book and the year in which they occurred are presented in X-axis of the graphs of Figs. 4 and 5.

It may be notice that most publications (eleven) comes from the Workshop in Aspect-Oriented Requirements Engineering and Architecture Design (EA). This makes sense, because this is an event dedicated to publishing works related to AORE. Another event that has a relevant amount of publications related to AORE (eight) is the International Requirements Engineering (RE), a good and well-known conference in the RE field.

Another important point to be observed in Figs. 4 and 5 is the evolution of AORE publications over the years. It is possible to notice that there was a great amount of publications between 2007 and 2009. In this period, the scientific community have published 52 % of all studies published from 2002 to 2013. Finally, we also can observe that most of studies have been published in conference proceedings and only eight studies (13 %) were published in journals.

This indication is consistent to what we have said about the lack of evaluation studies on the existing approaches. Since the approaches are not mature enough, i.e., the evidences of the robustness and accuracy of such approaches are fragile, publishing them in good journals may be a hard task.

Beside the answers for the questions of Table 1, we aimed to know what are the major research institutions and countries involved with AORE. This information is important because it can help to improve: (i) the dissemination of the work carried out by research groups; and (ii) the cooperation between different research institutions, interested in the same area, i.e., AORE.

Regarding the distribution of studies among research institutions, the graph of Fig. 6 presents the name of the research institution and the percentage of studies published by this institution. Lancaster University (UK) and University of Nova

Fig. 6.
figure 6

Distribution of the studies regarding to research institutions.

Lisboa (Portugal) are the most productive research institutions on AORE in the world, with a total of 18.5 % and 21 % of the studies published on this area, respectively. All other research institutions, with only one published study, were grouped in the category “Other ones”.

Once the institutions located in Lancaster and Nova Lisboa have published the most of studies related to AORE, countries that had the greatest amount of published studies in this area were Portugal and the UK, as can be seen in the graph of Fig. 7 (besides the University of Nova Lisboa, Polytechnic Institute of Beja also had publications on AORE and is located in Portugal). In third place is Brazil, with 13.6 % of the amount of published studies on AORE. The main universities in Brazil responsible for these publications are Federal University of Rio Grande do Norte and Federal University of Rio de Janeiro (Fig. 6). All other countries, with only one published study, were grouped in the category “Other ones”.

Fig. 7.
figure 7

Distribution of the studies regarding to the country where the research institutions are located.

Another relevant point that can be raised from this SM, but that was not systematized through research questions, is the identification of the main researchers involved with AORE in the world. The graph in Fig. 8 presents the word cloud (generated by Word Cloud Generator tool, available at: http://www.jasondavies.com/wordcloud/#) generated from the names of the authors of the studies analyzed in this SM. From this graph is possible to identify the main researchers involved with AORE as João Araújo (University of Nova Lisboa), Ana Moreira (University of Nova Lisboa), Awais Rashid (Lancaster University), among others. This information is important because it can serve as a “control” for performing other secondary studies, such as Systematic Mappings or Systematic Reviews. A control can be used to judge whether the search string allows recovering relevant studies or not.

Fig. 8.
figure 8

Word cloud derived from the names of the authors of the studies analyzed.

5 Threats to Validity

Primary Studies Selection.

Aiming at ensuring an unbiased selection process, we defined research questions and devised inclusion and exclusion criteria we believe are detailed enough to provide an assessment of how the final set of primary studies was obtained. However, we cannot rule out threats from a quality assessment perspective, we simply selected studies without assigning any scores. In addition, we wanted to be as inclusive as possible, thus no limits were placed on date of publication and we avoided imposing many restrictions on primary study selection since we wanted a broad overview of the research area.

Missing Important Primary Studies.

The search for primary studies was conducted in two well-known search engines (Scopus and IEEE Xplorer), even though it is rather possible we have missed some relevant primary studies. Nevertheless, this threat was mitigated by selecting search engines which have been regarded as the most relevant scientific sources [56] and therefore prone to contain the majority of the important studies.

Reviewers’ Reliability.

All the reviewers of this study are researchers in the software engineering, focused on the aspect-oriented development, requirements engineering and aspect mining. Therefore, we are not aware of any bias we may have introduced during the analyses.

Data Extraction.

Another threat for this review refers to how the data were extracted from the digital libraries, since not all the information was obvious to answer the questions and some data had to be interpreted. Therefore, in order to ensure the validity, multiple sources of data were analysed, i.e. papers, technical reports, white papers. Furthermore, in the event of a disagreement between the two primary reviewers, a third reviewer acted as an arbitrator to ensure full agreement was reached.

6 Final Remarks

In this paper, we presented a SM of Aspect-Oriented Requirements Engineering (AORE), based on the process described by Kitchenham et al., [4].

The SM presented was conducted as the planning described in Sect. 3. Through an examination of 60 primary studies related to AORE approaches, this review has presented 38 different approaches. The steps outlined in this plan were sufficient to obtain relevant primary studies, which generated the data needed to answer the research questions (Table 1).

Summarizing the results observed from this SM:

  1. 1.

    We have identified 38 (thirty-eight) distinct AORE approaches;

  2. 2.

    The most of identified approaches are related to concern identification and classification, representation and composition activities; we have notice there is a lack of studies based on conflicts detection and resolution;

  3. 3.

    The most studies analysed in this SM consist of presenting either new AORE approaches or adaptation of existing approaches; this indicates that more evaluation studies, based on these existing approaches, need to be performed to verify the real accuracy of them;

  4. 4.

    We have identified five different types of techniques for concern identification and classification, which are used by the AORE approaches: “Natural Language Processing (NLP)”, “Probabilistic Models and Clustering”, “Manual Analysis of Requirements Document by Software Engineers”, “Manual Analysis of Requirements Document by Software Engineers with the Aid of Guidelines” and “Software Visualization”. The most used technique is the “Manual Analysis of Requirements Document by Software Engineers with the Aid of Guidelines”. Despite being limited to large software, it has promising benefits, such as minimizing the dependence users’ experience during the application of the approach;

  5. 5.

    It was notice that most of the studies has been published in conference proceedings, which reinforces the idea that many approaches have been proposed, but few of them are mature enough to be published in journals; and

  6. 6.

    Finally, data show that the most productive research institutions on AORE in the world are Lancaster University and University of Nova Lisboa, located in UK and Portugal, respectively.

Researchers can use this SM as a base for advancing the field, while practitioners can use it to identify approaches that are well-suited to their needs. With the results obtained through this SM, it was possible to develop a set of comparison criteria for AORE approaches, based on common features and variability of the approaches analysed in this SM [58]. Such criteria were then applied on six of the main AORE approaches: 7, 11, 12, 15, 23 and 29. The results can serve as a guide so that users can choose the approach that best meets their needs, and to facilitate the conduct of research in AORE. The main future directions that emerged from this mapping are the need for empirical, comparative evaluations and the opportunity for developing combined AORE approaches.