Facilitating Reuse of Functions in Embedded Software

Developing software-intensive embedded systems is a significant challenge as embedded systems have become more complex and dynamic for integrating various constraints (e.g., real-time performance, design, and functional safety). In general, software practitioners reuse code to reduce development tim...

Full description

Bibliographic Details
Main Authors: Md Al Maruf, Akramul Azim, Omar Alam
Format: Article
Language:English
Published: IEEE 2022-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9852432/
_version_ 1811282816593297408
author Md Al Maruf
Akramul Azim
Omar Alam
author_facet Md Al Maruf
Akramul Azim
Omar Alam
author_sort Md Al Maruf
collection DOAJ
description Developing software-intensive embedded systems is a significant challenge as embedded systems have become more complex and dynamic for integrating various constraints (e.g., real-time performance, design, and functional safety). In general, software practitioners reuse code to reduce development time for implementing required functionalities. However, embedded software development still lacks code reuse on a large scale due to its intricate constraints. This paper presents an approach to identifying reusable functions and their relationships from the legacy embedded software for faster development reducing functionality testing time. A python tool is developed to automatically extract the reusable functions and present them in a feature model. The search time for finding reusable functions speeds up when they are placed as features in a feature model. We conducted experiments on three GitHub embedded software projects (elevator, infotainment, and health monitoring systems). The experimental results find that our proposed approach reduces the feature search time by 59.0%, 49.8%, and 74.5%, respectively, compared to the manual searching approach for 50 features.
first_indexed 2024-04-13T02:00:31Z
format Article
id doaj.art-5c19eb6ce59d42a982ffdd57ecb801d1
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-04-13T02:00:31Z
publishDate 2022-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-5c19eb6ce59d42a982ffdd57ecb801d12022-12-22T03:07:39ZengIEEEIEEE Access2169-35362022-01-0110885958860510.1109/ACCESS.2022.31976569852432Facilitating Reuse of Functions in Embedded SoftwareMd Al Maruf0Akramul Azim1Omar Alam2https://orcid.org/0000-0003-3973-9147Department of Electrical, Computer and Software Engineering, Ontario Tech University, Oshawa, ON, CanadaDepartment of Electrical, Computer and Software Engineering, Ontario Tech University, Oshawa, ON, CanadaDepartment of Computer Science, Trent University, Peterborough, ON, CanadaDeveloping software-intensive embedded systems is a significant challenge as embedded systems have become more complex and dynamic for integrating various constraints (e.g., real-time performance, design, and functional safety). In general, software practitioners reuse code to reduce development time for implementing required functionalities. However, embedded software development still lacks code reuse on a large scale due to its intricate constraints. This paper presents an approach to identifying reusable functions and their relationships from the legacy embedded software for faster development reducing functionality testing time. A python tool is developed to automatically extract the reusable functions and present them in a feature model. The search time for finding reusable functions speeds up when they are placed as features in a feature model. We conducted experiments on three GitHub embedded software projects (elevator, infotainment, and health monitoring systems). The experimental results find that our proposed approach reduces the feature search time by 59.0%, 49.8%, and 74.5%, respectively, compared to the manual searching approach for 50 features.https://ieeexplore.ieee.org/document/9852432/Embedded softwarereusabilityfeature model
spellingShingle Md Al Maruf
Akramul Azim
Omar Alam
Facilitating Reuse of Functions in Embedded Software
IEEE Access
Embedded software
reusability
feature model
title Facilitating Reuse of Functions in Embedded Software
title_full Facilitating Reuse of Functions in Embedded Software
title_fullStr Facilitating Reuse of Functions in Embedded Software
title_full_unstemmed Facilitating Reuse of Functions in Embedded Software
title_short Facilitating Reuse of Functions in Embedded Software
title_sort facilitating reuse of functions in embedded software
topic Embedded software
reusability
feature model
url https://ieeexplore.ieee.org/document/9852432/
work_keys_str_mv AT mdalmaruf facilitatingreuseoffunctionsinembeddedsoftware
AT akramulazim facilitatingreuseoffunctionsinembeddedsoftware
AT omaralam facilitatingreuseoffunctionsinembeddedsoftware