Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1869542.1869545acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
short-paper

Emergent feature modularization

Published: 17 October 2010 Publication History

Abstract

Virtual Separation of Concerns reduces the drawbacks of implementing product line variability with preprocessors. Developers can focus on certain features and hide others of no interest. However, these features eventually share elements between them, which might break feature modularization, since modifications in a feature result in problems for another. We present the concept of emergent feature modularization, which aims to establish contracts between features, to prevent developers from breaking other features when performing a maintenance task. These interfaces are product-line-aware, in the sense that it only considers valid feature combinations. We also present a prototype tool that implements the concept.

References

[1]
}}Eclipse Java Development Tools, January 2008. http://www.eclipse.org/jdt/.
[2]
}}Soot: a Java Optimization Framework, April 2010. http://www.sable.mcgill.ca/soot/.
[3]
}}V. Alves, P. M. Jr., L. Cole, P. Borba, and G. Ramalho. Extracting and Evolving Mobile Games Product Lines. In Proceedings of the 9th International Software Product Line Conference (SPLC'05), volume 3714 of LNCS, pages 70--81. Springer-Verlag, September 2005.
[4]
}}M. Anastasopoulos and C. Gacek. Implementing Product Line Variabilities. In Proceedings of the 2001 Symposium on Software Reusability (SSR'01), pages 109--117, New York, NY, USA, 2001. ACM Press.
[5]
}}E. L. A. Baniassad and G. C. Murphy. Conceptual module querying for software reengineering. In Proceedings of the 20th International Conference on Software Engineering (ICSE'98), pages 64--73, Washington, DC, USA, 1998. IEEE Computer Society.
[6]
}}P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.
[7]
}}E. F. et. Al. Evolving software product lines with aspects: an empirical study on design stability. In Proceedings of the 30th International Conference on Software Engineering (ICSE'08), pages 261--270, New York, NY, USA, 2008. ACM.
[8]
}}W. G. Griswold, K. Sullivan, Y. Song, M. Shonle, N. Tewari, Y. Cai, and H. Rajan. Modular Software Design with Crosscutting Interfaces. IEEE Software, 23(1):51--60, 2006.
[9]
}}M. Horie and S. Chiba. Aspectscope: An outline viewer for AspectJ programs. Journal of Object Technology, 6(9):341--361, 2007.
[10]
}}C. Kastner and S. Apel. Virtual separation of concerns - a second chance for preprocessors. Journal of Object Technology, 8(6):59--78, 2009.
[11]
}}C. Kastner and S. Apel. Type-checking software product lines - a formal approach. In Proceedings of the 23rd International Conference on Automated Software Engineering (ASE), pages 258--267. IEEE Computer Society, September 2008.
[12]
}}C. Kastner, S. Apel, and M. Kuhlemann. Granularity in Software Product Lines. In Proceedings of the 30th International Conference on Software Engineering (ICSE'08), pages 311-- 320, New York, NY, USA, 2008. ACM.
[13]
}}M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In Proceedings of the 14th International Symposium on Foundations of Software Engineering (FSE'06), pages 1--11, New York, NY, USA, 2006. ACM.
[14]
}}G. Kiczales and M. Mezini. Aspect-Oriented Programming and Modular Reasoning. In Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), pages 49--58. ACM Press, 2005.
[15]
}}G. C. Murphy, A. Lai, R. J. Walker, and M. P. Robillard. Separating features in source code: an exploratory study. In Proceedings of the 23rd International Conference on Software Engineering (ICSE'01), pages 275--284, Washington, DC, USA, 2001. IEEE Computer Society.
[16]
}}D. L. Parnas. On the criteria to be used in decomposing systems into modules. CACM, 15(12):1053--1058, 1972.
[17]
}}K. Pohl, G. Bockle, and F. J. van der Linden. Software Product Line Engineering. Springer, 2005.
[18]
}}H. Spencer and G. Collyer. #ifdef considered harmful, or portability experience with C news. In Proceedings of the Usenix Summer 1992 Technical Conference, pages 185--198, Berkeley, CA, USA, June 1992. Usenix Association.
[19]
}}M. Storzer and C. Koppen. Pcdiff: Attacking the fragile pointcut problem, abstract. In European Interactive Workshop on Aspects in Software, Berlin, Germany, September 2004.
[20]
}}S. Thaker, D. S. Batory, D. Kitchin, and W. R. Cook. Safe composition of product lines. In Proceedings of the 6th International Conference Generative Programming and Component Engineering, (GPCE'07), pages 95--104. ACM, 2007.
[21]
}}S. Trujillo, D. Batory, and O. Diaz. Feature refactoring a multi-representation program into a product line. In Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE'06), pages 191--200, New York, NY, USA, 2006. ACM.
[22]
}}W. Wulf and M. Shaw. Global variable considered harmful. SIGPLAN Notices, 8(2):28--34, 1973.

Cited By

View all

Index Terms

  1. Emergent feature modularization

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
    October 2010
    352 pages
    ISBN:9781450302401
    DOI:10.1145/1869542
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 October 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. modularity
    2. preprocessors
    3. product lines

    Qualifiers

    • Short-paper

    Conference

    SPLASH '10
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 19 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)An Experiment on How Feature Dependent Variables Affect Configurable System ComprehensibilityProceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3622748.3622755(61-70)Online publication date: 25-Sep-2023
    • (2018)Software Evolution VisualizationComputer Systems and Software Engineering10.4018/978-1-5225-3923-0.ch087(2053-2067)Online publication date: 2018
    • (2018)Software evolution visualizationInformation and Software Technology10.1016/j.infsof.2013.05.00855:11(1860-1883)Online publication date: 30-Dec-2018
    • (2018)Do background colors improve program comprehension in the #ifdef hell?Empirical Software Engineering10.1007/s10664-012-9208-x18:4(699-745)Online publication date: 26-Dec-2018
    • (2016)Product-line maintenance with emergent contract interfacesProceedings of the 20th International Systems and Software Product Line Conference10.1145/2934466.2934471(134-143)Online publication date: 16-Sep-2016
    • (2014)Software Evolution VisualizationHandbook of Research on Emerging Advancements and Technologies in Software Engineering10.4018/978-1-4666-6026-7.ch026(597-610)Online publication date: 2014
    • (2014)Feature-context interfacesProceedings of the 18th International Software Product Line Conference - Volume 110.1145/2648511.2648522(102-111)Online publication date: 15-Sep-2014
    • (2014)A Classification and Survey of Analysis Strategies for Software Product LinesACM Computing Surveys10.1145/258095047:1(1-45)Online publication date: 1-Jun-2014
    • (2014)Feature maintenance with emergent interfacesProceedings of the 36th International Conference on Software Engineering10.1145/2568225.2568289(989-1000)Online publication date: 31-May-2014
    • (2014)Emergent Feature ModularizationEmergent Interfaces for Feature Modularization10.1007/978-3-319-11493-4_4(35-55)Online publication date: 14-Nov-2014
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media