Comparing Development Approaches and Reuse Strategies: An Empirical Evaluation of Developer Views from the Aerospace Industry

Document Type


Publication Date



Empirical study, Software reuse, Embedded systems, Nonembedded systems

Organizational Units

Daniel Felix Ritchie School of Engineering and Computer Science, Computer Science


There is a debate in the aerospace industry whether lessons from reuse successes and failures in nonembedded software can be applied to embedded software. Reuse supposedly reduces development time and errors. The aerospace industry was an early advocate of reuse, but in Aerospace, not all reuse experiences have been as successful as expected. Some major projects experienced large overruns in time, budget, as well as inferior performance, at least in part, due to the gap between reuse expectations and reuse outcomes. This seemed to be especially the case for embedded systems.


Our goal is to discover software reuse practices in the aerospace industry. In particular, we wish to learn whether practitioners who develop embedded systems use the same development approaches and artifacts as software practitioners who develop nonembedded systems. We wish to learn whether reuse influences selection of development approaches and artifacts and whether outcomes are impacted.


We developed a survey given to software practitioners in a major Aerospace Corporation developing either embedded or nonembedded systems. The survey probed to identify development methods used, artifacts reused and outcomes resulting from the reuse. We used qualitative and quantitative methods such as descriptive statistics, MANOVA, Principle Component Analysis and an analysis of freeform comments to compare reuse practices between embedded systems and nonembedded systems development.


We found that embedded systems were more likely to include component based development, product line development and model based development in their development approach, whereas nonembedded systems were more likely to include Ad Hoc and COTS/GOTS in their development approach. Embedded systems developers tended to reuse more and different reuse artifacts.


We found that, while outcomes were nearly identical, the development approaches and artifacts used did, in fact, differ. In particular, the tight coupling between code and the platform in embedded systems often dictated the development approach and reuse artifacts and identified some of the reasons.

Publication Statement

Copyright held by author or publisher. User is responsible for all copyright compliance.

This document is currently not available here.