@article{oai:uec.repo.nii.ac.jp:00009186, author = {佐々木, 隆益 and Sasaki, Takanori and 吉岡, 信和 and Yoshioka, Nobukazu and 田原, 康之 and Tahara, Yasuyuki and 大須賀, 昭彦 and Ohsuga, Akihiko}, issue = {2}, journal = {情報処理学会論文誌}, month = {Feb}, note = {市場ニーズの変化速度に対応した製品開発プロセスとしてアジャイル開発プロセスのようなライトウェイトな開発プロセスが台頭してきている.アジャイルも含め,このような進化型ソフトウェアは,継続的にリファクタリングを施しながらの機能開発を行う.特に組込みシステムでは,関連するハードウェアの個別進化に対しても,システムとしての対応が必要であり,拡張性や可変性の設計がなされていないと,製品リリースが進むにつれ,メンテナンス性の悪化を引き起こしやすくなる.本稿では継続的に発生する将来の機能追加において,システムの拡張性を強化する情報の提供を目的とし,ソースコードから,自動的に拡張性の構造を抽出し,拡張性を強化すべき箇所を特定,強化方法を提示する手法を提案する.さらに継続的に機能追加された実際の製品コードに対し,提案手法を適用した結果,提案手法の有効性を確認することができた., Light weight 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 of extensibility. We also propose a technique for detecting and suggesting extensible design pattern automatically. Our approach is based on analyses of the call graph and the 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 proposal method to an actual product's code continuously and could verify an improvement in system's extensibility.}, pages = {730--744}, title = {組込み向け進化型ソフトウェアの効率的な拡張性強化手法}, volume = {57}, year = {2016}, yomi = {ササキ, タカノリ and ヨシオカ, ノブカズ and タハラ, ヤスユキ and オオスガ, アキヒコ} }