skip to main content
10.1145/3001867.3001869acmconferencesArticle/Chapter ViewAbstractPublication PagesfosdConference Proceedingsconference-collections
research-article

Name resolution strategies in variability realization languages for software product lines

Published: 30 October 2016 Publication History

Abstract

Software Product Lines (SPLs) exploit reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Different approaches exist to enable SPL development and product creation by using modular languages, such as Feature-Oriented Programming (FOP) (compositional) or Delta-Oriented Programming (DOP) (transformational). These languages incorporate, e.g., object-oriented languages, adding a layer of variability. Creating a variabilityaware Abstract Syntax Graph (ASG), i.e., an ASG that contains the complete variability of the SPL, facilitates family-based analyses and is essential for supporting developers during SPL development. To this end, name resolution has to be performed. However, name resolution for these languages is a challenge as multiple declarations for the same element may occur in different modules. In this paper, we propose four name resolution strategies for compositional and transformational SPL realization languages and discuss their benefits and drawbacks, categorized by relevant application scenarios of the ASG.

References

[1]
F. Angerer, A. Grimmer, H. Prähofer, and P. Grünbacher. Configuration-Aware Change Impact Analysis (T). In Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on, pages 385–395, Nov 2015.
[2]
F. Angerer, H. Prähofer, D. Lettner, A. Grimmer, and P. Grünbacher. Identifying Inactive Code in Product Lines with Configuration-aware System Dependence Graphs. In Proceedings of the 18th International Software Product Line Conference - Volume 1, SPLC ’14, pages 52–61, New York, NY, USA, 2014. ACM.
[3]
S. Apel, C. Kästner, and C. Lengauer. FeatureHouse: Language-independent, Automated Software Composition. In Proceedings of the 31st International Conference on Software Engineering, ICSE ’09, pages 221–231, Washington, DC, USA, 2009. IEEE Computer Society.
[4]
S. Apel, S. Kolesnikov, N. Siegmund, C. Kästner, and B. Garvin. Exploring Feature Interactions in the Wild: The New Feature-interaction Challenge. In Proceedings of the 5th International Workshop on Feature-Oriented Software Development, FOSD ’13, pages 1–8, New York, NY, USA, 2013. ACM.
[5]
S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type Safety for Feature-Oriented Product Lines. Automated Software Engineering, 17(3):251–300, 2010.
[6]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. Software Engineering, IEEE Transactions on, 30(6):355–371, 2004.
[7]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.
[8]
K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000.
[9]
F. Damiani and I. Schaefer. Family-Based Analysis of Type Safety for Delta-Oriented Software Product Lines. In T. Margaria and B. Steffen, editors, Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, volume 7609 of Lecture Notes in Computer Science, pages 193–207. Springer Berlin Heidelberg, 2012.
[10]
K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, DTIC Document, 1990.
[11]
C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. SIGPLAN Not., 46(10):805–824, Oct. 2011.
[12]
S. Kolesnikov. An Extensible Compiler for Feature-Oriented Programming in Java. Master’s thesis, Passau University, Department of Informatics and Mathematics, 2011.
[13]
J. Koscielny, S. Holthusen, I. Schaefer, S. Schulze, L. Bettini, and F. Damiani. DeltaJ 1.5: Delta-Oriented Programming for Java 1.5. In Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, PPPJ ’14, pages 63–74, New York, NY, USA, 2014. ACM.
[14]
M. Kuhlemann, D. Batory, and C. Kästner. Safe Composition of Non-monotonic Features. SIGPLAN Not., 45(2):177–186, Oct. 2009.
[15]
J. Liebig, A. Janker, F. Garbe, S. Apel, and C. Lengauer. Morpheus: Variability-aware Refactoring in the Wild. In Proceedings of the 37th International Conference on Software Engineering - Volume 1, ICSE ’15, pages 380–391, Piscataway, NJ, USA, 2015. IEEE Press.
[16]
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In M. Ak¸sit and S. Matsuoka, editors, ECOOP’97 — Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 419–443. Springer Berlin Heidelberg, 1997.
[17]
I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-Oriented Programming of Software Product Lines. In Software Product Lines: Going Beyond, pages 77– 91. Springer, 2010.
[18]
I. Schaefer, R. Rabiser, D. Clarke, L. Bettini, D. Benavides, G. Botterweck, A. Pathak, S. Trujillo, and K. Villela. Software Diversity: State of the Art and Perspectives. International Journal on Software Tools for Technology Transfer, 14(5):477–495, 2012.
[19]
S. Schulze, T. Thüm, M. Kuhlemann, and G. Saake. Variant-Preserving Refactoring in Feature-Oriented Software Product Lines. In Proceedings of the 6th Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, 2012.
[20]
S. Thaker, D. Batory, D. Kitchin, and W. Cook. Safe Composition of Product Lines. In Proceedings of the 6th International Conference on Generative Programming and Component Engineering, GPCE ’07, pages 95–104, New York, NY, USA, 2007. ACM.
[21]
T. Thüm, S. Apel, C. Kästner, I. Schaefer, and G. Saake. A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Comput. Surv., 47(1):6:1–6:45, June 2014.
[22]
1 Introduction 2 Background 3 Name Resolution Strategies 4 Discussion 4.1 Mark Occurrences 4.2 Rename Refactoring 4.3 Family-Based Analyses 4.4 Performance 5 Related Work 6 Conclusion

Index Terms

  1. Name resolution strategies in variability realization languages for software product lines

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FOSD 2016: Proceedings of the 7th International Workshop on Feature-Oriented Software Development
    October 2016
    84 pages
    ISBN:9781450346474
    DOI:10.1145/3001867
    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

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 October 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Abstract Syntax Graph
    2. Delta-Oriented Programming
    3. Feature-Oriented Programming
    4. Software Product Lines
    5. name resolution

    Qualifiers

    • Research-article

    Conference

    SPLASH '16
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 28 submissions, 61%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 60
      Total Downloads
    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    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