ChatGPTなどAI機能を活用しC言語ソースの再利用に有効なC言語ドキュメント作成システムの新展開を発表
配信日時: 2024-09-29 23:45:00



株式会社ユニバーサルコンピュータ研究所(所在地:大阪市中央区、代表取締役:横山 雅俊、以下 UCL)は、ChatGPTなどのAI機能を活用しC言語ソースの再利用に有効なC言語ドキュメント作成システムの新展開を発表しました。
■C言語ドキュメント作成ツール
UCLでは、C言語のソースプログラムを入力し、各種ドキュメントを自動作成する「C言語ドキュメント作成ツール」を提供しています。
当ツールは、ソースに書かれたコメントを重視してわかりやすいドキュメントを作成することが可能です。
タイミングチャート作成機能対応C言語ドキュメント作成ツール
http://ucl.jp/cds/tivwp01.html
■AI機能の活用
従来CDS製品では、コメントの無いソースプログラムからは処理説明の無いドキュメントしか出ませんでした。昨今、利用しやすくなってきたChatGPTなどを活用すればコメントの無いソースプログラムにも処理コメントを付加したり、関数の説明コメントを自動的に追加することが可能です。
■処理例
以下に処理例を示します。
【ChatGPTへの入力】
以下のソースにC言語でコメントをつけてください
Doxygenの日本語関数説明をしてください
int Character::Type_chk(int chr) { int ret;
if ( 'a' <= chr && chr <= 'z'
|| 'A' <= chr && chr <= 'Z' ) {
ret = LETTER;
} else if ('0' <= chr && chr <= '9') {
ret = DIGIT;
} else {
ret = chr;
}
return(ret);
※Doxygenとは、ソフトウェアのドキュメント化を自動で行うことができるオープンソースソフトウェアです。
【ChatGPTの出力】
下にC言語のコメントとDoxygen形式の日本語関数説明を追加しました。
/**
* @brief 文字の種類をチェックする関数
*
* この関数は、与えられた文字が英字(小文字または大文字)、
* 数字、またはその他の文字のいずれかであるかを判断します。
*
* @param chr チェックする文字(整数値として表現される)
* @return 文字の種類を示す整数値
* - LETTER: 英字
* - DIGIT: 数字
* - chr: その他の文字(そのまま返す)
*/
int Character::Type_chk(int chr)
{
int ret;
// 英字の範囲をチェック
if ( 'a' <= chr && chr <= 'z'
|| 'A' <= chr && chr <= 'Z' ) {
ret = LETTER; // 英字の場合
}
// 数字の範囲をチェック
else if ('0' <= chr && chr <= '9') {
ret = DIGIT; // 数字の場合
}
// その他の文字
else {
ret = chr; // その他の文字はそのまま返す
}
return(ret); // 結果を返す
}
このコードは、与えられた文字の種類を判定し、対応する値を返す機能を持っています。Doxygenコメントにより、関数の目的や引数、返り値を明確に説明しています。
■CDSの形式に関数見出しの形式を変換
@brief、@paramなどはDoxygenの形式で出力されますので、今後ユニバーサルコンピュータ研究所が提供するAI活用ツールで以下のようにCDS形式への自動変換を行います。
//********************************************************************
// NAME : Character::Type_chk
// FUNCTION : 文字の種類をチェックする関数
// PROCESS : この関数は、与えられた文字が英字(小文字または大文字)、
// : 数字、またはその他の文字のいずれかであるかを判断します。
// INPUT : chr : 入力文字
// RETURN : 文字の型
// : == LETTER : 文字型(英字)
// : == DIGIT : 数字型
// : == その他 : 文字型以外
//********************************************************************
int Character::Type_chk(int chr)
{
int ret; // 戻り値
// 英字の範囲をチェック
if ( 'a' <= chr && chr <= 'z'
|| 'A' <= chr && chr <= 'Z' ) {
ret = LETTER; // 英字の場合
}
// 数字の範囲をチェック
else if ('0' <= chr && chr <= '9') {
ret = DIGIT; // 数字の場合
}
// その他の文字
else {
ret = chr; // その他の文字はそのまま返す
}
return(ret);
}
■CDSで自動生成される関数仕様書の例
画像1: https://www.atpress.ne.jp/releases/408278/LL_img_408278_2.png
docview 関数仕様書
■CDSで自動生成される関数ロジック図の例
これはフローチャートの出力例です。
画像2: https://www.atpress.ne.jp/releases/408278/LL_img_408278_3.png
flowchartフローチャート
これはPAD図の出力例です。
画像3: https://www.atpress.ne.jp/releases/408278/LL_img_408278_1.png
padview PAD図
■過去のソフト資産の有効活用
このように過去に作成されたコメントの無いソースプログラムもAI活用によりコメントを自動付加し、CDSに入力することによってプログラムドキュメントを自動作成することができます。
なお、機密保持の必要なソースプログラムをオープンなAI機能に引き渡すことについて、セキュリティ上そのままでは問題があります。
現在、AI機能のセキュリティを確保しつつ利用可能な環境提供を行っている法人向けAIサービスは数多く存在します。
そのようなAIサービスを利用することにより機密情報の漏洩防止は可能です。
■展望
過去のソースプログラム資産をAI活用によりCDSでドキュメント生成して再利用が可能になれば、ソフトウェア開発者不足の解消に貢献できると考えられます。
今後ユニバーサルコンピュータ研究所では、AI活用ツールの提供を含む新展開を進めてまいります。
【会社概要】
株式会社ユニバーサルコンピュータ研究所(略称UCL)
主要実績:全国のSOLAS港湾監視システム、公共監視システム、映像鮮明化システム
設立 :1984年10月
代表者 :代表取締役 横山 雅俊(大阪大学工学博士)
所在地 :大阪市中央区西心斎橋1丁目9番16号 大京心斎橋第2ビル5F
【本製品に関するお客様からのお問い合わせ先】
株式会社ユニバーサルコンピュータ研究所(略称UCL)
URL : http://www.ucl.co.jp/
E-Mail: cds-contact@ucl.co.jp
詳細はこちら
プレスリリース提供元:@Press
スポンサードリンク
「株式会社ユニバーサルコンピュータ研究所」のプレスリリース
「その他IT・インターネット」のプレスリリース
- Questetra BPM Suite(クエステトラ)、「ITreview Grid Award 2026 Winter」にてワークフローシステム部門「High Performer」を受賞01/23 15:00
- 「A-GELギフトポイント&A-GELギフトカード」音楽のレコード大賞3回受賞・梅崎俊春氏が訪問取材 「やき鳥歩ム自由が丘」でA-GELギフトポイント&A-GELギフトカード導入 導入後、お客様の“1か月以内の再来店”が増加――「1か月に1回以上来店する状態」に01/23 13:30
- 大規模改修なしに音環境設計で空間ゾーニング 半田市立図書館で読書・会話のエリアをわけ、学びと交流を両立させる実証実験01/23 13:00
- 「その他IT・インターネット」のプレスリリースをもっと読む
スポンサードリンク
最新のプレスリリース
- 【山崎実業 新商品のお知らせ】 電気プレート下を有効活用できるラックや、福を招く八角盛り塩を美しく仕上げる専用スプーンなど、新商品が発売になりました。01/23 16:40
- U-GAKU運営の株式会社Crepity、日本人運営の医療機関「ことびあクリニック」と提携01/23 16:40
- デジタルハーツホールディングス、2026年2月より “GameScribes” と資本業務提携を開始01/23 16:35
- 元名古屋グランパスの 柿谷 曜一朗 さんがサッカー教室に登場!「ドコモ未来フィールド」で “プロサッカーのセカイ”にふれる01/23 16:35
- 法人営業の全体像を把握し、完遂責任を果たす営業担当者を育成。新入社員向け「法人営業の流れ理解研修」:社員研修のリスキル01/23 16:34
- 最新のプレスリリースをもっと見る
