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,… Click to show full abstract
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.
               
Click one of the above tabs to view related content.