skip to main content
10.1145/2451436.2451444acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Enhancing design models with composition properties: a software maintenance study

Published: 24 March 2013 Publication History

Abstract

A considerable part of software design is dedicated for the composition of two or more modules. The implication is that changes made later in the implementation often require some reasoning about module composition properties. However, these properties are often not explicitly specified in design artefacts. Moreover, they cannot be easily inferred from the source code either. As a result, implicit composition properties may represent a major source of software maintenance complexity. This fact is particularly true with the advent of post object-oriented techniques, which are increasingly providing advanced mechanisms to enable flexible module composition. However, there is little empirical knowledge on how design models with explicitly-specified composition properties can improve software maintenance tasks. This paper reports an experiment that analyses the impact of design models enriched with composition properties on system maintenance. Explicit composition modelling was achieved in the experiment through a conservative approach, i.e., a specific set of additional UML stereotypes dedicated to model composition properties. The experiment involved 28 participants, who were asked to realize four maintenance tasks using UML design models with different levels of module composition details. Our findings suggested that explicit composition modelling contributed to better results in the realization of program change tasks, regardless of the developers' expertise. Users of composition-enhanced models consistently yielded better results when compared to users of plain UML models. The use of explicit composition specification also led to an average increase of 44.7% in the quality of changes produced by the participants

References

[1]
Kiczales, G. et al. 1997. Aspect-oriented programming. In Proceedings of the ECOOP, 220--242.
[2]
Aracic, I. et al. 2006. Overview of CaesarJ. Transactions on AOSD I, LNCS, 3880, 135--173.
[3]
Rajan, H. and Sullivan, K. 2005. Classpects: unifying aspect- and object-oriented language design. In Proceedings of the ICSE, 59- 68.
[4]
Bergmans, M. et al. 1992. Composition filters: extended expressiveness for OOPLs. Position paper for the OOPSLA: The Next Generation, Vancouver.
[5]
Kuzniarz, L. et al. 2004. An empirical study on using stereotypes to improve understanding of UML models. In Proceedings. of the IWPC, IEEE Computer Society, 14--23.
[6]
Dantas, F. and Garcia, A. 2010. Software Reuse versus Stability: Evaluating Advanced Programming Techniques. In Proceedings. of the SBES IEEE Computer Society, Washington, DC, USA, 40--49.
[7]
Figueiredo, E. et al. 2008. Evolving software product lines with aspects: an empirical study on design stability. In Proceedings of the ICSE, ACM, New York, NY, USA, 261--270.
[8]
Dzidek, W. et al. 2008. A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng., vol. 3, 407--432.
[9]
Bente Anda, Kai Hansen, Ingolf Gullesen, and Hanne Kristin Thorsen. 2006. Experiences from introducing UML-based development in a large safety-critical project. Empirical Softw. Engg. 11, 4 (December 2006), 555--581.
[10]
Arisholm, E. et al. 2006. The impact of UML documentation on software maintenance: an experimental evaluation. IEEE Trans. Software Eng., vol. 32, 365--381.
[11]
Kuzniarz, L., Staron, M. and Wohlin, C. 2004. An empirical study on using stereotypes to improve understanding of UML models. In Proceedings. of the IWPC, IEEE Computer Society, 14--23.
[12]
Tryggeseth. E. 1997. Report from an experiment: impact of documentation on maintenance. Empirical Software Engineering: An International Journal, vol. 2 (2), 201--207.
[13]
Briand, L. C. 2003. Software documentation: how much is enough? In Proceedings of the CSMR, 13--15.
[14]
Briand, L. C. et al. 2005. An experimental investigation of formality in UML-based development. IEEE Transactions on Software Engineering, vol. 31 (10), 833--849.
[15]
Agarwal, R. and Sinha, A. 2003. Object-oriented modeling with UML: a study of developers' perceptions. Commun ACM 46(9): 248--256, September.
[16]
Clarke, S. Composition of Object-Oriented Software Design Models, Ph.D. Thesis, Dublin City University, January 2001.
[17]
Farias, K., Garcia, A. and Lucena, C. Evaluating the Impact of Aspects on Inconsistency Detection Effort: A Controlled Experiment. In Proc. of the 15th MODELS 2012, Foundations Track, Innsbruck, Austria, September 30 - October 5, 2012.
[18]
Dantas, F. et al. 2012. On the role of composition code properties on evolving programs. In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement (ESEM '12). ACM, New York, NY, USA, 291--300
[19]
Chavez, C. et al. 2000. Taming heterogeneous aspects with crosscutting interfaces. In Proceedings. of the SBES, Uberlândia, Brazil, 216--231.
[20]
Chavez, C and Lucena, C. 2002. A metamodel for aspect-oriented modeling. In Proceedings of the AOM at AOSD, Enschede, the Netherlands, 10--18.
[21]
Buschmann, F. et al. 1996. Pattern-Oriented Software Architecture: a System of Patterns. John Wiley & Sons, Inc.
[22]
Di Penta, M. et al. 2007. Designing your next empirical study on program comprehension. In Proceedings. of the ICPC IEEE Computer Society, Washington, DC, USA, 281--285.
[23]
Kastner, C. et al. 2007. A case study implementing features using aspectj. In Proceedings of the SPLC, IEEE, USA, 223--232.
[24]
Alves, V. et al. 2006. Refactoring product lines. In Proceedings of the 5th international conference on Generative programming and component engineering (GPCE '06). ACM, New York, NY, USA, 201--210.
[25]
Burrows, R. et al. 2011. Reasoning about faults in aspect-oriented programs: a metrics-based evaluation. In Proceedings of the ICPC, 131--140.
[26]
Endrikat, S. and Hanenberg. S. 2011. Is aspect-oriented programming a rewarding investment into future code changes? a socio-technical study on development and maintenance time. In Proceedings of the ICPC, Kingston, Canada, 51--60.
[27]
Greenwood, P. et al. 2007. On the impact of aspectual decompositions on design stability: an empirical study. In Proceedings of the ECOOP, v. 4609, LNCS, 176--200, Springer.
[28]
Enhancing Design Models with Composition Properties: A Software Maintenance Study, Website Study. http://www.inf.puc-rio.br/~fneto/aosd13/.
[29]
Wohlin, C. et al. 2000. Experimentation in software engineering: an introduction. Kluwer Academic Publishers: Norwell, USA.
[30]
Gurgel, A. et al. 2012. Integrating Software Product Lines: A Study of Reuse versus Stability. In Proceedings of COMPSAC 2012, 89--98.
[31]
Camilleri, A., Coulson, G. and Blair, L. 2009. CIF: A Framework for Managing Integrity in Aspect-Oriented Composition. In Proc. of the TOOLS (47), 18--36
[32]
Prehofer, C. 1997. Feature-Oriented Programming: A Fresh Look at Objects. In Proc. of ECOOP, 419--443
[33]
Katz, E. and Katz, S. 2009. Modular verification of strongly invasive aspects: summary. In Proc. of the FOAL, 7--12
[34]
Ferrari, F. et al. 2010. An Exploratory Study of Fault-Proneness in Evolving Aspect-Oriented Programs. In Proc. of ICSE 2010, 65 -- 74.
[35]
Schaefer, I. et al. 2010. Delta-Oriented Programming of Software Product Lines. In Proc. of SPLC, 77--91
[36]
Macia, I. et al. 2012. On the Relevance of Code Anomalies for Identifying Architecture Degradation Symptoms. In Proc. of CSMR, 277--286
[37]
Goldman, M. et al. 2010. MAVEN: modular aspect verification and interference analysis. Formal Methods in System Design 37(1): 61--92.
[38]
Burrows, R. et al. 2010. The Impact of Coupling on the Fault-Proneness of Aspect-Oriented Programs: An Empirical Study. In Proc. of ISSRE, 329--338.
[39]
Tourw, T. et al. 2003. On the existence of the AOSD-evolution paradox. In Proceedings of SPLAT: Software engineering Properties of Languages for Aspect Technologies, 1--5.
[40]
JBoss. Available at: http://www.jboss.org/
[41]
Spring. Available at: http://www.springsource.org/
[42]
M. Höst, B. Regnell, and C. Wohlin. 2000. Using Students as Subjects--A Comparative Study of Students and Professionals in Lead-Time Impact Assessment. Empirical Software Engineering, vol. 5, 201--214.
[43]
E. Arisholm and D. I. K. Sjoberg. 2004. Evaluating the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software. IEEE Transactions on Software Engineering, vol. 30, 521--534.
[44]
R. W. Holt, D. A. Boehm-Davis, and A. C. Shultz. 1987. Mental Representations of Programs for Student and Professional Programmers. In Proceedings of Empirical Studies of Programmers: Second Workshop33--46.
[45]
V. R. Basili, F. Shull, and F. Lanubile, "Building Knowledge through Families of Experiments. 1999. IEEE Transactions on Software Engineering, vol. 25, 456--473.
[46]
Nelio Cacho et al. 2006. Composing design patterns: a scalability study of aspect-oriented programming. In Proceedings of the 5th international conference on AOSD. ACM, New York, NY, USA, 109--121.
[47]
Alessandro Garcia et al. 2005. Modularizing design patterns with aspects: a quantitative study. In Proceedings of the 4th international conference on AOSD. ACM, New York, NY, USA, 3--14.
[48]
C. Lobato et al. Evolving and Composing Frameworks with Aspects: The MobiGrid Case. In Proc. of the 7th ICCBSS, Madrid, Spain, 25--29.

Cited By

View all
  • (2017)A software maintenance strategy with a large number of users: A case study2017 12th Iberian Conference on Information Systems and Technologies (CISTI)10.23919/CISTI.2017.7975860(1-8)Online publication date: Jun-2017

Index Terms

  1. Enhancing design models with composition properties: a software maintenance study

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    AOSD '13: Proceedings of the 12th annual international conference on Aspect-oriented software development
    March 2013
    232 pages
    ISBN:9781450317665
    DOI:10.1145/2451436
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    • AOSA: Aspect-Oriented Software Association

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 March 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. composition mechanisms
    2. design
    3. software maintenance

    Qualifiers

    • Research-article

    Conference

    AOSD '13
    Sponsor:
    • AOSA
    AOSD '13: Aspect-Oriented Software Development
    March 24 - 29, 2013
    Fukuoka, Japan

    Acceptance Rates

    Overall Acceptance Rate 41 of 139 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)A software maintenance strategy with a large number of users: A case study2017 12th Iberian Conference on Information Systems and Technologies (CISTI)10.23919/CISTI.2017.7975860(1-8)Online publication date: Jun-2017

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media