論文の概要: Compilation of Commit Changes within Java Source Code Repositories
- arxiv url: http://arxiv.org/abs/2407.17853v1
- Date: Thu, 25 Jul 2024 08:14:33 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-26 14:48:09.276057
- Title: Compilation of Commit Changes within Java Source Code Repositories
- Title(参考訳): Javaソースコードリポジトリにおけるコミット変更のコンパイル
- Authors: Stefan Schott, Wolfram Fischer, Serena Elisa Ponta, Jonas Klauke, Eric Bodden,
- Abstract要約: JESSは、コミットされた変更参照した部分のみを保持することで、コードを削減します。
JESSは、独立して72%のメソッドとコンストラクタをコンパイルできる。
Project KBの修正コミットデータベースでは、コミット内で修正されたファイルのわずか8%が、提供されるビルドスクリプトでコンパイルできるため、JESSは、コミットが修正した全ファイルの73%をコンパイルすることができる。
- 参考スコア(独自算出の注目度): 2.556190321164248
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Java applications include third-party dependencies as bytecode. To keep these applications secure, researchers have proposed tools to re-identify dependencies that contain known vulnerabilities. Yet, to allow such re-identification, one must obtain, for each vulnerability patch, the bytecode fixing the respective vulnerability at first. Such patches for dependencies are curated in databases in the form of fix-commits. But fixcommits are in source code, and automatically compiling whole Java projects to bytecode is notoriously hard, particularly for non-current versions of the code. In this paper, we thus propose JESS, an approach that largely avoids this problem by compiling solely the relevant code that was modified within a given commit. JESS reduces the code, retaining only those parts that the committed change references. To avoid name-resolution errors, JESS automatically infers stubs for references to entities that are unavailable to the compiler. A challenge is here that, to facilitate the above mentioned reidentification, JESS must seek to produce bytecode that is almost identical to the bytecode which one would obtain by a successful compilation of the full project. An evaluation on 347 GitHub projects shows that JESS is able to compile, in isolation, 72% of methods and constructors, of which 89% have bytecode equal to the original one. Furthermore, on the Project KB database of fix-commits, in which only 8% of files modified within the commits can be compiled with the provided build scripts, JESS is able to compile 73% of all files that these commits modify.
- Abstract(参考訳): Javaアプリケーションはバイトコードとしてサードパーティの依存関係を含む。
これらのアプリケーションをセキュアに保つために、既知の脆弱性を含む依存関係を再識別するツールが提案されている。
しかし、そのような再識別を可能にするためには、各脆弱性パッチに対して、最初に各脆弱性を修正するバイトコードを取得する必要がある。
このような依存関係のパッチは、修正コミットの形でデータベースでキュレートされる。
しかし、fixcommitsはソースコードにあり、Javaプロジェクト全体をバイトコードに自動的にコンパイルすることは、特に非現在のバージョンのコードでは、非常に難しい。
本稿では,あるコミット内で修正された関連するコードのみをコンパイルすることで,この問題を回避するアプローチであるJESSを提案する。
JESSは、コミットされた変更参照した部分のみを保持することで、コードを削減します。
名前解決エラーを避けるため、JESSはコンパイラで利用できないエンティティへの参照のスタブを自動的に推論する。
ここでの課題は、上記の再識別を促進するために、JESSは完全なプロジェクトのコンパイルを成功させることで得られるバイトコードとほとんど同じバイトコードを生成する必要があることである。
347のGitHubプロジェクトでの評価によると、JESSは独立して72%のメソッドとコンストラクタをコンパイルできる。
さらに、Project KBの修正コミットデータベースでは、コミット内で修正されたファイルのわずか8%が、提供されるビルドスクリプトでコンパイルできるため、JESSは、コミットが修正した全ファイルの73%をコンパイルすることができる。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models [123.66104233291065]
ジェイルブレイク攻撃は、大きな言語モデル(LLM)が有害、非倫理的、またはその他の不快なコンテンツを生成する原因となる。
これらの攻撃を評価することは、現在のベンチマークと評価テクニックの収集が適切に対処していない、多くの課題を提示します。
JailbreakBenchは、以下のコンポーネントを備えたオープンソースのベンチマークである。
論文 参考訳(メタデータ) (2024-03-28T02:44:02Z) - EasyJailbreak: A Unified Framework for Jailbreaking Large Language Models [53.87416566981008]
本稿では,大規模言語モデル(LLM)に対するジェイルブレイク攻撃の構築と評価を容易にする統合フレームワークであるEasyJailbreakを紹介する。
Selector、Mutator、Constraint、Evaluatorの4つのコンポーネントを使ってJailbreak攻撃を構築する。
10の異なるLSMで検証した結果、さまざまなジェイルブレイク攻撃で平均60%の侵入確率で重大な脆弱性が判明した。
論文 参考訳(メタデータ) (2024-03-18T18:39:53Z) - Java JIT Testing with Template Extraction [7.714591709931207]
LeJitは、Javaのジャスト・イン・タイム(JIT)コンパイラをテストするためのテンプレートベースのフレームワークである。
私たちは、さまざまな人気のあるJava JITコンパイラをテストするためにLeJitを成功させました。
論文 参考訳(メタデータ) (2024-03-17T17:39:27Z) - PPT4J: Patch Presence Test for Java Binaries [15.297767260561491]
近年,オープンソースソフトウェアに報告されている脆弱性の数は大幅に増加している。
対象のバイナリにパッチを適用するかどうかをテストする能力、すなわちパッチの存在テストは、実践者にとって不可欠である。
PPT4J(textbfP$atch $textbfP$resence $textbfT$est $textbffor$textbfJ$ava Binaries)という新しいパッチ存在テストフレームワークを提案する。
論文 参考訳(メタデータ) (2023-12-18T08:28:13Z) - PS$^3$: Precise Patch Presence Test based on Semantic Symbolic Signature [13.9637348151437]
既存のアプローチは主に、同じコンパイラオプションでコンパイルされるパッチの検出に重点を置いている。
PS3はシンボルエミュレーションを利用して、異なるコンパイラオプションの下で安定なシグネチャを抽出する。
PS3は精度、リコール、F1のスコアで0.82、0.97、0.89のスコアを得る。
論文 参考訳(メタデータ) (2023-12-06T10:04:15Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - On the Security Blind Spots of Software Composition Analysis [46.1389163921338]
Mavenリポジトリで脆弱性のあるクローンを検出するための新しいアプローチを提案する。
Maven Centralから53万以上の潜在的な脆弱性のあるクローンを検索します。
検出された727個の脆弱なクローンを検出し、それぞれに検証可能な脆弱性証明プロジェクトを合成する。
論文 参考訳(メタデータ) (2023-06-08T20:14:46Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Automatic Specialization of Third-Party Java Dependencies [3.7973152331947815]
大規模なコードの再利用は、開発コストと時間の両方を大幅に削減します。
ソフトウェアプロジェクトにおけるサードパーティのコードの大規模なシェアは、特にメンテナンスとセキュリティに関して、新たな課題を引き起こします。
そこで本研究では,Javaプロジェクトの実際の利用状況に基づいて,Javaプロジェクトの依存関係を専門化する新しい手法を提案する。
論文 参考訳(メタデータ) (2023-02-16T15:37:49Z) - Automated Mapping of Vulnerability Advisories onto their Fix Commits in
Open Source Repositories [7.629717457706326]
実践経験と機械学習(ML)を組み合わせたアプローチを提案する。
アドバイザリから脆弱性に関する鍵情報を含むアドバイザリレコードを抽出する。
影響を受けるプロジェクトのソースコードリポジトリから、候補となる修正コミットのサブセットを取得する。
論文 参考訳(メタデータ) (2021-03-24T17:50:35Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。