On the impact of UML analysis models on source-code comprehensibility and modifiability

We carried out a family of experiments to investigate whether the use of UML models produced in the requirements analysis process helps in the comprehensibility and modifiability of source code. The family consists of a controlled experiment and 3 external replications carried out with students and professionals from Italy and Spain. 86 participants with different abilities and levels of experience with UML took part. The results of the experiments were integrated through the use of meta-analysis. The results of both the individual experiments and meta-analysis indicate that UML models produced in the requirements analysis process influence neither the comprehensibility of source code nor its modifiability.

[1]  Siw Elisabeth Hove,et al.  The impact of UML documentation on software maintenance: an experimental evaluation , 2006, IEEE Transactions on Software Engineering.

[2]  Xiao-Hua Zhou,et al.  Statistical Methods for Meta‐Analysis , 2008 .

[3]  Charles Richter,et al.  A review of the state of the practice in requirements modeling , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[4]  Jeffrey C. Carver,et al.  Knowledge-Sharing Issues in Experimental Software Engineering , 2004, Empirical Software Engineering.

[5]  Bente Anda,et al.  Experiences from introducing UML-based development in a large safety-critical project , 2006, Empirical Software Engineering.

[6]  Matthias Jarke,et al.  Scenarios in System Development: Current Practice , 1998, IEEE Softw..

[7]  Jeffrey C. Carver,et al.  The role of replications in Empirical Software Engineering , 2008, Empirical Software Engineering.

[8]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[9]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[10]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

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

[12]  Giuseppe Scanniello,et al.  Do professional developers benefit from design pattern documentation? a replication in the context of source code comprehension , 2012, MODELS'12.

[13]  Jan Verelst,et al.  The Influence of the Level of Abstraction on the Evolvability of Conceptual Models of Information Systems , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[14]  Juan Carlos Espinosa,et al.  Comprehensive Meta-Analysis , 2004 .

[15]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[16]  Michael Philippsen,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002, IEEE Trans. Software Eng..

[17]  Foutse Khomh,et al.  An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[18]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[19]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[20]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

[21]  Amela Karahasanovic,et al.  A survey of controlled experiments in software engineering , 2005, IEEE Transactions on Software Engineering.

[22]  Giuseppe Scanniello,et al.  Evaluating legacy system migration technologies through empirical studies , 2009, Inf. Softw. Technol..

[23]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[24]  Giuseppe Scanniello,et al.  An empirical investigation on the relation between analysis models and source code comprehension , 2010, SAC '10.

[25]  Lionel C. Briand,et al.  A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance , 2008, IEEE Transactions on Software Engineering.

[26]  Paul D. Ellis,et al.  The essential guide to effect sizes : statistical power, meta-analysis, and the interpretation of research results , 2010 .

[27]  Ritu Agarwal,et al.  Object-oriented modeling with UML: a study of developers' perceptions , 2003, CACM.

[28]  Giuseppe Scanniello,et al.  Does the combined use of class and sequence diagrams improve the source code comprehension?: results from a controlled experiment , 2012, EESSMod '12.

[29]  Tore Dybå,et al.  A systematic review of effect size in software engineering experiments , 2007, Inf. Softw. Technol..

[30]  S. Shapiro,et al.  An analysis of variance test for normality ( complete samp 1 es ) t , 2007 .

[31]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide (2nd Edition) , 2015 .

[32]  Richard V. McCarthy,et al.  Does UML make the grade? Insights from the software development community , 2005, Inf. Softw. Technol..

[33]  Giuseppe Scanniello,et al.  Investigating the Role of UML in the Software Modeling and Maintenance - A Preliminary Industrial Survey , 2010, ICEIS.

[34]  GeneroMarcela,et al.  On the impact of UML analysis models on source-code comprehensibility and modifiability , 2014 .

[35]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

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

[37]  Pearl Brereton,et al.  Empirical evidence about the UML: a systematic literature review , 2011, Softw. Pract. Exp..

[38]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[39]  Nicolas Anquetil,et al.  A study of the documentation essential to software maintenance , 2005, SIGDOC '05.

[40]  Shihong Huang,et al.  A qualitative assessment of the efficacy of UML diagrams as a form of graphical documentation in aiding program understanding , 2003, SIGDOC '03.

[41]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[42]  Silvia Mara Abrahão,et al.  Assessing the Effectiveness of Sequence Diagrams in the Comprehension of Functional Requirements: Results from a Family of Five Experiments , 2013, IEEE Transactions on Software Engineering.

[43]  Keng Siau,et al.  Theoretical and practical complexity of modeling methods , 2007, CACM.

[44]  Mario Piattini,et al.  A Systematic Literature Review on the Quality of UML Models , 2009 .

[45]  Giuseppe Scanniello,et al.  Does the Documentation of Design Pattern Instances Impact on Source Code Comprehension? Results from Two Controlled Experiments , 2011, 2011 18th Working Conference on Reverse Engineering.

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

[47]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[48]  H. James Nelson,et al.  Research Review: A Systematic Literature Review on the Quality of UML Models , 2011, J. Database Manag..

[49]  John A. McDermid,et al.  Software Engineer's Reference Book , 1993 .

[50]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[51]  David J. Groggel,et al.  Practical Nonparametric Statistics , 2000, Technometrics.

[52]  Marco Torchiano,et al.  On the effectiveness of the UML object diagrams: A replicated experiment , 2011 .

[53]  Mikael Lindvall,et al.  Practical Implications of Traceability , 1996, Softw. Pract. Exp..

[54]  Natalia Juristo Juzgado,et al.  Analysis of the influence of communication between researchers on experiment replication , 2006, ISESE '06.

[55]  Giovanni Denaro,et al.  ACM Transactions on Software Engineering and Methodology : Volume 22, Nomor 4, 2013 , 2014 .

[56]  S. Lauesen Software Requirements Styles and Techniques , 2001 .

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

[58]  R. A. Groeneveld,et al.  Practical Nonparametric Statistics (2nd ed). , 1981 .

[59]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[60]  Jeffrey C. Carver,et al.  A Framework for Software Engineering Experimental Replications , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[61]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[62]  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.

[63]  Richard N. Taylor,et al.  An end-to-end industrial software traceability tool , 2007, ESEC-FSE '07.

[64]  Eirik Tryggeseth,et al.  Report from an Experiment: Impact of Documentation on Maintenance , 1997, Empirical Software Engineering.

[65]  Lora S. Zimmer Applied Statistics for Engineers and Scientists , 2001, Technometrics.

[66]  H. Levene Robust tests for equality of variances , 1961 .

[67]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .