EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements
Tóm tắt
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.
Tài liệu tham khảo
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)