論文の概要: Learning from Mistakes: Understanding Ad-hoc Logs through Analyzing Accidental Commits
- arxiv url: http://arxiv.org/abs/2501.09892v1
- Date: Fri, 17 Jan 2025 00:42:33 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-20 14:00:26.152519
- Title: Learning from Mistakes: Understanding Ad-hoc Logs through Analyzing Accidental Commits
- Title(参考訳): 間違いから学ぶ:アクシデンタルコミュニティの分析によるアドホックログの理解
- Authors: Yi-Hung Chou, Yiyang Min, April Yi Wang, James A. Jones,
- Abstract要約: アドホックログ(ad-hoc logs)”の使用方法について,開発者のプラクティスを研究する文献はほとんどない。
我々は、ライブストリーミングされたコーディングビデオを見て分析することで、このような開発者ロギングの実践について研究する。
私たちは、GitHub ArchiveリポジトリからJavaScriptの548,880のアドホックログを削除した27GBの偶発的なコミットを収集しました。
- 参考スコア(独自算出の注目度): 5.719609621039864
- License:
- Abstract: Developers often insert temporary "print" or "log" instructions into their code to help them better understand runtime behavior, usually when the code is not behaving as they expected. Despite the fact that such monitoring instructions, or "ad-hoc logs," are so commonly used by developers, there is almost no existing literature that studies developers' practices in how they use them. This paucity of knowledge of the use of these ephemeral logs may be largely due to the fact that they typically only exist in the developers' local environments and are removed before they commit their code to their revision control system. In this work, we overcome this challenge by observing that developers occasionally mistakenly forget to remove such instructions before committing, and then they remove them shortly later. Additionally, we further study such developer logging practices by watching and analyzing live-streamed coding videos. Through these empirical approaches, we study where, how, and why developers use ad-hoc logs to better understand their code and its execution. We collect 27 GB of accidental commits that removed 548,880 ad-hoc logs in JavaScript from GitHub Archive repositories to provide the first large-scale dataset and empirical studies on ad-hoc logging practices. Our results reveal several illuminating findings, including a particular propensity for developers to use ad-hoc logs in asynchronous and callback functions. Our findings provide both empirical evidence and a valuable dataset for researchers and tool developers seeking to enhance ad-hoc logging practices, and potentially deepen our understanding of developers' practices towards understanding of software's runtime behaviors.
- Abstract(参考訳): 開発者はしばしば、コードに一時的な"print"または"log"命令を挿入して、通常、コードが期待通りに振る舞わない場合に、実行時の振る舞いをよりよく理解するのに役立つ。
このような監視命令や"アドホックログ"が、開発者によって一般的に使用されているという事実にもかかわらず、開発者による使用方法の実践を研究する文献は、ほとんどありません。
この短命ログの使用に関する知識の多さは、多くの場合、開発者のローカル環境にのみ存在し、リビジョン管理システムにコードをコミットする前に取り除かれるという事実によるものである。
この作業では、開発者がコミットする前に誤ってそのような命令を削除することを忘れ、その後すぐに削除することを観察することで、この課題を克服します。
さらに、ライブストリーミングされたコーディングビデオを見て分析することで、このような開発者のロギングの実践をさらに研究する。
これらの経験的なアプローチを通じて、開発者がコードとその実行をよりよく理解するためにアドホックなログを使用する場所、方法、理由を研究します。
私たちは、GitHub ArchiveリポジトリからJavaScriptの548,880のアドホックログを削除した27GBの偶発的なコミットを収集し、アドホックロギングプラクティスに関する最初の大規模なデータセットと実証的研究を提供します。
この結果から,非同期およびコールバック関数でアドホックログを使用する開発者が,特に適切であることを示す。
私たちの発見は、アドホックなロギングプラクティスを強化し、ソフトウェアランタイムの振る舞いを理解するための開発者のプラクティスに対する理解を深めようとしている研究者やツール開発者にとって、実証的な証拠と貴重なデータセットの両方を提供します。
関連論文リスト
- LogLLM: Log-based Anomaly Detection Using Large Language Models [8.03646578793411]
大規模言語モデル(LLM)を活用するログベースの異常検出フレームワークであるLogLLMを提案する。
LogLLMはBERTを使用してログメッセージからセマンティックベクターを抽出し、変換器デコーダベースのモデルであるLlamaを使ってログシーケンスを分類する。
我々のフレームワークは、性能と適応性を高めるために設計された新しい3段階の手順によって訓練されている。
論文 参考訳(メタデータ) (2024-11-13T12:18:00Z) - Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - Drop it All or Pick it Up? How Developers Responded to the Log4JShell Vulnerability [5.164262886682181]
われわれはLog4JShellの多種多様でおそらくその1つを探っている。
私たちの調査では、開発者は5日から6日間の迅速なレスポンスを示しています。
すべてを廃止する代わりに、驚くほど開発者の活動は、待ち望まれているすべての問題やPRに対して増加する傾向があります。
論文 参考訳(メタデータ) (2024-07-05T05:33:10Z) - Collaborative, Code-Proximal Dynamic Software Visualization within Code
Editors [55.57032418885258]
本稿では,コードエディタに組み込むソフトウェアビジュアライゼーション手法の設計と実装について紹介する。
私たちのコントリビューションは、ソフトウェアシステムの実行時の動作の動的解析を使用するという点で、関連する作業と異なります。
私たちの視覚化アプローチは、一般的なリモートペアプログラミングツールを強化し、共有コード都市を利用することで協調的に使用できます。
論文 参考訳(メタデータ) (2023-08-30T06:35:40Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - Data-Driven Approach for Log Instruction Quality Assessment [59.04636530383049]
優れた品質特性を持つログ命令の記述方法に関するガイドラインは,広く採用されていない。
1)ログレベルの正確さを評価するための正しいログレベルの割り当てと,2)イベント記述の冗長化に必要な静的テキストの最小富度を評価する十分な言語構造である。
本手法は,F1スコア0.99の十分な言語構造を用いて,ログレベルの割当を精度0.88で正確に評価する。
論文 参考訳(メタデータ) (2022-04-06T07:02:23Z) - Leveraging Code Clones and Natural Language Processing for Log Statement
Prediction [0.0]
本研究の目的は、ソースコードクローンと自然言語処理(NLP)を利用してログステートメントを予測することである。
本研究は,ログの自動位置検出と記述予測におけるログ認識型クローン検出の有効性を示す。
論文 参考訳(メタデータ) (2021-09-08T18:17:45Z) - Assessing Validity of Static Analysis Warnings using Ensemble Learning [4.05739885420409]
静的分析(SA)ツールは、コードの潜在的な弱点を特定し、事前に修正するために使われ、コードが開発中である。
これらのルールベースの静的解析ツールは一般的に、実際のものとともに多くの誤った警告を報告します。
機械学習(ML)ベースの学習プロセスを提案し、ソースコード、履歴コミットデータ、および分類器アンサンブルを使用してTrue警告を優先します。
論文 参考訳(メタデータ) (2021-04-21T19:39:20Z) - Self-Supervised Log Parsing [59.04636530383049]
大規模ソフトウェアシステムは、大量の半構造化ログレコードを生成する。
既存のアプローチは、ログ特化や手動ルール抽出に依存している。
本稿では,自己教師付き学習モデルを用いて解析タスクをマスク言語モデリングとして定式化するNuLogを提案する。
論文 参考訳(メタデータ) (2020-03-17T19:25:25Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。