Measuring the Comprehensibility of a UML-B Model and a B Model
Software maintenance, which involves making enhancements, modifications and corrections to existing software systems, consumes more than half of developer time. Specification comprehensibility plays an important role in software maintenance as it permits the understanding of the system properties more easily and quickly. The use of formal notation such as B increases a specification-s precision and consistency. However, the notation is regarded as being difficult to comprehend. Semi-formal notation such as the Unified Modelling Language (UML) is perceived as more accessible but it lacks formality. Perhaps by combining both notations could produce a specification that is not only accurate and consistent but also accessible to users. This paper presents an experiment conducted on a model that integrates the use of both UML and B notations, namely UML-B, versus a B model alone. The objective of the experiment was to evaluate the comprehensibility of a UML-B model compared to a traditional B model. The measurement used in the experiment focused on the efficiency in performing the comprehension tasks. The experiment employed a cross-over design and was conducted on forty-one subjects, including undergraduate and masters students. The results show that the notation used in the UML-B model is more comprehensible than the B model.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1062590Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1274
 B. W. Boehm, J. R. Brown, and J. R. Kaspar, "Characteristics of Software Quality", TRW Series of Software Technology, 1978.
 I. Sommerville, Software Engineering. 6th Edition, Addision-Wesley, 2001, ISBN: 020139815.
 T. M. Pigoski, Practical Software Maintenance: Best Practices for Managing your Software Investment. Wiley Computer Publishing, 1996, ISBN: 0471170011.
 D. Craigen, S. Gerhart, and T. Ralston, Applications of Formal Methods, In M. Hinchey, J. Bowen, Eds., Prentice-Hall, Englewoodcliffs, NJ, 1995, ISBN:0133669491
 M. G. Hinchey, "Confessions of a Formal Methodist", In P. Lindsay, Ed., Conferences in Research and Practice in Information Technology, Vol.15, Australian Computer Society, 2002, pp. 17-20.
 K. Finney, and A. Fedorec, "An Empirical Study of Specification Readability Teaching and Learning Formal Methods", In: N. Dean, M. Hinchey, Eds., Teaching and Learning Formal Methods, Academic Press, New York, 1996, ISBN: 0123490405.
 K. Finney, "Mathematical Notation in Formal Specification: Too difficult for the Masses?", IEEE Transactions on Software Engineering, Vol.22, No.2, pp. 158-159, 1996.
 D. Carew, C. Exton, and J. Buckley, "An Empirical Investigation of the Comprehensibility of Requirements Specifications", International Symposium on Empirical Software Engineering, 2005, pp. 256-265.
 J. P. Bowen, and M. G. Hinchey, "Ten Commandments of Formal Methods... Ten Years Later", IEEE Computer, Vol.39, No.1, 2006, pp. 40-48.
 A. van Lamsweerde, "Formal Specification: A Roadmap", In The Future of Software Engineering Track (ICSE-00), ACM Press, Los Angeles CA, 2000, pp. 147-159.
 I. Vessey, and R. Weber, "Structured Tools and Conditional Logic: An Empirical Investigation", Communications of the ACM, Vol.29, No.1, 1986, pp. 48-57.
 D. A. Scanlan, "Structured Flowcharts Outperform Pseudocode: An Experiment Comparison", IEEE Software, Vol.6, No.5, 1989, pp. 28-36.
 N. Cunniff, and R. P. Taylor, "Graphical vs Textual Representation: An Empirical Study of Novices- Program Comprehension", In Empirical Studies of Programmers: 2nd Workshop, 1987, pp. 114-131.
 M. Bauer, and P. Johnson-Laird, "How Diagrams Can Improve Reasoning", Psychological Science, Vol.4, 1993, pp. 372-378.
 K. Stenning, and J. Oberlander, "A Cognitive Theory of Graphical and Linguistic Reasoning: Logic and Implementation", Cognitive Science, Vol.19, 1995, pp. 97-140.
 M. Petre, "Why looking isn't always seeing: Readership skills and graphical programming", Communications of the ACM, Vol.38, 1995, pp.33-44.
 M. Scaife, and Y. Rogers, "External Cognition: How do Graphical Representations Work?", International Journal of Human-Computer Studies, Vol.45, 1996, pp. 185-213.
 J. R. Abrial, The B-Method - Assigning Programs to Meanings, Cambridge University Press, 1996, ISBN: 0521496195.
 Object Management Group (2006). Introduction to OMG-s Unified Modeling Language (UML).
[Online]. Available: http://www.omg.org/gettingstarted/what_is_uml.htm
 C. Snook, I. Oliver, and M. Butler, "The UML-B Profile for Formal Systems Modelling in UML", In J. Mermet, , Ed., UML-B Specification for Proven Embedded Systems Design, Springer, 2004, ch. 5, ISBN: 1402028660.
 C. Snook, and M. Butler, "UML-B: Formal Modelling and Design Aided by UML", ACM Transactions on Software Engineering and Methodology, Vol.15, No.1, 2006, pp.92-122.
 ClearSy, AtelierB User Manual V3.6, ClearSy System Engineering, 2003, Aix-en-Provence, France.
 B-Core (UK) Limited, Oxon, UK (1999). B-Toolkit, On-line manual, (Online). Available: http://www.b-core.com/ONLINEDOC/Contents.html
 J. R. Abrial, and D. Cansell (2003) Click ÔÇÿn- Prove - Interactive Proofs within Set Theory B. (Online). Available: http://www.b4free.com/ and http://www.loria.fr/cansell/cnp.html
 T. Pender, UML Bible, Wiley, 2003, ISBN: 0764526049.
 S. Senn, Cross-over Trials in Clinical Research (Statistics in Practice), John Wiley & Sons, 2002, ISBN: 0471496537.
 J. Foster, "Program Lifetime: A Vital Statistic for Maintenance", In Proceedings of the IEEE Conference on Software Maintenance, 1991, pp. 98-103.
 A. Davis, S. Overmyer, K. Jordan, J. Caruso, F. Dandashi, A. Dinh, G. Kincaid, G. Ledeboer, P. Reynolds, A. Sitaram, A. Ta, and M. Theofanos, "Identifying and Measuring Quality in a Software Requirements Specification", In Proceedings of the 1st. International Software Metrics Symposium, IEEE, 1993, pp. 141-152.
 M. Piattini, M. Genero, G. Poels, and J. Nelson, "Towards a Framework for Conceptual Modelling Quality", In M. Genero, M. Piattini, and C. Calero, Eds., Metrics for Software Conceptual Models, London : Imperial College Press, 2005, ISBN: 1860944973.
 S. L. Pfleeger, "Experimental Design and Analysis in Software Engineering: Part 1-5", ACM SIGSOFT Software Engineering Notes, Vol.20, No.1-5, 1995.
 B. A. Kitchenham, and S. L. Pfleeger, "Principles of Survey Research: Part 1-6", ACM SIGSOFT Software Engineering Notes, Vol.27, No.1-6, 2002.
 B. Efron, and R. Tibshirani, An Introduction to the Bootstrap, Chapman and Hall, New York, London, 1993.
 D. S. Moore, and G. P. McCabe, Introduction to the Practice of Statistics, 5th Edition, W. H. Freeman, New York, 2006, ISBN: 071676282.
 B. Efron, and R. Tibshirani, "The Bootstrap Method for standard errors, confidence intervals and other measures of statistical accuracy", Statistical Science, Vol.1, No. 1, 1986, pp 1-35.
 Insightful Corporation (2006). Available: http://www.insightful.com/products/splus/default.asp
 B. Jones, and M. G. Kenward, Design and Analysis of Cross-over Trials, 2nd Edition, Chapman and Hall, London, 2003, ISBN: 0412606402.
 V. R. Basili, R. W. Selby, and D. H. Huthchens, "Experimentation in Software Engineering", IEEE Transactions on Software Engineering, Vol.12, No.7, 1986, pp. 733-743.
 V. R. Basili, F. Shull, and F. Lanubile, "Building Knowledge through Families of Experiments", IEEE Transactions on Software Engineering, Vol.25, No.4, 1999, pp. 456-473.
 R. Jeffery, and L. Scott, "Has Twenty-five Years of Empirical Software Engineering Made a Difference?", In Proceedings of the 9th Asia-Pacific Software Engineering Conference, 2002, pp. 539-546.
 W. F. Tichy, "Should Computer Scientists Experiment More?", IEEE Computer, Vol.31, No.5, 1998, pp. 32-40.