Skip to main content
Log in

EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

One of the aims of Aspect-Oriented Requirements Engineering is to address the composability and subsequent analysis of crosscutting and non-crosscutting concerns during requirements engineering. A composition definition explicitly represents interdependencies and interactions between concerns. Subsequent analysis of such compositions helps to reveal conflicting dependencies that need to be resolved in requirements. However, detecting conflicts in a large set of textual aspect-oriented requirements is a difficult task as a large number of explicitly defined interdependencies need to be analyzed. This paper presents EA-Analyzer, the first automated tool for identifying conflicts in aspect-oriented requirements specified in natural-language text. The tool is based on a novel application of a Bayesian learning method. We present an empirical evaluation of the tool with three industrial-strength requirements documents from different domains and a fourth academic case study used as a de facto benchmark in several areas of the aspect-oriented community. This evaluation shows that the tool achieves up to 93.90 % accuracy regardless of the documents chosen as the training and validation sets.

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

Similar content being viewed by others

Notes

  1. Please note that grammar and semantics are used in RDL composition definitions, as discussed previously. Thus, they are indispensable in the task of collecting the required bags or words. Once such words are collected, in the EA-Analyzer learning phase, the grammar and semantics are not used any further.

References

  • Ambriola, V., Gervasi, V.: On the systematic analysis of natural language requirements with circe. Autom. Softw. Eng. 13(1), 107–167 (2006)

    Article  Google Scholar 

  • Araújo, J., Whittle, J., Kim, D.-K.: Modeling and composing scenario-based requirements with aspects. In: RE’04: Proceedings of the Requirements Engineering Conference, 12th IEEE International. IEEE Computer Society, Washington (2004)

    Google Scholar 

  • Ayed, D., Genssler, T.: Dynamic variability in complex, adaptive systems. Deliverable D6.1 of DiVA EC project (2009)

  • Baniassad, E., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: ICSE’04: Proceedings of the 26th International Conference on Software Engineering. IEEE Computer Society, Washington (2004)

    Google Scholar 

  • Barais, O., Klein, J., Baudry, B., Jackson, A., Clarke, S.: Composing multi-view aspect models. In: ICCBSS’08: Proceedings of the Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008). IEEE Computer Society, Washington (2008)

    Google Scholar 

  • Bishop, C.M.: Pattern Recognition and Machine Learning. Springer, Berlin (2006)

    MATH  Google Scholar 

  • Brito, I.S., Vieira, F., Moreira, A., Ribeiro, R.: Handling conflicts in aspectual requirements compositions. In: Transactions on Aspect Oriented Software Development (TAOSD) (2007)

    Google Scholar 

  • Burg, J.F.M., v. d. Riet, R.P.: Color-x: Linguistically-based event modeling: A general approach to dynamic modeling. In: CAiSe’95: Proceedings of the 7th International Conference on Advanced Information Systems Engineering. Springer, London (1995)

    Google Scholar 

  • Chitchyan, R.: Semantics-based composition for aspect-oriented requirements engineering. Ph.D. thesis, Computing Department, Lancaster University (2007)

  • Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-based composition for aspect-oriented requirements engineering. In: AOSD’07: Proceedings of the 6th International Conference on Aspect-Oriented Software Development. ACM, New York (2007)

    Google Scholar 

  • Chitchyan, R., Greenwood, P., Sampaio, A., Rashid, A., Garcia, A., Fernandes da Silva, L.: Semantic vs. syntactic compositions in aspect-oriented requirements engineering: An empirical study. In: AOSD’09: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development. ACM, New York (2009)

    Google Scholar 

  • Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-functional Requirements in Software Engineering. Kluwer Academic, Dordrecht (1999)

    Book  Google Scholar 

  • Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley Professional, Reading (2005)

    Google Scholar 

  • Cohen, W.W.: Learning rules that classify e-mail. In: Papers from the AAAI Spring Symposium on Machine Learning in Information Access. AAAI Press, Washington (1996)

    Google Scholar 

  • Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)

    Article  MATH  Google Scholar 

  • Domingos, P., Pazzani, M.J.: On the optimality of the simple Bayesian classifier under zero-one loss. Mach. Learn. 29(2–3), 103–130 (1997)

    Article  MATH  Google Scholar 

  • Easterbrook, S., Nuseibeh, B.: Using viewpoints for inconsistency management. Softw. Eng. J. 11, 31–43 (1996)

    Article  Google Scholar 

  • Goldin, L., Berry, D.M.: AbstFinder, a prototype natural language text abstraction finder for use in requirements elicitation. Autom. Softw. Eng. 4(4), 375–412 (1997)

    Article  Google Scholar 

  • Gray, J., Siewiorek, D.P.: High-availability computer systems. Computer 24(9), 39–48 (1991)

    Article  Google Scholar 

  • Joachims, T.: A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization. In: ICML’97: Proceedings of the Fourteenth International Conference on Machine Learning. Morgan Kaufmann, San Francisco (1997)

    Google Scholar 

  • Joachims, T.: Text categorization with support vector machines: Learning with many relevant features. In: ECML’98: Proceedings of the 10th European Conference on Machine Learning. Springer, London (1998)

    Google Scholar 

  • Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis management systems: A case study for aspect-oriented modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. Lecture Notes in Computer Science, vol. 6210, pp. 1–22. Springer, Berlin (2010)

    Chapter  Google Scholar 

  • Laney, R., Barroca, L., Jackson, M., Nuseibeh, B.: Composing requirements using problem frames. In: RE’04: Proceedings of the Requirements Engineering Conference, 12th IEEE International. IEEE Computer Society, Washington (2004)

    Google Scholar 

  • Lang, K.: Newsweeder: Learning to filter netnews. In: Proceedings of the 12th International Machine Learning Conference (ML95) (1995)

    Google Scholar 

  • Lewis, D.: Naive (Bayes) at forty: The independence assumption in information retrieval. In: Nédellec, C., Rouveirol, C. (eds.) Machine Learning: ECML-98. Lecture Notes in Computer Science, vol. 1398, pp. 4–15. Springer, Berlin (1998). doi:10.1007/BFb0026666

    Chapter  Google Scholar 

  • McCallum, A., Nigam, K.: A comparison of event models for naive Bayes text classification. In: AAAI-98 Workshop on Learning for Text Categorization (1998)

    Google Scholar 

  • Mehner, K., Monga, M., Taentzer, G.: Interaction analysis in aspect-oriented models. In: RE’06: Proceedings of the 14th IEEE International Requirements Engineering Conference. IEEE Computer Society, Washington (2006)

    Google Scholar 

  • Mitchell, T.: Machine Learning. McGraw-Hill, New York (1997)

    MATH  Google Scholar 

  • Moreira, A., Araújo, J., Rashid, A.: A concern-oriented requirements engineering model. In: Proceedings of CAiSE 2005. LNCS, vol. 3520 (2005a)

    Google Scholar 

  • Moreira, A., Rashid, A., Araújo, J.: Multi-dimensional separation of concerns in requirements engineering. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering (RE’05) (2005b)

    Google Scholar 

  • Mostefaoui, F., Vachon, J.: Design-level detection of interactions in aspect-uml models using Alloy. J. Object Technol. 6(7), 137–165 (2007)

    Article  Google Scholar 

  • Nentwich, C., Emmerich, W., Finkelstein, A., Ellmer, E.: Flexible consistency checking. ACM Trans. Softw. Eng. Methodol. 12(1), 28–63 (2003)

    Article  Google Scholar 

  • Nuseibeh, B., Easterbrook, S., Russo, A.: Making inconsistency respectable in software development. J. Syst. Softw. 58, 171–180 (2001)

    Article  Google Scholar 

  • Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: Meaningful relationships are difficult! In: ICSE’03: Proceedings of the 25th International Conference on Software Engineering. IEEE Computer Society, Washington (2003)

    Google Scholar 

  • Payne, T.R., Edwards, P.: Interface agents that learn: An investigation of learning issues in a mail agent interface (1995)

  • Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, New York (2005)

    MATH  Google Scholar 

  • Rashid, A., Moreira, A., Araújo, J.: Modularisation and composition of aspectual requirements. In: AOSD’03: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development. ACM, New York (2003)

    Google Scholar 

  • Rayson, P.: Wmatrix. http://www.comp.lancs.ac.uk/ucrel/wmatrix/ (2010)

  • Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. In: Trans. Aspect-Oriented Software Development, pp. 75–105 (2006)

    Chapter  Google Scholar 

  • Sahami, M., Dumais, S., Heckerman, D., Horvitz, E.: A Bayesian approach to filtering junk e-mail. In: AAAI’98 Workshop on Learning for Text Categorization (1998)

    Google Scholar 

  • Sampaio, A., Chitchyan, R., Rashid, A., Rayson, P.: EA-Miner: A tool for automating aspect-oriented requirements identification. In: ASE’05: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. ACM, New York (2005)

    Google Scholar 

  • Sampaio, A., Greenwood, P., Garcia, A.F., Rashid, A.: A comparative study of aspect-oriented requirements engineering approaches. In: ESEM’07: Proceedings of the First International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society, Washington (2007)

    Google Scholar 

  • Schapire, R.E., Singer, Y.: Boostexter: A boosting-based system for text categorization. Mach. Learn. 39(2–3), 135–168 (2000)

    Article  MATH  Google Scholar 

  • Shaker, P., Peters, D.K.: Design-level detection of interactions in aspect-oriented systems. In: Proceedings of the Aspects, Dependencies, and Interactions Workshop at ECOOP 2006 (2006)

    Google Scholar 

  • Shepherd, D., Pollock, L., Vijay-Shanker, K.: Towards supporting on-demand virtual remodularization using program graphs. In: AOSD’06: Proceedings of the 5th International Conference on Aspect-Oriented Software Development. ACM, New York (2006)

    Google Scholar 

  • Soares, S., Borba, P., Laureano, E.: Distribution and persistence as aspects. Softw. Pract. Exp. 36(7), 711–759 (2006)

    Article  Google Scholar 

  • van Lamsweerde, A., Dardenne, A., Delcourt, B., Dubisy, F.: The KAOS project: Knowledge acquisition in automated specification of software. In: Proceedings AAAI Spring Symposium Series, Stanford University. American Association for Artificial Intelligence, Washington (1991)

    Google Scholar 

  • Weston, N., Chitchyan, R., Rashid, A.: A formal approach to semantic composition of aspect-oriented requirements. In: RE’08: Proceedings of the 16th International Requirements Engineering Conference (2008)

    Google Scholar 

  • Yang, Y., Chute, C.G.: An example-based mapping method for text categorization and retrieval. ACM Trans. Inf. Syst. 12(3), 252–277 (1994)

    Article  Google Scholar 

Download references

Acknowledgements

This work has been supported by a Marie Curie Fellowship from the European Commission (Grant Agreement No. PIIF-GA-2008-221016) and FCT (INESC-ID multiannual funding) through the PIDDAC Program funds.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alberto Sardinha.

Appendix: Naive Bayes—the Bayesian approach in EA-Analyzer

Appendix: Naive Bayes—the Bayesian approach in EA-Analyzer

The problem of detecting conflicts in EA-Analyzer is formulated as a classification problem. Thus, the input vector of features is extracted from the text of the requirements, and an estimated target function maps these features into a set of classes V={Conflict,Harmony}. The aim of the Bayesian approach (Mitchell 1997) is to assign the most probable target value, v NB , given the input vector of features 〈a 1,a 2,…,a n 〉:

$$ v_{NB}= \operatornamewithlimits {argmax}_{v_j \in V} P(v_j |a_1, a_2,\ldots, a_n)$$
(5)

Equation (6) presents the Bayes theorem:

$$ P(v_j | a_1, a_2,\ldots,a_n) = \frac{P(a_1, a_2,\ldots, a_n | v_j)P(v_j)}{P(a_1, a_2,\ldots, a_n)}$$
(6)

Hence, from the Bayes theorem in Eq. (6), we can rewrite Eq. (5) as follows:

$$ v_{NB}= \operatornamewithlimits {argmax}_{v_j \in V} \frac{P(a_1, a_2,\ldots, a_n | v_j)P(v_j)}{P(a_1, a_2,\ldots, a_n)}$$
(7)

Since the denominator in Eq. (7) does not depend on v j and the values of a 1,a 2,…,a n are given, this denominator is a constant independent of v j . Thus, we can rewrite Eq. (7) as follows:

$$ v_{NB}= \operatornamewithlimits {argmax}_{v_j \in V} P(a_1,a_2,\ldots, a_n | v_j) P(v_j)$$
(8)

The Naive Bayes approach assumes that the features are conditionally independent given v j . In other words, the probability of observing a 1,a 2,…,a n is the product of the probabilities of each individual feature:

$$ P(a_1, a_2,\ldots, a_n |v_j) = \prod_i P(a_i |v_j)$$
(9)

Hence, we can rewrite Eq. (8) as follows:

$$ v_{NB}= \operatornamewithlimits {argmax}_{v_j \in V}P(v_j) \prod_i P(a_i |v_j)$$
(10)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sardinha, A., Chitchyan, R., Weston, N. et al. EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements. Autom Softw Eng 20, 111–135 (2013). https://doi.org/10.1007/s10515-012-0106-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-012-0106-7

Keywords

Navigation