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

Refactoring delta-oriented software product lines

Published: 24 March 2013 Publication History

Abstract

Delta-oriented programming (DOP) is an implementation approach to develop software product lines (SPL). Delta-oriented SPLs evolve over time due to new or changed requirements and need to be maintained to retain their value. Refactorings have been proposed as behavior-preserving program transformations that improve the design and structure of (object-oriented) software systems.
However, there is a lack of refactoring support for software product lines since refactoring of SPLs is more complex than of single systems. For refactoring SPLs, we have to preserve the behavior of probably thousands of programs instead of only one.
In this paper, we address the refactoring of software product lines by presenting a catalogue of refactorings for delta-oriented SPLs. Additionally, we propose code smells to guide developers to potential refactoring opportunities. We show how code smells can aid the identification of SPL refactorings and how these refactorings improve the evolvability and maintainability of delta-oriented SPLs.

References

[1]
V. Alves, R. Gheyi, T. Massoni, U. Kulesza, P. Borba, and C. Lucena. Refactoring Product Lines. In Proc. Int'l Conf. Generative Programming and Component Engineering, pages 201--210. ACM, 2006.
[2]
D. Batory. Feature Models, Grammars, and Propositional Formulas. In H. Obbink and K. Pohl, editors, Software Product Lines, volume 3714 of Lecture Notes in Computer Science, pages 7--20. Springer, 2005.
[3]
P. Borba, L. Teixeira, and R. Gheyi. A Theory of Software Product Line Refinement. In Proc. Int'l Colloq. on Theoretical Aspects of Computing, pages 15--43. Springer, 2010.
[4]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley Professional, 3rd edition, Aug. 2001.
[5]
K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, June 2000.
[6]
K. Czarnecki, S. Helsen, and U. W. Eisenecker. Formalizing Cardinality-Based Feature Models and their Specialization. Soft. Proc.: Improvement and Practice, 10(1):7--29, 2005.
[7]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA, 1999.
[8]
K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990.
[9]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In M. Aksit and S. Matsuoka, editors, Proc. Europ. Conf. Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer, 1997.
[10]
C. Krueger. Eliminating the Adoption Barrier. IEEE Software, 19(4):29--31, 2002.
[11]
M. Kuhlemann, D. Batory, and S. Apel. Refactoring feature modules. In Proc. Int'l Conf. Software Reuse, pages 106--115. Springer, 2009.
[12]
M. Lehman. Program Evolution. Information Processing & Management, 20(1--2):19--36, 1984. Special Issue Empirical Foundations of Information and Software Science.
[13]
M. M. Lehman and J. F. Ramil. Evolution in Software and Related Areas. In Proc. Int'l Workshop on Principles of Software Evolution, pages 1--16. ACM, 2001.
[14]
J. Liu, D. Batory, and C. Lengauer. Feature Oriented Refactoring of Legacy Applications. In Proc. Int'l Conf. Software Engineering, pages 112--121. ACM, 2006.
[15]
R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 1 edition, 8 2008.
[16]
M. P. Monteiro and J. a. M. Fernandes. Towards a Catalog of Aspect-Oriented Refactorings. In Proc. Int'l Conf. Aspect-Oriented Software Development, pages 111--122. ACM, 2005.
[17]
W. F. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, Champaign, IL, USA, 1992. UMI Order No. GAX93-05645.
[18]
D. L. Parnas. Software Aging. In Proc. Int'l Conf. Software Engineering, pages 279--287. IEEE, 1994.
[19]
K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005.
[20]
O. Richers. Transformation and Evolution of DeltaJSoftware Product Lines. Master thesis (Diplomarbeit), TU Braunschweig, 2012. (https://svn.isf.cs.tu-bs.de/redmine/documents/1).
[21]
I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-oriented Programming of Software Product Lines. In Proc. Int'l Software Product Line Conference, pages 77--91. Springer, 2010.
[22]
I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In Proc. Int'l Conf. Aspect-Oriented Software Development, pages 43--56. ACM, 2011.
[23]
I. Schaefer and F. Damiani. Pure Delta-Oriented Programming. In Proc. Int'l Workshop on Feature-Oriented Software Development, pages 49--56. ACM, 2010.
[24]
S. Schulze, T. Thüm, M. Kuhlemann, and G. Saake. Variant-Preserving Refactoring in Feature-Oriented Software Product Lines. In Proc. Int'l Workshop on Variability Modeling in Software-intensive Systems, pages 73--81. ACM, 2012.
[25]
Steffen Zschaler et al. Variability management. In Aspect-Oriented, Model-Driven Software Product Lines. CUP, 2011.
[26]
The Eclipse Foundation. Xtext homepage. http://www.eclipse.org/Xtext/documentation/, 2012.
[27]
T. Thüm, D. Batory, and C. Kastner. Reasoning About Edits to Feature Models. In Proc. Int'l Conf. Software Engineering, pages 254--264. IEEE, 2009.

Cited By

View all
  • (2022)Merging cloned Alloy models with colorful refactoringsScience of Computer Programming10.1016/j.scico.2022.102829220(102829)Online publication date: Aug-2022
  • (2021)From pairwise to family-based generic analysis of delta-oriented model-based SPLsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471150(13-24)Online publication date: 6-Sep-2021
  • (2021)Guiding the evolution of product-line configurationsSoftware and Systems Modeling10.1007/s10270-021-00906-wOnline publication date: 4-Jul-2021
  • Show More Cited By

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. delta-oriented programming
  2. evolution
  3. refactoring
  4. software product lines

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)15
  • Downloads (Last 6 weeks)6
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Merging cloned Alloy models with colorful refactoringsScience of Computer Programming10.1016/j.scico.2022.102829220(102829)Online publication date: Aug-2022
  • (2021)From pairwise to family-based generic analysis of delta-oriented model-based SPLsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471150(13-24)Online publication date: 6-Sep-2021
  • (2021)Guiding the evolution of product-line configurationsSoftware and Systems Modeling10.1007/s10270-021-00906-wOnline publication date: 4-Jul-2021
  • (2020)GuyDanceProceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B10.1145/3382026.3425769(56-64)Online publication date: 19-Oct-2020
  • (2020)Delta-oriented development of model-based software product lines with DeltaEcore and SiPL: A comparisonModel Management and Analytics for Large Scale Systems10.1016/B978-0-12-816649-9.00017-X(167-201)Online publication date: 2020
  • (2020)Merging Cloned Alloy Models with Colorful RefactoringsFormal Methods: Foundations and Applications10.1007/978-3-030-63882-5_11(173-191)Online publication date: 19-Nov-2020
  • (2020)Refactoring and Active Object LanguagesLeveraging Applications of Formal Methods, Verification and Validation: Engineering Principles10.1007/978-3-030-61470-6_9(138-158)Online publication date: 27-Oct-2020
  • (2019)Investigating Variability-aware Smells in SPLsProceedings of the XXXIII Brazilian Symposium on Software Engineering10.1145/3350768.3350774(367-376)Online publication date: 23-Sep-2019
  • (2019)Formal Foundations for Analyzing and Refactoring Delta-Oriented Model-Based Software Product LinesProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336299(207-217)Online publication date: 9-Sep-2019
  • (2019)Towards Efficient Analysis of Variation in Time and SpaceProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342414(57-64)Online publication date: 9-Sep-2019
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media