A Method for Efficient Extensibility Improvements in Embedded Software Evolution
Canon Incorporation, Tokyo, Japan., Takanori Sasaki, Nobukazu Yoshioka, Yasuyuki Tahara, Akihiko Ohsuga
Abstract
Canon Incorporation, Tokyo, Japan., Takanori Sasaki, Nobukazu Yoshioka, Yasuyuki Tahara, Akihiko Ohsuga
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.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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