ChatGPTなどAI機能を活用しC言語ソースの再利用に有効なC言語ドキュメント作成システムの新展開を発表
@Press / 2024年9月29日 23時45分
株式会社ユニバーサルコンピュータ研究所(所在地:大阪市中央区、代表取締役:横山 雅俊、以下 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
【関連画像】
この記事に関連するニュース
-
【東洋建設】統合検索プラットフォーム 「TOYO ChatGPT RAG適用版」を導入
PR TIMES / 2024年9月28日 14時40分
-
ChatGPTに「Excel」の使い方を教えてもらおう
ITmedia Mobile / 2024年9月20日 23時10分
-
ゼロからはじめるGo言語 第21回 正規表現でExcelのセルを検索するツールを作ろう
マイナビニュース / 2024年9月18日 12時59分
-
押さえておきたいLLM用語の基礎解説 第1回 AI・大規模言語モデル・生成AI・ニューラルネットワーク・ディープラーニング
マイナビニュース / 2024年9月10日 7時0分
-
ChatGPTを使った社内ナレッジ検索サービス「ChatSense」、最新の「GPT-4o mini」を全ユーザーに開放。無料のプランでも利用可能
PR TIMES / 2024年9月3日 14時45分
ランキング
-
1深圳の男児刺殺受け、日中の定期航路50年記念式典が中止「お祝いふさわしくない」
読売新聞 / 2024年9月29日 20時19分
-
2生成AIは銀行員に代われるか? 顧客対応、コンプラチェック――進む金融業界の活用事例
ITmedia ビジネスオンライン / 2024年9月30日 6時0分
-
3【どうして?】ブレーキを踏んでいないのに…ブレーキランプがつきっぱなし 「バッテリー上がりや思わぬ事故の原因に」整備士が対処法を解説
まいどなニュース / 2024年9月28日 7時32分
-
4「あいつと同じ墓に入りたくない!」人、選択肢3つ 「どの墓に入るか」自由はあるけど"準備"が重要
東洋経済オンライン / 2024年9月29日 9時0分
-
5食欲の秋に、スタミナ満点のしょうが焼き!おうちでも真似できる美味しく作れるワザも
TBS NEWS DIG Powered by JNN / 2024年9月29日 17時2分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください