大会講演論文集は査読を行っていません。各論文の著作権は各著者に属します。日本ソフトウェア科学会は著作権規定(2011年1月13日制定)第3条(b)にもとづく著作者の許諾に従って公開をしています。
本講演論文集中の論文を引用する場合には、大会講演論文を引用する場合の注意を御覧ください。
The proceedings are non-refereed. Authors of each article retain their copyrights in the article. JSSST publishes the articles under the JSSST copyright policy (in Japanese; January 13, 2011) 3(b).
日本ソフトウェア科学会 編
2024年9月10日~9月12日 立命館大学大阪いばらきキャンパス
概要: 2017年に将棋と囲碁は相次いでAIが人間の名人に勝利した.そのことによって将棋と囲碁の将来を不安視する向きもあったが,どちらのゲームの世界もその後人間がAIを道具として使うことによって発展している.このことはこれからの人間とAIの関係を考えるにあたっていい例になっていると思われる.ここではAIの進歩に伴って将棋と囲碁の世界がどのように変わっているかを考える.
概要: 我々は,車載システムを対象として形式手法の実践応用について研究を行っている.形式手法を実際の製品へ適用することに拘り,国内のサプライヤを中心に共同研究を実施し,複数の車載システム製品への適用に成功,および,商用ツールをリリースするなどしてきた.現在,近未来における自動運転の実現という目標が全世界的な関心事となっており,次世代の車載システムが劇的に大規模化,複雑化してきている.我々はこれまで,車載OSを中心とした基本ソフトウェアを実践対象としてきたが,この現状を踏まえ,より高度な車載システムへの形式手法の実践を目指すべくJST/CRESTプロジェクトへ応募し,獲得することができた.本プロジェクトでは,自動運転システムを実現する次世代車載基盤システムを対象に形式手法を実践応用する方法の確立を目指す.提案手法は認識から制御までをカバーし,形式仕様言語,制御仕様言語,そして,それらを用いた検証手法で構成する.本講演では,これまでの研究成果を紹介した後,次世代車載基盤システムを検証する際の挑戦,アイデアについて共有し,我々のJST/CRESTプロジェクトの概要と展望について述べる.
概要: HCIの歴史において新しい入力手段と出力手段が揃った時に,時代を変えるイノベーティブなHCIが出現してきた.現在,画像入力ハードウェアとソフトウェア,画像出力装置の高性能化・低価格化が進み,新しいHCIのための環境が整いつつある.本講演では講演者のこれまでの代表的な研究を紹介すると同時に,Vision-based HCIの将来展望について述べる.
概要: AI技術などの進展が,ソフトウェア開発とソフトウェア工学の双方に大きなインパクトを与えている.ソフトウェアに関わる技術者・研究者にとっては脅威とも言われているが,同時に,ソフトウェア開発そのものとソフトウェア工学研究の有り様を変革する好機と捉えることもできる.国内外の学生・研究者との連携の下で推進してきた実証的ソフトウェア工学のこれまでを振り返るとともに,今後の展開について,学術的・実践的な観点で私見を述べ議論の端緒とする.
概要: Software Defined Vehicle(SDV)という用語が自動車業界で大きな注目を集めている.この講演では,自動車がソフトウェア制御される流れとSDVについて説明し,SDVによって自動車がどのように変わるか(変わる可能性があるか)について議論する.
[1a-1-R] コードクローン中のコードスメルに関する調査研究
[1a-2-T] The Human Side of Fuzzing: Challenges Faced by Developers During Fuzzing Activities (トップカンファレンス・トップ論文誌特別講演)
出典:ACM Transactions on Software Engineering Methodology, vol.33, no.1, Article 14, 2024. https://doi.org/10.1145/3611668
[1b-2-R] 複数車線における車線変更を考慮した渋滞の解析に資する交通流モデルの構築
[1c-1-R] 論理制約付き項書き換えシステムにおける新しい制約付き項の書き換えの提案
[1c-2-R] 一般的な組合せ子の非ω-強頭部正規化可能性・停止性・非基礎ループ性
[2a-1-I] Cohort Shapley 法を用いた教師データ・正解値に含まれるバイアスの校正手法の提案 (MLSE招待発表)
[2a-2-IR] 機械学習におけるアーキテクチャ構成とその学習手法の圏論的構造化 (MLSE招待発表)
[2a-3-R] 動的最適化の挑戦
[2a-4-T] Learning Decision Trees and Forests with Algorithmic Recourse (トップカンファレンス・トップ論文誌特別講演)
出典:Proceedings of the 41st International Conference on Machine Learning, PMLR 235:22936-22962, 2024. https://proceedings.mlr.press/v235/kanamori24a.html
[2b-1-R] プログラミング演習における協働学習のための会話内容可視化システムの試作
[2b-3-R] プログラミングの写経型学習の欠点を補う翻訳学習法の提案
[2b-4-R] デバッグ演習への意欲向上を目的とした順位付けをしない得点提示式演習の提案
[2c-3-R] Composing Codensity Bisimulations
[2c-4-T] Braids, Twists, Trace and Duality in Combinatory Algebras (トップカンファレンス・トップ論文誌特別講演)
出典:Proceedings of 39th Annual ACM/IEEE Symposium on Logic in Computer Science, Article No.42, 2024. https://doi.org/10.1145/3661814.3662098
[3a-1-R] グラフデータベースを用いたモデル検査の実装と評価
[3a-3-T] An automated detection of confusing variable pairs with highly similar compound names in Java and Python programs (トップカンファレンス・トップ論文誌特別講演)
出典:Empirical Software Engineering, vol.28, article number 108, 2023. https://doi.org/10.1007/s10664-023-10339-2
[3b-1-R] 自動生成した標的型メールを用いた訓練用メール配信システムの開発
[3b-2-R] フリー Wi-Fi の危険性に関する情報セキュリティ教材の開発
[3b-3-R] 教授者のクラス配置に基づいた初学者向けクラス図作成支援手法
[3c-1-R] エフェクトハンドラを用いた型安全なコード生成
[3c-2-R] パラメトリック多相関数の真偽値への単相化によるテスト
[3c-3-T] Space-Efficient Polymorphic Gradual Typing, Mostly Parametric (トップカンファレンス・トップ論文誌特別講演)
出典:Proceedings of the ACM on Programming Languages, Volume 8, Issue PLDI, Article No.211, pages 1585-1608, 2024. https://doi.org/10.1145/3656441
[4a-1-R] 機械学習を用いたシステムの品質管理におけるベストプラクティスについて
[4a-3-T] Search-Based Repair of DNN Controllers of AI-Enabled Cyber-Physical Systems Guided by System-Level Specifications (トップカンファレンス・トップ論文誌特別講演)
出典:Proceedings of Genetic and Evolutionary Computation Conference, pp.1435-1444, 2024. https://doi.org/10.1145/3638529.3654078
[4b-1-R] 再帰呼び出しを含む分離論理の部分正当性のための循環証明体系
[4b-2-R] 係数環完備化と貼合せ・直交性に基づく線形論理の Σ 加群モデルの再構成
[4b-3-R] MELL のカット除去規則に基づく階層グラフ書換え言語の拡張
[4c-1-R] 拡張性の高い遷移系を記述可能な領域特化言語
[4c-2-R] Fluent API におけるプログラム断片のより柔軟な結合
[4c-4-T] Embedding by Unembedding (トップカンファレンス・トップ論文誌特別講演)
出典:Proceedings of the ACM on Programming Languages, vol.7, Issue ICFP, Article No.189, 2023 https://doi.org/10.1145/3607830
[5a-2-R] 最新比較評価向け M-closure の再実装
[5b-1-R] PBL のための CCPM を活用したプロジェクトマネジメント手法の提案
[5b-2-R] チュートリアル型ミニアプリ開発補助教材の開発
[5c-2-R] 組込みシステム向け FRP 言語によるリアルタイムタスクの記述と処理機構
[6a-1-R] シングルショット画像からの 3D モデルの生成とボーン座標推定
[6a-2-R] テキストと画像情報を活用した観光地検索支援システムの提案
[6b-2-R] 大規模言語モデルを用いたコード最適化の実用化に向けて
[1-P] 健康診断データの視覚化に関する研究
概要: 本稿は、健康診断データの収集および変換方法を探求したい。また、ユーザーの使用体験をさらに改善し、健康診断のサービス品質を向上させることを目的とする。同時に、現在の中国では、中国の医学に対する評価が高まっているため、中西医療の統合概念を健康診断プロセスに取り入れると考える。 研究課題は三つに設定した。研究課題一は、西洋医学に基づく健康診断のプロセスに中国医学の診療法を導入することである。研究課題二は、中国医学の診断データと西洋医学の診断データを適切に変換する方法を提案することである。研究課題三は、変換の結果を視覚化すること及び展示形式を作成することである。 中国医学と西洋医学は、二つの異なる体系であるが、どちらも人間の健康のためであるという目的は一致している。中国医学の体質診断と西洋医学の体検報告を結合させ視覚化したことで、受診者に体の状態をよく理解させることができる。
[2-P] 高校生の日本語のレポートを生成AIを用いた不正2種類と不正無しの3種類へ機械学習で分類する手法の提案
概要: 近年、ChatGPTやGeminiといった文章生成AIが簡単に利用できるようになっている。高等学校等において生成AIを不正に用いる生徒が現れる可能性があり、学校の教員は生徒の文章と生成AIの文章を見分ける必要がある。これまで英語や日本語に関し、人間と主にChatGPTの文章の判別に関する研究が行われてきたが、生徒が使用する生成AIはChatGPTだけとは限らず、また、文章生成AIの文章を書き替えて提出することも考えられる。そこで本論文では、日本語を対象とし、高校生の作る文章、生成AIの作る文章、および生成AIの文章を生徒が書き直した文章を機械学習により判別する手法を提案する。提案手法の有効性を確認するため、芝浦工業大学附属中学高等学校の高校生34名に協力してもらって上記3種類の文章を入手し、機械学習で分類する実験を行った。その結果、正解率は61.9%であった。また、back-translationを用いて学習データの量を3倍に増やすことで正解率が68.3%となった。
[3-P] 西陣織を身近にする導電性テキスタイルの開発
概要: 導電性テキスタイルを用いることで電子回路を布製品に組み込むことが可能になる。電子回路の一部を布素材にすることで、水に濡れる場面で使用したり、手触りが滑らかで子どもでも使えたり、インテリア環境に馴染ませたりすることができる。国内で一般的に手に入る導電性テキスタイルは炭素色や金属色のものが多く、審美性や装飾性に優れたものがあまり存在しない。一方、審美性や装飾性に優れたものとして、西陣織などの伝統的な繊維産業の製品が挙げられる。しかし近年着物を着る人や機会が減っていることから、生産量が減り、後継者育成が難しいという問題がある。そこで本研究では西陣織を身近にするため、新市場開拓のために導電性をもった西陣織を開発した。装飾性や審美性を付与することで、生活の中で利用できるようになると考えられる。本研究では導電性西陣織の利用バリエーションを提示し、様々な人が身近で利用するアイデアを考えられるようにした。
[4-P] 独立集合遷移問題に対する有界組合せ遷移の改良に関する一考察
概要: 本発表では独立集合遷移問題に対する有界組合せ遷移の改良手法を提案する.独立集合遷移問題は独立集合問題と2つの独立集合が与えられたとき,一方から他方へ,差分がちょうど1つの頂点であるという遷移制約を満たしながら,独立集合のみを経由して遷移可能かどうかを判定する代表的な組合せ遷移問題の一つである. 独立集合遷移問題の既存手法として有界組合せ遷移を用いた方法が提案され,国際競技会で優勝するなど優秀な成績を収めているが,遷移長が長くなると制約の数が多くなり性能が劣化するという問題があった. 改良手法では,遷移の前後の独立集合の差分を高々2つの頂点まで許すという緩和された遷移制約を適用し,見かけの遷移長を半分にする.国際競技会のベンチマーク問題693問を用いて,評価を行ったところ331問の問題で制約の数を既存手法より減らすことができ,444問の問題の遷移系列を求めることに成功した.
[5-P] ハミルトン閉路問題に対するCut-arc集合制約を用いたSAT型CEGAR解法
概要: 本発表では, ハミルトン閉路問題(HCP)に対する既存のSAT型CEGAR (Counterexample Guided Abstract Refinement) 解法の改良を提案する. HCPは代表的なNP完全問題の一つであり, 巡回セールスマン問題などへの応用が知られている重要な問題である. HCPのSAT型CEGAR解法とは, SATソルバーを用いてHCPの緩和問題を解き, 緩和解がハミルトン閉路でない場合 (反例の場合), 制約を追加し, 再度緩和解を求める解法である. 従来の手法では, 反例として見つかった部分閉路に対して, それを否定するat-most制約を追加する. 提案手法では, 部分閉路の Cut-arc 集合に対してat-least制約を追加するところに特徴がある. 国際競技会で用いられた1001問のベンチマーク問題を用いて, 評価実験を行ったところ, 従来手法が539問解いたのに対して提案手法は884問解くことに成功し, その有効性を確認することができた.
[6-P] スマートミラーを用いた化粧による自己肯定感向上システムの開発
概要: 本研究では,化粧行為を褒めることにより自己肯定感向上を目指すシステムの開発をする.さらに本システムでは,化粧という日常行為に着目するため,生活空間に取り入れやすいシステムを目指す. 褒める言葉を提示するために,複数タグを識別することができるRFIDを利用し,化粧時に使用した化粧品情報を取得する.これにより,使用した化粧品情報から固有の褒め言葉を提示することができる. また,普段の化粧と変わらない環境での化粧を目指すため,スマートミラーを利用する.スマートミラーを用いることにより,化粧後の自身の顔を認識しながら,褒め言葉を受け取ることができる.これにより,自然に自己肯定感向上につながると考える.
[7-P] ソースコード分類手法の選択に対するバンディットアルゴリズムの適用
概要: ソフトウェア開発において,現在開発中のソースコードを,いくつかのグループに分類するアプローチが研究されている.分類したグループのソースコードを提示することにより,類似機能のソースコードを流用ししたり,余分な重複コード(コードクローン)を発見することができ,開発の生産性を高めることができる.従来のアプローチは,平均的に分類精度の高い手法を調査し,それを利用するというものであった.これに対し本研究では,開発者がソースコード分類機能の利用時に,各手法の分類精度を評価することにより,複数の手法の候補から最適な手法を動的に選択するアプローチを提案する.
[8-P] バグ限局手法のオンライン最適化における期待報酬の影響分析の試み
概要: 欠陥除去を効率化するために,プログラム中の欠陥箇所を特定するバグ限局が行われている.バグ限局のための様々な方法が提案されており,開発者はそれらの方法から最適なものを選択し,開発時にバグ限局を行う.既存のアプローチでは,平均的に性能の高いバグ限局方法を特定し,その方法を使い続ける.それに対し本研究では,オンライン最適化に基づき,バグ限局方法の利用時の評価に基づき,性能の高い(期待報酬の高い)方法を動的に選択する.本研究では期待報酬の平均値と中央値を用いた場合の差異の評価を試みる.
[9-P] コードクローン集約によるファジングの実行効率調査に向けた試み
概要: ファジングは高速なテストケース生成と実行によって脆弱性を検出する手法である.AFLは基本ブロックレベルの実行パスを観測し,未発見のパスを通過するテストケースを効率的に探索するファジングツールである.本研究では,対象のソースコード内のコードクローン集約による,AFLのパス探索効率の変化を調査した.基本ブロックを含むコードクローンを集約することで,パスが単純化され,AFLが観測するパスの数が減少し,未発見のパスに到達しやすくなると考えた.実験の結果として,AFLが発見したパス数に統計的な有意差は見られなかったが,コードクローン集約はAFLが生成するテストケースに変化を及ぼした.
[10-P] AWSリージョン間における通信性能の比較
概要: クラウドコンピューティングのグローバル化が進む中、複数のAWSリージョンにまたがるシステムやサービスを展開する企業にとって、通信性能の理解は極めて重要である。また、地理的に分散したリージョンは、可用性とレイテンシーに違いを生じさせ、特にリアルタイム性が要求されるアプリケーションでは、RTTやスループットが大きな課題となる。 本研究では、AWSの東京リージョンと、複数リージョン間の通信性能をTCP、UDP、ICMPプロービングによって計測し、各リージョン間のネットワークの効率性や信頼性に関する知見を提供することを目的としている。
[11-P] プログラミング演習問題の自動分割を用いた探索的プログラミングスキル学習支援ツールの検討
概要: プログラミング教育の重要性が増すなかで,様々なプログラミングを対象とした授業であるプログラミング演習が実施されている.一方で,プログラミングを苦手とする学生も一定数存在し,その学習を支援する様々な手法も提案されている.本研究では,探索的プログラミングと呼ばれる,開発者にとって実装方法が不慣れなプログラムについて,一部分を編集,コンパイル,実行,結果の確認を繰り返し行うプログラミング手法に着目する. AIアシスタントを活用することでプログラミング演習で学生に課された問題をコンパイル・実行可能な複数の小問題に自動的に細分化し,細分化された小問題を順番に学生に解いてもらうことで,探索的プログラミングの定着を目指す.
[12-P] 初学者によるリポジトリ障害の検出と修復を通じたGit学習支援手法の検討
概要: 個人や企業を問わず,ソフトウェア開発プロジェクトの管理においては,Gitの利用が広がっている.しかしながら初学者にとっては,リポジトリの構造やコミットといったGitについての基本的な機能を理解し,正しくリポジトリを操作することは難しい.そもそも誤った操作が行われたことを検知することも,不正な操作が行われたGitリポジトリを正しく修正することも初学者には容易ではない.大学でのGit演習などにおいても,修正方法が分からず,学生がリポジトリを一から作り直すといった状況もよく発生している.本研究では,Gitの一般的なコマンド操作の学習に加え,リポジトリ障害の検出や障害解決によるGit学習支援システムの開発を検討している.提案システムはユーザがGit操作を行う過程において,自動的にリポジトリに障害を発生させたり,破壊行為を行う.ユーザはゲームのインタフェースを通じて他のユーザと協力しながら障害の検知や解決を行い,Gitについての基本スキル及び障害対応スキルの向上を目指す.
[13-P] 入力データ制約を利用したプログラムの空間的最適化
概要: さまざまな問題を解くプログラムに対し、入力されるデータサイズの上限が決まっているケースがある。 そこで、入力待ちの変数に制約を追加して、それに応じて整数型を最低限のビット幅まで縮小するような最適化を行いたいと考えた。 本研究ではまず、C言語の記法を縮小し、さらに入力されるデータの制約条件をコード中に追加できるように拡張した言語(以下、制約付加可能C言語とする)を設計し、制約付加可能C言語のコンパイラを作成して、制約付加可能C言語の構文解析時に制約条件の情報をLLVM IRのMetadataに変換した。 次に、このMetadataを読み、それに基づいてビット幅を縮小するLLVM Passを実装した。 さらに、制約付加可能C言語のコンパイラとPassを実装したのち、Pass適用前と適用後のコードからバイナリファイルを生成・実行し、それぞれについてメモリ使用量を比較した。
[14-P] Toward Automation of Module Lazy Loading in SPA
Abstract: Dynamic lazy loading in Vuex is an effective method for optimizing the performance of large-scale Vue.js applications. This paper proposes a method to simplify the implementation process of dynamic lazy loading in Vuex, enhancing code maintainability and readability. By leveraging Vue’s plugin mechanism, the proposed method encapsulates the Vuex module loading process, allowing for the flexible application of techniques such as dynamic import and code splitting in Vuex state management. This paper outlines the design principles, implementation details, and experimental results of this method, evaluating its performance in large-scale Vue.js applications. Experimental results demonstrate that using this plugin mechanism for dynamic lazy loading in Vuex effectively reduces initial load times and improves application response speed, thereby enhancing user experience.
[15-P] BYODにおける正当なオンラインツールの利用を目的としたアクセス制御ツールの開発
概要: 近年の大学教育ではノートパソコンを利用したBYOD(Bring Your Own Device)による講義が多くなっている.個人のPCを講義に持ち込むことで資料の電子化の他に,MSFormsやGoogle Formsを用いた電子的なテスト等を容易に実施することができる.しかし,講義中に個々の端末を利用する事で,小テスト中に友人間で回答を共有し合う不正や,講義中にも関わらず講義とは関係の無いサイトを閲覧している等の問題がある.そこで,本提案ではBYOD環境下でオンラインツールを正当に利用するためにアクセス制御ツールの開発を行う.開発するアクセス制御ツールは特定のサイトへのアクセス制御の他にクライアントツールの制御も行う.これにより,小テストや講義において本ツールを使った新たな授業モデルの発展に期待できる.
[16-P] asac4ux -- ユーザビリティアシュアランスのためのTypeScriptライブラリ
概要: 発表者が試作中の、ユーザビリティアシュアランスのためのTypeScriptライブラリasac4uxについてプロトタイプのデモを行う。これは、ISO/IEC/IEEE 15026-2が定めるアシュアランスケースをTypeScript言語の型システムを使って形式化することで、TypeScriptを用いて開発されるWebサービスのユーザビリティ評価を容易にすることを意図している。
[17-P] オンライングループディスカッションへのユーザの積極的な参加促進を目的としたアバタを介した会議情報可視化手法の検討
概要: グループディスカッションでは,一定の時間内に複数の参加者が議論に参加し,会議ごとの目的を遂行する.コロナ禍以降,オンラインでビデオ会議サービスを活用して実施されることも多くなりつつある. 一方で,グループディスカッションに不慣れであると,残り時間の把握や話し合われているトピックに対する理解,参加者の意図や雰囲気等様々な情報を集約して会議に積極的に参加することは難しい. 本研究では,グループディスカッションにおいて把握しないといけない様々な情報をビデオ会議でよく利用されるアバタを介してユーザー間で共有・可視化することを目的とした支援ツールの開発を検討している. アバタの動きやグラフとの連携等,ビデオ会議における多様な情報を可視化することで,ユーザにグループディスカッションへの積極的な参加を促すことが可能となる.
[18-P] COBOLデータセット改善手法の確立に向けた調査
概要: 近年、大規模言語モデル(LLM)が様々な分野で注目を集めており、その応用範囲は広がっている。レガシーマイグレーションの領域においても、COBOL有識者不足という課題が浮き彫りになってきたことから、COBOLに特化したLLMの構築が新たな解決策として期待されている。 一般にLLMの学習には大量の学習データが必要とされるが、COBOLデータの収集は極めて困難である。これは、多くのCOBOLが商用システム内で使用され、オープンソースの形で公開されないことに由来する。本研究では、限られたオープンソースのCOBOLコードに対し、ファイル分割&機械増幅という二つの処理を適用することで学習データ不足にアプローチし、COBOL関連タスクの精度向上を目指す。 本発表は、初期調査として提案手法に基づく実験設計や結果の評価方法についてのディスカッションを行うことを目的としている。ディスカッションを通じて、COBOL特化LLM構築におけるデータ増幅手法の有効性、課題、および今後の方針について議論したい。
[19-P] 先送りレンズ
概要: 双方向変換は複数の異なる形式のデータ間の同期を可能にし,ビュー更新,アンドゥ/リドゥ機構,構文解析/整形出力,GUI・Webプログラミングなど様々な応用を持つ.レンズは双方向変換の構成手法の一つであり,双方向変換をより小さな双方向変換を結合子を用いて組み合わせることにより構成する.複数のデータ間の同期を実現するためには,複製変換と呼ばれる双方向変換が重要となる.しかしながら,複製変換を含むレンズ体系に対し,十分に強力な振舞いの良さをcompositionalに保証することは未解決の問題であった. 本発表では,データの一部が未定であることを許容する,先送りレンズを提案する.提案体系では,未定性により保存されるべき更新を明示することが可能となり,結果として複製変換を含む双方向変換に対しより強力な振舞いの良さをcompositionalな保証することが可能となる.また,提案体系は可逆プログラミング技術とより高い親和性を持ち,特にpin演算[Matsuda+ 20, 24]を活用することを可能とする.
[20-P] LLMを用いたCOBOLからJavaへの自動コード翻訳とリファクタリングに対する調査
概要: 数十年にわたって稼働してきたレガシーシステムを刷新するためのモダナイゼーションの需要は大きい. ソースコードの自動翻訳はその一つのアプローチとされている. しかし,レガシーシステムで多く採用されているCOBOLからJavaへの自動翻訳を行う従来の手法では,翻訳後のJavaコードの可読性が低下するという課題が指摘されている. 本研究では,LLMを用いた自動コード翻訳とリファクタリングを組み合わせることで,COBOLから可読性の高いJavaへ自動翻訳する手法の確立を目指している. 本発表では,初期調査として,LLMを用いた自動コード翻訳とリファクタリングを社内のCOBOLコードに適用し,翻訳後のコードの可読性および論理的正確性を調査する. また,この手法の現場への適用に向けた課題についても考察する.
[21-P] プログラム設計技能の習得を支援する対話型学習環境の開発
概要: プログラム設計の手順を明示的に教えることは、問題の解法を考える工程を助け、可読性の高いプログラムを開発する技能の習得に役立つ。 しかし、教育者のサポートが得られない状況でプログラム設計を適切に行うことは初学者にとって難しく、抽象的な設計手順を具体的な問題に適用できない、設計手順の各ステップで得られた成果物の妥当性を判断できないなどの問題がある。 そこで、本研究ではプログラム設計技能の習得を支援する対話型学習環境を提案する。この学習環境は具体的なプログラミングの問題にFelleisenらのデザインレシピを適用し、「入力のデータにはどのようなパターンがありますか」「この入力に対してどのような出力を期待しますか」といった質問を学習者に投げかける。学習者はこれらの質問に回答しつつ、回答に関するフィードバックを得る。このような対話を繰り返すことで、学習者はプログラムの設計手順をスムーズに習得することができる。 学習環境の実装には、LLM 対話システムを用いることで、具体的な問題に特化した質問やフィードバックの生成を実現している。また、対話のモードに複数のレベルを設け、学習者が自身の習熟度に応じて自然言語あるいはコードベースでの対話を選択できるようにすることを考えている。 本発表では、各レベルの学習者と学習環境の対話のイメージを示し、レベルの分け方やLLM の適切な調整方法などについて議論する。
[22-P] 統合言語クエリに対するインタープリタのステージ化
概要: 統合言語クエリ(Language-Integrated Query)はデータベースのクエリ言語を関数型言語などのホスト言語に加えた言語であり,SQL言語に比べて高レベルで柔軟なクエリ式を記述することができる. 本研究では,LINQの式の高速実行のために,LINQのインタープリタのステージ化を行う. Cheneyらは,LINQ式の高速実行のため,単一のSQL式へ変換する手法を提案したが,生成されるSQL式は巨大で複雑なものになりがちであり,生成されるSQL式がインメモリで実行される場合には最善の手法ではない. 本研究では,SQL式のインタープリタのステージ化を行い,この方式による性能を実験により評価した.
[23-P] コードクローン中のコードスメルに関する調査研究
概要: コードクローンとは,ソースコード中に存在する一致するまたは類似したコード片である.また,コードスメルとはソフトウェアに問題を引き起こす可能があるコード片のことである.本研究では何らかのコードスメルがあるコード片がコードクローンによって増加することを問題と考え,コードクローン中にあるコードスメルについて調査研究を行う.その方法としてソフトウェアの開発履歴も含めてコードクローンの分析が行えるCloneTrackerを用いて対象とするソフトウェアのコードクローンを検出する.加えて,ソフトウェアの静的解析ツールであるSonarQubeを利用してコードスメルを検出する.CloneTrackerが検出したコードクローンとSonarQubeが検出したコードスメルを利用してコードクローン中のコードスメルを抽出しその特徴を分析する.対象とするソフトウェアはGitHubにて公開されているオープンソースソフトウェアである.
[24-P] A Note on Efficient Engines for Regular Expressions with Backreferences
概要: 発表者による最近の結果[Uezato, ICALP 2024]から、正規表現に後方参照(Backreferences)と先読みの両方を追加した体系 REWBLk が、非決定性対数領域チューリング機械の受理する言語クラス NL と一致すること REWBLk = NL が分かっている。 また、この結果から、REWBLkに対する多項式時間実行可能エンジンを実装することができる。 一方で、証明に基づく素朴な実装では、巨大な文字列に対して現実的な時間での実行が難しいことが予測される。 そこで本発表では、REWBLkエンジンの最適化・効率化に先立ち、まずREWBLkの部分クラスであるREWB(正規表現+後方参照)に着目し、高速なREWBエンジンの実装に際して問題になる点について論じる。特に、REWBの中に、どれくらい所属性判定の難しい問題があるかについて考察し、現時点で得られている結果を述べる。