Comprehensively evaluating conformance error rates of applying aspect state machines

Aspect Oriented Modeling (AOM) aims to provide enhanced separation of concerns during the design phase and proclaims many benefits (e.g., easier model evolution, reduced modeling effort, and reduced modeling errors) over traditional modeling paradigms such as object-oriented modeling. However, empirical evaluations of these benefits is severely lacking in the AOM community. In this paper, we empirically evaluate one of the AOM profiles: AspectSM, via a controlled experiment to assess if it can help in reducing modeling errors (referred as conformance errors in this paper), which is one of the benefits offered by AOM. AspectSM is a UML profile, which is developed to support automated state-based robustness testing. With AspectSM, crosscutting behaviors are modeled as aspect state machines using the stereotypes defined in AspectSM. We evaluate the conformance error rates of applying AspectSM from various perspectives by conducting four activities: 1) identifying modeling defects, 2) comprehending state machines, 3) modeling state machines, and 4) weaving aspect state machines into base state machines. For most of these activities, experimental results show that the error rates while performing these four activities using AspectSM are significantly lower than standard UML state machine modeling approaches.

[1]  Gefei Zhang,et al.  HiLA: high-level aspects for UML state machines , 2009, MODELS'09.

[2]  D. Boehm-Davis,et al.  Mental representations of programs for student and professional programmers , 1987 .

[3]  Alessandro F. Garcia,et al.  Assessing the impact of aspects on model composition effort , 2010, AOSD.

[4]  João Araújo,et al.  An expressive aspect composition language for UML state diagrams , 2007, MODELS'07.

[5]  Thaís Vasconcelos Batista,et al.  An exploratory study of fault-proneness in evolving aspect-oriented programs , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[6]  Dianxiang Xu,et al.  A State-Based Approach to Testing Aspect-Oriented Programs , 2005, SEKE.

[7]  Sebastian Kleinschmager,et al.  Does aspect-oriented programming increase the development speed for crosscutting code? An empirical study , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[8]  Lionel C. Briand,et al.  Does aspect-oriented modeling help improve the readability of UML state machines? , 2012, Software & Systems Modeling.

[9]  Robert J. Walker,et al.  An initial assessment of aspect-oriented programming , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[10]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[11]  Wouter Joosen,et al.  From aspect-oriented models to aspect-oriented code?: the maintenance perspective , 2010, AOSD.

[12]  Alexander Knapp,et al.  Enhancing UML state machines with aspects , 2007, MODELS'07.

[13]  Dag I. K. Sjøberg,et al.  Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software , 2004, IEEE Transactions on Software Engineering.

[14]  Maliha S. Nash,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 2001, Technometrics.

[15]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[16]  Thomas Weigert,et al.  Specifying Telecommunications Systems with UML , 2003, UML for Real.

[17]  Mehmet Aksit,et al.  A Controlled Experiment for the Assessment of Aspects - Tracing in an Industrial Context , 2008 .

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

[19]  Rachel Harrison,et al.  An exploratory study of the effect of aspect-oriented programming on maintainability , 2008, Software Quality Journal.

[20]  Doron Drusinsky,et al.  Modeling and verification using UML statecharts - a working guide to reactive system design, runtime monitoring and execution-based model checking , 2006 .

[21]  Lionel C. Briand,et al.  Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems , 2011, Software & Systems Modeling.

[22]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[23]  Siobhán Clarke,et al.  Model-Driven Theme/UML , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[24]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.