論文の概要: Serializing Java Objects in Plain Code
- arxiv url: http://arxiv.org/abs/2405.11294v1
- Date: Sat, 18 May 2024 13:40:36 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-21 18:28:33.478137
- Title: Serializing Java Objects in Plain Code
- Title(参考訳): プレーンコードでJavaオブジェクトをシリアライズする
- Authors: Julian Wachter, Deepika Tiwari, Martin Monperrus, Benoit Baudry,
- Abstract要約: マネージド言語では、オブジェクトのシリアライズは通常、Protobufのようなbespokeバイナリフォーマットで行われる。
人間開発者はバイナリコードを読めず、ほとんどの場合、顕著なXMLや可読性制限に悩まされます。
これは、オブジェクトがテストケースのようなソースコードに埋め込まれて読み込まれるように意図された場合の大きな問題である。
私たちの中核的な考え方は、プログラミング言語のネイティブな構文で実行時に観察されるオブジェクトをシリアライズすることです。
- 参考スコア(独自算出の注目度): 10.405775369526006
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In managed languages, serialization of objects is typically done in bespoke binary formats such as Protobuf, or markup languages such as XML or JSON. The major limitation of these formats is readability. Human developers cannot read binary code, and in most cases, suffer from the syntax of XML or JSON. This is a major issue when objects are meant to be embedded and read in source code, such as in test cases. To address this problem, we propose plain-code serialization. Our core idea is to serialize objects observed at runtime in the native syntax of a programming language. We realize this vision in the context of Java, and demonstrate a prototype which serializes Java objects to Java source code. The resulting source faithfully reconstructs the objects seen at runtime. Our prototype is called ProDJ and is publicly available. We experiment with ProDJ to successfully plain-code serialize 174,699 objects observed during the execution of 4 open-source Java applications. Our performance measurement shows that the performance impact is not noticeable.
- Abstract(参考訳): マネージド言語では、オブジェクトのシリアライズは通常、ProtobufのようなbespokeバイナリフォーマットやXMLやJSONのようなマークアップ言語で行われます。
これらのフォーマットの最大の制限は可読性である。
人間開発者はバイナリコードを読めず、ほとんどの場合、XMLやJSONの構文に悩まされる。
これは、オブジェクトがテストケースのようなソースコードに埋め込まれて読み込まれるように意図された場合の大きな問題である。
この問題に対処するため、我々はプレーンコードシリアライズを提案する。
私たちの中核的な考え方は、実行時に観察されたオブジェクトをプログラミング言語のネイティブ構文でシリアライズすることです。
このビジョンをJavaのコンテキストで実現し,JavaオブジェクトをJavaソースコードにシリアライズするプロトタイプを実演する。
その結果、ソースは実行時に見るオブジェクトを忠実に再構築する。
プロトタイプはProDJと呼ばれ、公開されています。
我々はProDJを用いて、4つのオープンソースJavaアプリケーション実行中に観測された174,699個のオブジェクトをプレーンコードでシリアライズする実験を行った。
性能測定の結果, 性能への影響は明らかでない。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - On the Generalizability of Deep Learning-based Code Completion Across Programming Language Versions [12.245958803682505]
コード補完は統合開発環境(IDE)の重要な特徴である
現代のコード補完アプローチは、しばしばディープラーニング(DL)モデルによって利用される。
これらのモデルは、異なる言語バージョンにまたがって一般化できますか?
論文 参考訳(メタデータ) (2024-03-22T12:05:18Z) - Java JIT Testing with Template Extraction [7.714591709931207]
LeJitは、Javaのジャスト・イン・タイム(JIT)コンパイラをテストするためのテンプレートベースのフレームワークである。
私たちは、さまざまな人気のあるJava JITコンパイラをテストするためにLeJitを成功させました。
論文 参考訳(メタデータ) (2024-03-17T17:39:27Z) - Seneca: Taint-Based Call Graph Construction for Java Object Deserialization [3.6731536660959985]
コールグラフ構築における音質改善によるシリアライズ処理手法であるSeecaを提案する。
我々は,信頼できないオブジェクトデシリアライズ脆弱性の検出において,音質,精度,性能,有用性に関して,我々のアプローチを評価する。
論文 参考訳(メタデータ) (2023-11-02T02:07:54Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - CodeBERTScore: Evaluating Code Generation with Pretrained Models of Code [75.08995072899594]
コード生成のための評価指標であるCodeBERTScoreを提案する。
CodeBERTScoreは生成されたコードの前に入力された自然言語をエンコードする。
CodeBERTScoreは、既存のすべての指標よりも、人間の嗜好と機能的正しさとの相関性が高いことがわかった。
論文 参考訳(メタデータ) (2023-02-10T22:12:05Z) - CERT: Continual Pre-Training on Sketches for Library-Oriented Code
Generation [46.45445767488915]
ライブラリ指向コード生成のモデルをトレーニングするために,未実装のコードコーパスを活用する方法を示す。
PandasEvalとNumpyEvalという2つのベンチマークを作成し、ライブラリ指向のコード生成を評価します。
論文 参考訳(メタデータ) (2022-06-14T14:44:34Z) - SAT-Based Extraction of Behavioural Models for Java Libraries with
Collections [0.087024326813104]
振る舞いモデルは、ソフトウェア検証、テスト、監視、公開などのための貴重なツールです。
ソフトウェア開発者によって提供されることはめったになく、ソースまたはコンパイルされたコードから抽出されなければならない。
これらのアプローチのほとんどは、コンパイルされたバイトコードの分析に依存します。
我々はJavaソースコードから有限状態マシン(FSM)の形式で振る舞いモデルを取り出して、取得したFSMがソフトウェア開発者によって容易に理解できるようにしたいと思っています。
論文 参考訳(メタデータ) (2022-05-30T17:27:13Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - TopicModel4J: A Java Package for Topic Models [2.519906683279153]
トピックモデルに適合する13種類の代表アルゴリズムを含むJavaパッケージであるTopicModel4Jを設計および実装する。
このパッケージは、データアナリストがアルゴリズムを実行するための使いやすいインターフェースを提供し、データの入力と出力を容易にする。
論文 参考訳(メタデータ) (2020-10-28T02:33:41Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。