Evaluating the effort of composing design models: a controlled experiment

Model composition plays a key role in many tasks in model-centric software development, e.g., evolving UML diagrams to add new features or reconciling models developed in parallel by different software development teams. However, based on our experience in previous empirical studies, one of the main impairments for the widespread adoption of composition techniques is the lack of empirical knowledge about their effects on developers’ effort. This problem applies to both existing categories of model composition techniques, i.e., specification-based (e.g., Epsilon) and heuristic-based techniques (e.g., IBM RSA). This paper, therefore, reports on a controlled experiment that investigates the effort of (1) applying both categories of model composition techniques and (2) detecting and resolving inconsistencies in the output composed models. We evaluate the techniques in 144 evolution scenarios, where 2,304 compositions of elements of UML class diagrams were produced. The main results suggest that (1) the employed heuristic-based techniques require less effort to produce the intended model than the chosen specification-based technique, (2) there is no significant difference in the correctness of the output composed models generated by these techniques, and (3) the use of manual heuristics for model composition outperforms their automated counterparts.

[1]  Michel R. V. Chaudron,et al.  Effects of defects in UML models: an experimental investigation , 2006, ICSE.

[2]  Carlos José Pereira de Lucena,et al.  Effects of stability on model composition effort: an exploratory study , 2014, Software & Systems Modeling.

[3]  Diane K. Michelson,et al.  Applied Statistics for Engineers and Scientists , 2001, Technometrics.

[4]  W. Shadish,et al.  Experimental and Quasi-Experimental Designs for Generalized Causal Inference , 2001 .

[5]  Jon Whittle,et al.  Synthesizing hierarchical state machines from expressive scenario descriptions , 2010, TSEM.

[6]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[7]  Mark L. Mitchell,et al.  Research Design Explained , 1987 .

[8]  William R. Cook,et al.  Safe composition of product lines , 2007, GPCE '07.

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

[10]  Elisa Baniassad,et al.  Aspect-Oriented Analysis and Design , 2005 .

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

[12]  M. Brewer,et al.  Research Design and Issues of Validity , 2000 .

[13]  Marco Torchiano,et al.  How Developers' Experience and Ability Influence Web Application Comprehension Tasks Supported by UML Stereotypes: A Series of Four Experiments , 2010, IEEE Transactions on Software Engineering.

[14]  R. Hyman Quasi-Experimentation: Design and Analysis Issues for Field Settings (Book) , 1982 .

[15]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Harrison Si,et al.  Handbook of Research Methods in Social and Personality Psychology: Author Index , 2013 .

[17]  Webster West,et al.  Applied Statistics for Engineers and Scientists , 2007 .

[18]  Siobhán Clarke,et al.  Composition of Object-Oriented Software Design Models , 2001 .

[19]  Harvey P. Siy,et al.  Parallel changes in large scale software development: an observational case study , 1998, Proceedings of the 20th International Conference on Software Engineering.

[20]  Tore Dybå,et al.  Conducting realistic experiments in software engineering , 2002, Proceedings International Symposium on Empirical Software Engineering.

[21]  Barbara A. Kitchenham,et al.  Empirical Paradigm - The Role of Experiments , 2006, Empirical Software Engineering Issues.

[22]  Liming Zhu,et al.  Evaluating guidelines for reporting empirical software engineering studies , 2008, Empirical Software Engineering.

[23]  Kleinner Farias,et al.  Empirical evaluation of effort on composing design models , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[24]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[25]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[26]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable aspects , 2001, ICSE 2001.

[27]  H. London,et al.  Social experimentation , 1993 .

[28]  Magne Jørgensen,et al.  Practical Guidelines for Expert-Judgment-Based Software Effort Estimation , 2005, IEEE Softw..

[29]  Jacques Klein,et al.  Semantic-based weaving of scenarios , 2006, AOSD.

[30]  Carlos José Pereira de Lucena,et al.  Evaluating the effort of composing design models: a controlled experiment , 2012, MODELS'12.

[31]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

[32]  Massimiliano Di Penta,et al.  An experimental investigation of formality in UML-based development , 2005, IEEE Transactions on Software Engineering.

[33]  Marian Petre,et al.  UML in practice , 2013, 2013 35th International Conference on Software Engineering (ICSE).