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.
Similar content being viewed by others
Notes
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)
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)
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)
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)
Bishop, C.M.: Pattern Recognition and Machine Learning. Springer, Berlin (2006)
Brito, I.S., Vieira, F., Moreira, A., Ribeiro, R.: Handling conflicts in aspectual requirements compositions. In: Transactions on Aspect Oriented Software Development (TAOSD) (2007)
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)
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)
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)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-functional Requirements in Software Engineering. Kluwer Academic, Dordrecht (1999)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley Professional, Reading (2005)
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)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)
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)
Easterbrook, S., Nuseibeh, B.: Using viewpoints for inconsistency management. Softw. Eng. J. 11, 31–43 (1996)
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)
Gray, J., Siewiorek, D.P.: High-availability computer systems. Computer 24(9), 39–48 (1991)
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)
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)
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)
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)
Lang, K.: Newsweeder: Learning to filter netnews. In: Proceedings of the 12th International Machine Learning Conference (ML95) (1995)
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
McCallum, A., Nigam, K.: A comparison of event models for naive Bayes text classification. In: AAAI-98 Workshop on Learning for Text Categorization (1998)
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)
Mitchell, T.: Machine Learning. McGraw-Hill, New York (1997)
Moreira, A., Araújo, J., Rashid, A.: A concern-oriented requirements engineering model. In: Proceedings of CAiSE 2005. LNCS, vol. 3520 (2005a)
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)
Mostefaoui, F., Vachon, J.: Design-level detection of interactions in aspect-uml models using Alloy. J. Object Technol. 6(7), 137–165 (2007)
Nentwich, C., Emmerich, W., Finkelstein, A., Ellmer, E.: Flexible consistency checking. ACM Trans. Softw. Eng. Methodol. 12(1), 28–63 (2003)
Nuseibeh, B., Easterbrook, S., Russo, A.: Making inconsistency respectable in software development. J. Syst. Softw. 58, 171–180 (2001)
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)
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)
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)
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)
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)
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)
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)
Schapire, R.E., Singer, Y.: Boostexter: A boosting-based system for text categorization. Mach. Learn. 39(2–3), 135–168 (2000)
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)
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)
Soares, S., Borba, P., Laureano, E.: Distribution and persistence as aspects. Softw. Pract. Exp. 36(7), 711–759 (2006)
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)
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)
Yang, Y., Chute, C.G.: An example-based mapping method for text categorization and retrieval. ACM Trans. Inf. Syst. 12(3), 252–277 (1994)
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
Corresponding author
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 〉:
Equation (6) presents the Bayes theorem:
Hence, from the Bayes theorem in Eq. (6), we can rewrite Eq. (5) as follows:
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:
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:
Hence, we can rewrite Eq. (8) as follows:
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-012-0106-7