2015Journal of SoftwareOpen access

A Method for Efficient Extensibility Improvements in Embedded Software Evolution

Canon Incorporation, Tokyo, Japan., Takanori Sasaki, Nobukazu Yoshioka, Yasuyuki Tahara, Akihiko Ohsuga

Open full text 0 citations

Abstract

Lightweight development processes like Agile have emerged in response to rapidly changing market requirements. However, software evolution processes including Agile are inadequate for software in embedded systems, as software undergoes frequent refactoring, targeting only immediate requirements. As a result, maintainability decreases because the system is not designed to respond to changes in the associated hardware. In this paper, we propose a method for improving extensibility. We also propose a technique for detecting and suggesting extension design patterns automatically. Our approach is based on analyses of the call graph and inheritance structure of source code to identify a layer structure that is specific to embedded software. These techniques provide us with objective and quantitative information about extensibility. We applied the proposed method to an actual product’s code continuously and could verify an improvement in the system’s extensibility.

About this research paper

What this paper is about

Lightweight development processes like Agile have emerged in response to rapidly changing market requirements. However, software evolution processes including Agile are inadequate for software in embedded systems, as software undergoes frequent refactoring, targeting only immediate requirements. As a result, maintainability decreases because the system is not designed to respond to changes in the associated hardware. In this paper, we propose a method for improving extensibility. We also propose a technique for detecting and suggesting extension design patterns automatically. Our approach is based on analyses of the call graph and inheritance structure of source code to identify a layer structure that is specific to embedded software. These techniques provide us with objective and quantitative information about extensibility. We applied the proposed method to an actual product’s code continuously and could verify an improvement in the system’s extensibility.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Lightweight development processes like Agile have emerged in response to rapidly changing market requirements. However, software evolution processes including Agile are inadequate for software in embedded systems, as software undergoes frequent refactoring, targeting only immediate requirements. As a result, maintainability decreases because the system is not designed to respond to changes in the associated hardware. In this paper, we propose a method for improving extensibility. We also propose a technique for detecting and suggesting extension design patterns automatically. Our approach is based on analyses of the call graph and inheritance structure of source code to identify a layer structure that is specific to embedded software. These techniques provide us with objective and quantitative information about extensibility. We applied the proposed method to an actual product’s code continuously and could verify an improvement in the system’s extensibility.

Key concepts: Computer science, Extensibility, Software, Software engineering, Programming language

Related papers

Back to paper searchBrowse research topicsOriginal source
A Method for Efficient Extensibility Improvements in Embedded Software Evolution — Research Paper | ScholarLens