TY - GEN
T1 - Challenges of implementing software variability in eclipse omr
T2 - 43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021
AU - Nuryyev, Batyr
AU - Nadi, Sarah
AU - Bhuiyan, Nazim Uddin
AU - Banderali, Leonardo
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/5
Y1 - 2021/5
N2 - Software variability is the ability of a software system to be customized or configured for a particular context. In this paper, we discuss our experience investigating software variability implementation challenges in practice. Eclipse OMR, developed by IBM, is a set of highly configurable C++ components for building language runtimes; it supports multiple programming languages and target architectures. We conduct an interview study with 6 Eclipse OMR developers and identify 8 challenges incurred by the existing variability implementation, and 3 constraints that need to be taken into account for any reengineering effort. We discuss these challenges and investigate the literature and existing open-source systems for potential solutions. We contribute a solution for one of the challenges, namely adding variability to enumerations and arrays. We also share our experiences and lessons learned working with a large-scale highly configurable industry project. For example, we found that the 'latest and greatest' research solutions may not always be favoured by developers due to small practical considerations such as build dependencies, or even C++ version constraints.
AB - Software variability is the ability of a software system to be customized or configured for a particular context. In this paper, we discuss our experience investigating software variability implementation challenges in practice. Eclipse OMR, developed by IBM, is a set of highly configurable C++ components for building language runtimes; it supports multiple programming languages and target architectures. We conduct an interview study with 6 Eclipse OMR developers and identify 8 challenges incurred by the existing variability implementation, and 3 constraints that need to be taken into account for any reengineering effort. We discuss these challenges and investigate the literature and existing open-source systems for potential solutions. We contribute a solution for one of the challenges, namely adding variability to enumerations and arrays. We also share our experiences and lessons learned working with a large-scale highly configurable industry project. For example, we found that the 'latest and greatest' research solutions may not always be favoured by developers due to small practical considerations such as build dependencies, or even C++ version constraints.
KW - Eclipse omr
KW - Language runtimes
KW - Software variability
KW - Variability implementation
UR - http://www.scopus.com/inward/record.url?scp=85115694731&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85115694731&partnerID=8YFLogxK
U2 - 10.1109/ICSE-SEIP52600.2021.00012
DO - 10.1109/ICSE-SEIP52600.2021.00012
M3 - Conference contribution
AN - SCOPUS:85115694731
T3 - Proceedings - International Conference on Software Engineering
SP - 31
EP - 40
BT - Proceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
PB - IEEE Computer Society
Y2 - 25 May 2021 through 28 May 2021
ER -