研究概要 |
本研究では,ソフトウェア開発において蓄積したソースコードを分析する上で必要となるプログラム解析技術およびそれを用いた開発支援技術について研究を行った. プログラム解析技術については,Cにおけるプログラム解析結果を肌で表現する方法について検討した.字句解析,構文解析,意味解析,依存解析の結果を基のソースコードの構造を保持したままXMLのタグを埋め込むことによって実現した.XMLで表現する情報は,構文構造,定義参照関係,型情報,依存関係である.実現した解析ツールは,Cソースコードおよび前処理後のコードのXML表現を生成する.Cではソースコードが前処理され,前処理後のコードがコンパイルされるため,前処理前のソースコードは構文に従っていないが'前処理前後の対応関係を用いることによって前処理前のソースコードに対して構文構造をXML表現で生成することを可能とした. CソーズコードのXML表現を用いた開発支援技術として,コーディング規約違反を検出する方法について研究を行い,コーディング規約違反を検出するコーディングチェッカを実現した.本研究では,前処理前,前処理後の両方のコードに対してコーディング規約違反を検出可能にし,前処理後のコードに対しては前処理前のコードの該当箇所と前処理後のコードの該当箇所の両方を提示することによって,違反の原因が開発者にわかりやすくなるよう工夫した.本ツールでは,コーディング規約をXpathおよびDOMを用いて実装することが可能であり,開発プロジェクトで独自に設定しているコーディング規約を実装することが可能である.
|