PurCL/ASE

A continuously updated collection of papers on agentic SE

ASE(エージェント型ソフトウェアエンジニアリング)— プロジェクト説明

概要

ASEは、エージェント型ソフトウェアエンジニアリングに関する1,663件の研究論文を厳選したコレクションです。つまり、AIエージェント/大規模言語モデル(LLM)を使用してソフトウェアエンジニアリングタスクを実行することです。論文は、ソフトウェアエンジニアリング、プログラミング言語、セキュリティ、NLPの主要会議から集められています。このプロジェクトには、自動論文ラベリングスキルも含まれています。これは、Claude Code上に構築されたパイプラインで、生の会議録ファイル(BibTeXまたはHTML形式)を読み取り、関連する論文を選び出し、トピックごとに分類し、データベースにマージします。手動の労力はほとんどかかりません。

データベース/ウェブサイト

論文はウェブサイト(ローカルでweb/index.htmlを開くか、オンラインで閲覧)で閲覧できます。インターフェースは以下をサポートしています:

  • タイトルと要旨にわたる全文検索
  • 年と会議のフィルター — 独立した単一選択ドロップダウン。会議名は正規化されています(例:「ICSE」はすべてのICSE年と一致)
  • ラベルフィルター — サイドバーまたは論文カードのラベルピルをクリックして1つ以上の研究トピックを選択。複数のラベルはANDロジックで結合
  • 展開可能な要旨 — 任意の論文カードをクリックして要旨を表示
  • アクティブフィルターの概要 — 各アクティブな制約はツールバーの下に削除可能なタグとして表示

すべてのフィルター次元(年、会議、ラベル)はオプションで、ANDロジックで結合されます。アクティブな制約をすべて満たす論文のみが表示されます。

範囲と追跡対象会議

論文は、2023〜2026年に公開されたすべての会議録から体系的に収集され、さらに初期の年(2020〜2022年)や他の会議からの選定論文もベストエフォートで収集されます。

分野別の追跡会議:

  • ソフトウェアエンジニアリング:ICSE(2023-2025)、FSE(2023-2025)、ASE(2023-2025)、ISSTA(2022-2025)、TSE(2023-2024)、TOSEM(2023-2024)
  • プログラミング言語:PLDI(2023, 2025)、OOPSLA(2023-2025)、POPL(2025)、CC(2025)、COLM(2025)
  • セキュリティ:S&P(2023-2025)、USENIX Security(2023-2025)、CCS(2023-2025)、NDSS(2024-2026)、RAID(2023)
  • NLP:ACL(2023-2025)、EMNLP(2020, 2023-2025)、NAACL(2024-2025)
  • 機械学習:ICML(2021, 2023-2025)、NeurIPS(2022-2024)、ICLR(2021, 2023-2025)

2023〜2026年の会議別発表数(READMEの表に示されている通り):

  • ソフトウェアエンジニアリング(表から):ICSE 166、FSE 130、ASE 292、ISSTA 98 → 合計686
  • プログラミング言語(表から):PLDI 6、OOPSLA 34、POPL 1 → 合計41
  • セキュリティ(表から):CCS 47、USENIXSec 41、S&P 22、NDSS 55 → 合計165(NDSSの2026年データを含む)
  • NLP(表から):ACL 294、EMNLP 250、NAACL 22 → 合計566
  • (機械学習の数はREADMEの表形式で内訳が示されていません)

論文の整理方法(分類法)

論文は2レベルの分類法で分類されます:9つのトップレベルカテゴリと47のサブカテゴリ。1つの論文に複数のラベルを付けることができます。分類法には3つのスーパーグループがあります:

1. SEのためのエージェント — LLMまたはAIエージェントがコアソフトウェアエンジニアリングタスクに適用される論文:

  • コード生成(750件) — サブカテゴリにはプログラム合成(410)、プログラム修復(223)、コード翻訳(69)、コード補完(68)、リファクタリング(37)、逆コンパイル(23)
  • 静的解析(446件) — サブカテゴリにはバグ検出(249)、コード要約(67)、コード検索(51)、プログラム検証(44)など
  • 動的解析(287件) — サブカテゴリにはテストケース生成(118)、ファジング(58)、ドメイン固有テスト(56)、デバッグ(40)など
  • コードモデル(427件) — モデルトレーニング(407)、バイナリおよびIRモデル(35)
  • その他のSEタスク(96件) — ドキュメント/コメント/コミットメッセージ生成(35)、ログ分析(34)、コードレビュー(29)

2. エージェントの設計と分析 — エージェントアーキテクチャとコード指向LLMの安全性/セキュリティに関する研究:

  • エージェント設計(328件) — プランニング(206)、ツール使用(156)、マルチエージェント(96)、メモリ管理(30)
  • モデルの安全性とセキュリティ(267件) — 敵対的攻撃(85)、ジェイルブレイク(66)、安全なコード生成(65)、記憶(40)、バックドア検出(36)、透かし(35)
  • エージェントの安全性とセキュリティ(97件) — プロンプトインジェクション(73)、エージェント防御(36)、アクセス制御(12)

3. 評価 — コードに対するLLM/エージェントの能力を評価するベンチマーク、実証研究、調査:

  • 評価(914件) — 実証研究(620)、ベンチマーク(392)、調査(26)

論文の選定方法(4段階パイプライン)

各会議の会議録は以下を通じて処理されます:

  1. 抽出 — BibTeXまたはHTMLファイルからタイトルと要旨を解析
  2. フィルタリング — タイトルまたは要旨にLLM関連用語(例:「large language model」、「GPT」、「agent」)とコード関連用語(例:「program」、「software」、「testing」、「verification」)の両方を含む論文を保持。このキーワードパスは意図的に寛容(高再現率)
  3. 分類 — 各候補をClaude APIに送信し、関連性を検証して分類法ラベルを割り当て。LLMまたはAIエージェントが中心的な貢献である場合のみ論文を含め、単なるベースラインや比較ではない
  4. マージ — 分類された論文を正規データベース(data/labeldata/labeldata.json)に追加し、ウェブサイトを再生成

自動論文ラベリングスキル

すべてのスクリプトは.claude/skills/paper-labeler/scripts/にあります。

前提条件:pip install boto3 requests(boto3はAWS Bedrock経由のClaude API用、requestsはNDSSスクレイピング用)。ラベリングステップにはAWS認証情報が必要です。フィルタリングのみのステップには不要です。

オプションA — バッチモード(推奨):rawdataフォルダをスキャンし、data/venues.jsonに既に記録されている会議をスキップし、各新会議に対して完全なパイプラインを実行し、ウェブサイトを再構築します。例:

  • python process_folder.py --dry-run — 処理される内容をプレビュー
  • python process_folder.py — data/rawdata/下のすべての新会議を処理
  • python process_folder.py data/rawdata/2025/ — 特定の年のみ処理
  • python process_folder.py --filter-only — キーワードフィルタのみ、API呼び出しなし、マージなし
  • 主要オプション:--model、--region、--delay SECONDS、--no-rebuild

オプションB — 手動の会議別パイプライン(より細かい制御用):

  1. 抽出 — extract_papers.pyはBibTeX(ほとんどの会議)またはACL Anthology HTMLを読み取ります。NDSS HTMLにはタイトルのみが含まれるため、要旨はfetch_ndss_abstracts.pyで個別に取得します
  2. フィルタリングとラベリング — label_papers.pyを--phase filter(認証情報不要)、--phase label(AWS認証情報が必要)、または--phase allで実行
  3. マージ — merge_labeldata.py(--dry-runで書き込みなしのプレビューをサポート)
  4. ウェブサイト再構築 — build_site.py → web/index.htmlを出力

Claude Code経由の使用:パイプラインは会話的に呼び出すことができます。例:「ASE2025のrawdataを処理」、「data/rawdata/2025/CCS2025.bibの論文をラベル付け」、「ウェブサイトを再構築」— Claude Codeが自動的にスキルを呼び出し、正しいコマンドを実行します。

サポートされる入力形式:BibTeX(.bib)はほとんどの会議で要旨がインライン;ACL Anthology HTML(.html)はACL、EMNLP、一部のNAACL年;NDSS HTML(.html)は要旨を個別にスクレイピング。

スクリプトリファレンス:process_folder.py(バッチモード)、extract_papers.py(ステップ1)、fetch_ndss_abstracts.py(ステップ1b)、label_papers.py(ステップ2)、merge_labeldata.py(ステップ3)、build_site.py(ステップ4)、import_original.py(レガシー論文の一度きりのインポート)。

貢献

  • 個別の論文を追加:data/labeldata/labeldata.jsonにエントリを追加(フィールドにはタイトル、著者、年、要旨、URL、会議、ラベルが含まれます)、ラベルが分類法から来ていることを確認し、ウェブサイトを再構築し、プルリクエストを開きます。
  • 新しい会議を追加:.bibまたは.htmlファイルをdata/rawdata/<year>/に配置し、バッチパイプラインを実行し、rawdataファイルと更新されたlabeldata.jsonを含むプルリクエストを開きます。
  • 欠落した論文を報告:会議名と会議録へのリンクを含む問題を開きます。特定の論文とラベルを提案することもできます。

分類法の拡張

同じ会議にわたって異なる研究トピックを追跡するには、.claude/skills/paper-labeler/SKILL.mdの2つのセクションを編集します:

  • ## Relevance Criteria — キーワードリストと、Claudeが関連性を判断するために使用する自然言語プロンプト
  • ## Label Taxonomy — 2レベルのカテゴリ階層。編集後、build_site.pyとlabel_papers.pyのTAXONOMY辞書を同期させてください

その後、既存のrawdataに対してパイプラインを再実行し、更新された分類法で論文を再分類します。

注意事項/免責事項

このリポジトリは研究目的のみを意図しています。すべてのメタデータは、ACM、IEEE、および対応する会議ウェブサイトで公開されている会議録ページから取得されています。全文PDFは含まれておらず、再配布もされません。

連絡先:stephenw.wangcp@gmail.com または wang6590@purdue.edu。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト