論文の概要: Automating Source Code Refactoring in the Classroom
- arxiv url: http://arxiv.org/abs/2311.10753v1
- Date: Sun, 5 Nov 2023 18:46:00 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-27 00:47:05.786724
- Title: Automating Source Code Refactoring in the Classroom
- Title(参考訳): 教室におけるソースコードリファクタリングの自動化
- Authors: Eman Abdullah AlOmar and Mohamed Wiem Mkaouer and Ali Ouni
- Abstract要約: 本稿では,アンチパターン検出と修正をサポートするEclipseプラグインであるJandanrantを用いて,アンチパターンの除去を目的とした各種教室活動の実施に関する実験結果について述べる。
171人の学生による定量的・質的分析の結果、学生は学習の考え方を高く評価し、JDeodorantプラグインの動作の様々な側面に満足していることが示された。
- 参考スコア(独自算出の注目度): 15.194527511076725
- License: http://creativecommons.org/publicdomain/zero/1.0/
- Abstract: Refactoring is the practice of improving software quality without altering
its external behavior. Developers intuitively refactor their code for multiple
purposes, such as improving program comprehension, reducing code complexity,
dealing with technical debt, and removing code smells. However, no prior
studies have exposed the students to an experience of the process of
antipatterns detection and refactoring correction, and provided students with
toolset to practice it. To understand and increase the awareness of refactoring
concepts, in this paper, we aim to reflect on our experience with teaching
refactoring and how it helps students become more aware of bad programming
practices and the importance of correcting them via refactoring. This paper
discusses the results of an experiment in the classroom that involved carrying
out various refactoring activities for the purpose of removing antipatterns
using JDeodorant, an Eclipse plugin that supports antipatterns detection and
refactoring. The results of the quantitative and qualitative analysis with 171
students show that students tend to appreciate the idea of learning refactoring
and are satisfied with various aspects of the JDeodorant plugin's operation.
Through this experiment, refactoring can turn into a vital part of the
computing educational plan. We envision our findings enabling educators to
support students with refactoring tools tuned towards safer and trustworthy
refactoring.
- Abstract(参考訳): リファクタリングは、ソフトウェア品質を外部の振る舞いを変えることなく改善するプラクティスである。
開発者は直感的に、プログラムの理解を改善し、コードの複雑さを減らし、技術的負債に対処し、コードの臭いを取り除くなど、複数の目的のためにコードをリファクタリングする。
しかし、アンチパターンの検出とリファクタリングのプロセスの経験を学生に公開し、実践するためのツールセットを学生に提供する以前の研究はない。
本稿では,リファクタリング概念の認識を高めるために,リファクタリング教育の経験と,悪いプログラミング実践に対する学生の認識の向上,リファクタリングによる修正の重要性について考察する。
本稿では,アンチパターン検出とリファクタリングをサポートするEclipseプラグインであるJDeodorantを用いて,アンチパターンの除去を目的とした様々なリファクタリング活動を教室で実施する実験の結果について述べる。
171人の学生による定量的・質的分析の結果, 学生はリファクタリングの考え方を高く評価し, JDeodorant プラグインの動作の様々な側面に満足する傾向にあることがわかった。
この実験を通じて、リファクタリングはコンピューティング教育計画の重要な部分になる可能性がある。
より安全で信頼性の高いリファクタリングを目標としたリファクタリングツールを学生に提供可能な,教育者支援の成果を期待する。
関連論文リスト
- ReGAL: Refactoring Programs to Discover Generalizable Abstractions [66.37493420911979]
Generalizable Abstraction Learning (ReGAL)は、コードカプセル化によって再利用可能な関数のライブラリを学ぶ方法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはグラフィックスで11.5%、日付理解で26.1%、MinecraftベースのテキストゲームであるTextCraftで8.1%という絶対的な精度向上を実現している。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When
Teaching Code Refactoring [2.021502591596062]
学生はまず、コードの臭いを発生させるためにプログラミング演習を完了しなければなりません。
この単純な介入は、学生がコードに精通している場合、学習が簡単であるという考えに基づいている。
本研究は,35人の初等生を対象に,従来の「ミステイク」アプローチと「ミステイク」アプローチを交互に指導し,様々な演習を修了した。
論文 参考訳(メタデータ) (2024-01-02T03:39:19Z) - Empirical Evaluation of a Live Environment for Extract Method
Refactoring [0.0]
我々は,抽出手法を視覚的に識別し,推奨し,適用するLive Refactoring Environmentを開発した。
私たちの結果は、追加の助けなしに手作業で行うコードとは大きく異なり、改善されました。
論文 参考訳(メタデータ) (2023-07-20T16:36:02Z) - Predicting the Impact of Batch Refactoring Code Smells on Application
Resource Consumption [3.5557219875516646]
本稿では,ソフトウェアコードの臭いのバッチと資源消費の関係について検討する。
次に、コードの臭いがリソース消費に与える影響を予測するアルゴリズムを設計することを目的とする。
論文 参考訳(メタデータ) (2023-06-27T19:28:05Z) - State of Refactoring Adoption: Better Understanding Developer Perception
of Refactoring [5.516979718589074]
ソフトウェアライフサイクルにおける開発者の活動の文書化方法について検討する。
このようなアクティビティを自己確認リファクタリング(Self-Affirmed Refactoring, SAR)と呼びます。
本稿では,コミットが開発者関連のイベントを記述しているかどうかを,共通品質改善カテゴリに従って分類するアプローチを提案する。
論文 参考訳(メタデータ) (2023-06-09T16:38:20Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - CRITIC: Large Language Models Can Self-Correct with Tool-Interactive
Critiquing [139.77117915309023]
CRITICは、大規模な言語モデルに対して、ツールとのヒューマンインタラクションに似た方法で、自分たちのアウトプットの検証と修正を可能にする。
自由形式の質問応答、数学的プログラム合成、毒性低減を含む包括的評価は、CRITICがLLMの性能を一貫して向上することを証明している。
論文 参考訳(メタデータ) (2023-05-19T15:19:44Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
本稿では,フィードバックを数発の分類として提供するという課題について考察する。
メタラーナーは、インストラクターによるいくつかの例から、新しいプログラミング質問に関する学生のコードにフィードバックを与えるように適応します。
本手法は,第1段階の大学が提供したプログラムコースにおいて,16,000名の学生試験ソリューションに対するフィードバックの提供に成功している。
論文 参考訳(メタデータ) (2021-07-23T22:41:28Z) - How We Refactor and How We Document it? On the Use of Supervised Machine
Learning Algorithms to Classify Refactoring Documentation [25.626914797750487]
リファクタリングは、外部の振る舞いを変えることなく、システムの設計を改善する技術である。
この研究はコミットを、従来のBugFixやFunctionalのカテゴリとともに、内部QA、外部QA、Code Smell Resolutionの3つのカテゴリに分類する。
分類結果をよりよく理解するために、私たちはコミットメッセージを分析して、開発者が定期的に臭いを説明するために使用するパターンを抽出しました。
論文 参考訳(メタデータ) (2020-10-26T20:33:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。