skip to main content
10.1145/2934466.2934486acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

RiPLE-HC: javascript systems meets spl composition

Published: 16 September 2016 Publication History

Abstract

Context. Software Product Lines (SPL) engineering is increasingly being applied to handle variability in industrial software systems. Problem. The research community has pointed out a series of benefits which modularity brings to software composition, a key aspect in SPL engineering. However, in practice, the reuse in Javascript-based systems relies on the use of package managers (e.g., npm, jam, bower, requireJS), but these approaches do not allow the management of project features. Method. This paper presents the RiPLE-HC, a strategy aimed at blending compositional and annotative approaches to implement variability in Javascript-based systems. Results. We applied the approach in an industrial environment and conducted an academic case study with six open-source systems to evaluate its robustness and scalability. Additionally, we carried a controlled experiment to analyze the impact of the RiPLE-HC code organization on the feature location maintenance tasks. Conclusion. The empirical evaluations yielded evidence of reduced effort in feature location, and positive benefits when introducing systematic reuse aspects in Javascript-based systems.

References

[1]
S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer Berlin Heidelberg, 2013.
[2]
S. Apel, C. Kästner, and C. Lengauer. Language-independent and automated software composition: The featurehouse experience. IEEE Transactions on Software Engineering, 39(1):63--79, 2013.
[3]
S. Apel, T. Leich, M. Rosenmüller, and G. Saake. Featurec++: On the symbiosis of feature-oriented and aspect-oriented programming. In Proceedings of the 4th Generative Programming and Component Engineering, pages 125--140, 2005.
[4]
D. S. Batory. Feature-oriented programming and the ahead tool suite. In Proceedings of the 26th International Conference on Software Engineering, ICSE '04, pages 702--703, 2004.
[5]
D. S. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30(6):355--371, 2004.
[6]
R. Capilla and J. Duenas. Light-weight product-lines for evolution and maintenance of web sites. In Proc. of the 7th European Conference on Software Maintenance and Reengineering, CSMR, pages 53--62, 2003.
[7]
L. T. S. Committee. IEEE standard for learning object metadata. Technical report, IEEE, 2002.
[8]
T. V. Cutsem and M. S. Miller. Robust trait composition for javascript. Science of Computer Programming, 2012. In Press, Corrected Proof.
[9]
G. C. S. Ferreira, F. N. Gaia, E. Figueiredo, and M. A. Maia. On the use of feature-oriented programming for evolving software product lines --- a comparative study. Science of Computer Programming, 93, Part A(0):65 -- 85, 2014. Special Issue with Selected Papers from the Brazilian Symposium on Programming Languages (SBLP 2011).
[10]
E. Figueiredo, N. Cacho, C. Sant'Anna, M. Monteiro, U. Kulesza, A. Garcia, S. Soares, F. Ferrari, S. Khan, F. Castor Filho, and F. Dantas. Evolving software product lines with aspects: An empirical study on design stability. In 30th Int'l. Conf. on Software Engineering (ICSE), pages 261--270, 2008.
[11]
M. Galster, D. Weyns, D. Tofan, B. Michalik, and P. Avgeriou. Variability in software systems: A systematic literature review. IEEE Transactions on Software Engineering, 40(3):282--306, 2014.
[12]
C. Kästner and S. Apel. Integrating compositional and annotative approaches for product line engineering. In Proceedings of the Modularization, Composition, and Generative Techniques for Product Line Engineering, pages 1 -- 6, 2008.
[13]
J. Liu, D. Batory, and C. Lengauer. Feature oriented refactoring of legacy applications. In Proceedings of the 28th International Conference on Software engineering, pages 112--121. ACM, 2006.
[14]
I. C. Machado, A. R. Santos, Y. C. Cavalcanti, E. Trzan, M. de Souza, and E. S. Almeida. Low-level variability support for web-based software product lines. In Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems, pages 15:1--15:8. ACM, 2014.
[15]
F. Medeiros, C. Kästner, M. Ribeiro, S. Nadi, and R. Gheyi. The love/hate relationship with the C preprocessor: An interview study. In 29th European Conference on Object-Oriented Programming, ECOOP 2015, July 5-10, 2015, Prague, Czech Republic, pages 495--518, 2015.
[16]
U. Pettersson and S. Jarzabek. Industrial experience with building a web portal product line using a lightweight, reactive approach. SIGSOFT Software Engineering Notes, 30(5):326--335, sep 2005.
[17]
C. Prehofer. Feature-oriented programming: A fresh look at objects. In European Conference on Object-Oriented Programming, ECOOP, pages 419--443. Springer Berlin Heidelberg, 1997.
[18]
R. Queiroz, L. Passos, M. T. Valente, C. Hunsen, S. Apel, and K. Czarnecki. The shape of feature code: An analysis of twenty C-preprocessor-based systems. Journal on Software and Systems Modeling, page 1--29, To appear 2015.
[19]
A. R. Santos and E. S. Almeida. Do #ifdef-based variation points realize feature model constraints? SIGSOFT Softw. Eng. Notes, 40(6):1--5, 2015.
[20]
J. Siegmund, C. Kästner, J. Liebig, S. Apel, and S. Hanenberg. Measuring and modeling programming experience. Empirical Software Engineering, 19(5):1299--1334, 2014.
[21]
L. Silva, M. Ramos, M. T. Valente, A. Bergel, and N. Anquetil. Does javascript software embrace classes? In 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, pages 73--82, 2015.
[22]
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--197, 1992.
[23]
T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich. FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming, 79:70--85, 2014.
[24]
S. Trujillo, D. Batory, and O. Diaz. Feature oriented model driven development: A case study for portlets. In Proc. of the 29th International Conference on Software Engineering, pages 44--53. IEEE Computer Society, 2007.
[25]
C. Wohlin, P. Runeson, M. Höst, M. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in Software Engineering. Springer, 2012.

Cited By

View all
  • (2025)FM-PRO: A Feature Modeling ProcessIEEE Transactions on Software Engineering10.1109/TSE.2024.351363551:1(262-282)Online publication date: Jan-2025
  • (2024)Visualizing Variability Implemented with Object-Orientation and Code Clones: A Tale of Two CitiesProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3673037(107-112)Online publication date: 2-Sep-2024
  • (2022)Open-source software product line extraction processes: the ArgoUML-SPL and Phaser casesEmpirical Software Engineering10.1007/s10664-021-10104-327:4Online publication date: 8-Apr-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '16: Proceedings of the 20th International Systems and Software Product Line Conference
September 2016
367 pages
ISBN:9781450340502
DOI:10.1145/2934466
  • General Chair:
  • Hong Mei
© 2016 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

  • Huawei Technologies Co. Ltd.: Huawei Technologies Co. Ltd.
  • Key Laboratory of High Confidence Software Technologies: Key Laboratory of High Confidence Software Technologies, Ministry of Education
  • DC Holdings: Digital China Holdings Limited

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. eclipse plugin
  2. feature composition
  3. featureIDE
  4. software product line engineering
  5. web systems domain

Qualifiers

  • Research-article

Funding Sources

Conference

SPLC '16
Sponsor:
  • Huawei Technologies Co. Ltd.
  • Key Laboratory of High Confidence Software Technologies
  • DC Holdings

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)2
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)FM-PRO: A Feature Modeling ProcessIEEE Transactions on Software Engineering10.1109/TSE.2024.351363551:1(262-282)Online publication date: Jan-2025
  • (2024)Visualizing Variability Implemented with Object-Orientation and Code Clones: A Tale of Two CitiesProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3673037(107-112)Online publication date: 2-Sep-2024
  • (2022)Open-source software product line extraction processes: the ArgoUML-SPL and Phaser casesEmpirical Software Engineering10.1007/s10664-021-10104-327:4Online publication date: 8-Apr-2022
  • (2022)Controlled Experimentation of Software Product LinesUML-Based Software Product Line Engineering with SMarty10.1007/978-3-031-18556-4_19(417-443)Online publication date: 28-Sep-2022
  • (2021)Systematic Mapping on Software Reuse Teaching2021 12th International Conference on Information and Communication Systems (ICICS)10.1109/ICICS52457.2021.9464556(257-264)Online publication date: 24-May-2021
  • (2020)Empirical software product line engineeringInformation and Software Technology10.1016/j.infsof.2020.106389128:COnline publication date: 1-Dec-2020
  • (2019)Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented softwareEmpirical Software Engineering10.1007/s10664-018-9658-x24:3(1226-1258)Online publication date: 1-Jun-2019
  • (2018)Managing Product Lines Variability in Rich Internet Applications2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC)10.1109/EDOC.2018.00034(208-217)Online publication date: Oct-2018
  • (2017)Aspects influencing feature-oriented software comprehensionProceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3132498.3133838(1-10)Online publication date: 18-Sep-2017
  • (2016)RiPLE-HCProceedings of the 20th International Systems and Software Product Line Conference10.1145/2934466.2962728(320-323)Online publication date: 16-Sep-2016

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