論文の概要: Early Career Developers' Perceptions of Code Understandability. A Study of Complexity Metrics
- arxiv url: http://arxiv.org/abs/2303.07722v2
- Date: Mon, 15 Jul 2024 14:27:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-17 05:28:16.744214
- Title: Early Career Developers' Perceptions of Code Understandability. A Study of Complexity Metrics
- Title(参考訳): コード理解可能性の早期開発者認識 : 複雑度尺度の検討
- Authors: Matteo Esposito, Andrea Janes, Terhi Kilamo, Valentina Lenarduzzi,
- Abstract要約: 低理解力はコーディングの労力を増大させ、コードの誤解釈は開発プロセス全体に影響を与えます。
私たちの研究は、McKabe Cyclomatic ComplexityやCognitive Complexityが、開発者が認識するコード理解可能性の予測に有効かどうかを調査します。
- 参考スコア(独自算出の注目度): 7.5060856723794975
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Context. Code understandability is fundamental. Developers need to understand the code they are modifying clearly. A low understandability can increase the amount of coding effort, and misinterpreting code impacts the entire development process. Ideally, developers should write clear and understandable code with the least effort. Aim. Our work investigates whether the McCabe Cyclomatic Complexity or the Cognitive Complexity can be a good predictor for the developers' perceived code understandability to understand which of the two complexities can be used as criteria to evaluate if a piece of code is understandable. Method. We designed and conducted an empirical study among 216 early career developers with professional experience ranging from one to four years. We asked them to manually inspect and rate the understandability of 12 Java classes that exhibit different levels of Cyclomatic and Cognitive Complexity. Results. Our findings showed that while the old-fashioned McCabe Cyclomatic Complexity and the most recent Cognitive Complexity are modest predictors for code understandability when considering the complexity perceived by early-career developers, they are not for problem severity. Conclusions. Based on our results, early-career developers should not be left alone when performing code-reviewing tasks due to their scarce experience. Moreover, low complexity measures indicate good understandability, but having either CoC or CyC high makes understandability unpredictable. Nevertheless, there is no evidence that CyC or CoC are indicators of early-career perceived severity.Future research efforts will focus on expanding the population to experienced developers to confront whether seniority influences the predictive power of the chosen metrics.
- Abstract(参考訳): コンテキスト。
コードの理解性が基本です。
開発者は、修正対象のコードを明確に理解する必要がある。
低理解力はコーディングの労力を増大させ、コードの誤解釈は開発プロセス全体に影響を与えます。
理想的には、開発者は最小限の努力で明確で理解可能なコードを書くべきです。
エイム。
私たちの研究は、McKabe Cyclomatic ComplexityとCognitive Complexityが、開発者が認識するコードを理解する上で、コードの一部が理解できるかどうかを評価する基準として、どちらの複雑さが使えるかを理解するのに良い予測因子になるかどうかを調査します。
方法。
1年から4年にわたる専門的経験を持つ216人の早期キャリア開発者を対象に,実証的研究を設計・実施した。
循環的および認知的複雑さの異なるレベルを示す12のJavaクラスの理解性を手動で検査し、評価するように頼みました。
結果。
従来のMcAbe Cyclomatic Complexityと最新のCognitive Complexityは、アーリーケア開発者によって認識される複雑さを考えると、コードの理解可能性に対する控えめな予測因子であるにもかかわらず、問題は深刻ではない。
結論。
私たちの結果に基づいて、アーリーケア開発者は、経験不足のため、コードレビュータスクを実行する際には、一人にすべきではありません。
さらに、複雑さの低い尺度は、良好な理解可能性を示すが、CoCかCyCが高いかは、理解可能性を予測することができない。
いずれにせよ、CyCやCoCが早期介護者の重症度認識の指標であることを示す証拠はないが、将来の研究は、高齢者が選択した指標の予測力に影響を与えるかどうかに直面するために、経験者への人口拡大に焦点を当てる。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Assessing Consensus of Developers' Views on Code Readability [3.798885293742468]
開発者はコードレビューに多くの時間を費やし、コード理解におけるコード可読性の重要性を強調している。
以前の調査では、既存のコード可読性モデルは開発者の考えを表現する上で不正確であった。
同じようなコーディング経験を持つ10人のJava開発者を調査して、コード可読性評価と関連する側面について、彼らのコンセンサスを評価しました。
論文 参考訳(メタデータ) (2024-07-04T09:54:42Z) - How Far Have We Gone in Binary Code Understanding Using Large Language Models [51.527805834378974]
バイナリコード理解におけるLarge Language Models(LLM)の有効性を評価するためのベンチマークを提案する。
評価の結果、既存のLLMはバイナリコードをある程度理解でき、それによってバイナリコード解析の効率が向上することが明らかとなった。
論文 参考訳(メタデータ) (2024-04-15T14:44:08Z) - Source Code Comprehension: A Contemporary Definition and Conceptual
Model for Empirical Investigation [5.139874302398955]
研究コミュニティはソースコードの理解を概念として定義できていない。
タスクによる暗黙的な定義が一般的であり、つまり、コード理解は実験的なタスクが測るものである。
本稿では,ソースコードの理解を定義し,概念的枠組みを提示する参照作業を構成する。
論文 参考訳(メタデータ) (2023-10-17T14:23:46Z) - When Do Program-of-Thoughts Work for Reasoning? [51.2699797837818]
本稿では,コードと推論能力の相関性を測定するために,複雑性に富んだ推論スコア(CIRS)を提案する。
具体的には、抽象構文木を用いて構造情報をエンコードし、論理的複雑性を計算する。
コードはhttps://github.com/zjunlp/EasyInstructのEasyInstructフレームワークに統合される。
論文 参考訳(メタデータ) (2023-08-29T17:22:39Z) - Investigating the Impact of Vocabulary Difficulty and Code Naturalness
on Program Comprehension [3.35803394416914]
本研究の目的は,言語習得の観点から可読性と可読性を評価することである。
我々は,それらの相関関係を理解するために統計的解析を行い,可読性および可読性予測法の性能向上にコード自然性および語彙難易度を用いることができるか分析する。
論文 参考訳(メタデータ) (2023-08-25T15:15:00Z) - Generation Probabilities Are Not Enough: Uncertainty Highlighting in AI Code Completions [54.55334589363247]
本研究では,不確実性に関する情報を伝達することで,プログラマがより迅速かつ正確にコードを生成することができるかどうかを検討する。
トークンのハイライトは、編集される可能性が最も高いので、タスクの完了が早くなり、よりターゲットを絞った編集が可能になることがわかりました。
論文 参考訳(メタデータ) (2023-02-14T18:43:34Z) - HALMA: Humanlike Abstraction Learning Meets Affordance in Rapid Problem
Solving [104.79156980475686]
人間は自然主義的タスクの構造に応じて構成的および因果的抽象化、つまり知識を学ぶ。
エージェントがその知識をどのように表現するかには、知覚、概念、アルゴリズムの3段階の一般化がある、と我々は主張する。
このベンチマークは、ビジュアルコンセプト開発と迅速な問題解決のための新しいタスクドメイン、HALMAを中心にしています。
論文 参考訳(メタデータ) (2021-02-22T20:37:01Z) - COSEA: Convolutional Code Search with Layer-wise Attention [90.35777733464354]
我々は、畳み込みニューラルネットワークを階層的注意で活用し、コード固有の構造論理をキャプチャする新しいディープラーニングアーキテクチャ、COSEAを提案する。
COSEAは、コード検索タスクの最先端メソッドよりも大幅に改善できる。
論文 参考訳(メタデータ) (2020-10-19T13:53:38Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。