論文の概要: Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When
Teaching Code Refactoring
- arxiv url: http://arxiv.org/abs/2401.01011v1
- Date: Tue, 2 Jan 2024 03:39:19 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-03 15:01:20.968316
- Title: Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When
Teaching Code Refactoring
- Title(参考訳): コードリファクタリングを教えるとき、誤解に基づくファミリアライゼーションステップを追加する
- Authors: Ivan Tan, Christopher M. Poskitt
- Abstract要約: 学生はまず、コードの臭いを発生させるためにプログラミング演習を完了しなければなりません。
この単純な介入は、学生がコードに精通している場合、学習が簡単であるという考えに基づいている。
本研究は,35人の初等生を対象に,従来の「ミステイク」アプローチと「ミステイク」アプローチを交互に指導し,様々な演習を修了した。
- 参考スコア(独自算出の注目度): 2.021502591596062
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Programming problems can be solved in a multitude of functionally correct
ways, but the quality of these solutions (e.g. readability, maintainability)
can vary immensely. When code quality is poor, symptoms emerge in the form of
'code smells', which are specific negative characteristics (e.g. duplicate
code) that can be resolved by applying refactoring patterns. Many undergraduate
computing curricula train students on this software engineering practice, often
doing so via exercises on unfamiliar instructor-provided code. Our observation,
however, is that this makes it harder for novices to internalise refactoring as
part of their own development practices. In this paper, we propose a new
approach to teaching refactoring, in which students must first complete a
programming exercise constrained to ensure they will produce a code smell. This
simple intervention is based on the idea that learning refactoring is easier if
students are familiar with the code (having built it), that it brings
refactoring closer to their regular development practice, and that it presents
a powerful opportunity to learn from a 'mistake'. We designed and conducted a
study with 35 novice undergraduates in which they completed various refactoring
exercises alternately taught using a traditional and our 'mistake-based'
approach, finding that students were significantly more effective and confident
at completing exercises using the latter.
- Abstract(参考訳): プログラミングの問題は多くの機能的に正しい方法で解決できるが、これらのソリューションの品質(可読性、保守性など)は非常に異なる。
コード品質が低い場合には、リファクタリングパターンを適用することで解決できる特定の負の特性(重複コードなど)である「コードの臭い」という形で症状が現れる。
多くの学部生が、このソフトウェアエンジニアリングの練習で学生を訓練し、よく知らないインストラクターが提供するコードで練習する。
しかし、私たちの観察では、初心者が自分たちの開発プラクティスの一部としてリファクタリングを内部化するのが難しくなります。
本稿では,学生がコード臭いの発生を確実にするために制約付きプログラミング演習を最初に完了しなければならないリファクタリングの新たな手法を提案する。
この単純な介入は、コード(ビルド済み)に慣れている学生にとってリファクタリングの学習がより簡単である、通常の開発プラクティスに近いリファクタリングをもたらす、そして'ミステイク'から学ぶ強力な機会を提供する、という考え方に基づいている。
我々は,35人の初等生を対象に,従来の「ミステイクベース」アプローチを交互に指導する様々なリファクタリング演習を受講した研究を設計・実施した。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Investigating Student Reasoning in Method-Level Code Refactoring: A Think-Aloud Study [0.7120027021375674]
コードとコード品質は、ソフトウェア工学教育における中核的なトピックである。
学生は、しばしば持続的な品質問題のあるコードを生成する。
学生は大抵の場合、コード品質の問題を取り除くことができた。
論文 参考訳(メタデータ) (2024-10-28T09:50:16Z) - Sifting through the Chaff: On Utilizing Execution Feedback for Ranking the Generated Code Candidates [46.74037090843497]
大規模言語モデル(LLM)は、自然言語記述に基づいたコードの自動生成によって、開発者がプログラミングにアプローチする方法を変えつつある。
本稿では,実行フィードバックを活用するコードランキングの革新的なアプローチである RankEF について述べる。
3つのコード生成ベンチマークの実験では、RanEFが最先端のCodeRankerよりも大幅に優れていることが示されている。
論文 参考訳(メタデータ) (2024-08-26T01:48:57Z) - Insights into Deep Learning Refactoring: Bridging the Gap Between Practices and Expectations [13.084553746852382]
ディープラーニングソフトウェアは、ソフトウェアが進化するにつれて、徐々に複雑になってきています。
ディープラーニングの文脈におけるコードの洞察はまだ不明だ。
関連ツールの研究と開発は、プロジェクトの保守性とコード品質を改善するために不可欠である。
論文 参考訳(メタデータ) (2024-05-08T07:35:14Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Automating Source Code Refactoring in the Classroom [15.194527511076725]
本稿では,アンチパターン検出と修正をサポートするEclipseプラグインであるJandanrantを用いて,アンチパターンの除去を目的とした各種教室活動の実施に関する実験結果について述べる。
171人の学生による定量的・質的分析の結果、学生は学習の考え方を高く評価し、JDeodorantプラグインの動作の様々な側面に満足していることが示された。
論文 参考訳(メタデータ) (2023-11-05T18:46:00Z) - Empirical Evaluation of a Live Environment for Extract Method
Refactoring [0.0]
我々は,抽出手法を視覚的に識別し,推奨し,適用するLive Refactoring Environmentを開発した。
私たちの結果は、追加の助けなしに手作業で行うコードとは大きく異なり、改善されました。
論文 参考訳(メタデータ) (2023-07-20T16:36:02Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
本稿では,フィードバックを数発の分類として提供するという課題について考察する。
メタラーナーは、インストラクターによるいくつかの例から、新しいプログラミング質問に関する学生のコードにフィードバックを与えるように適応します。
本手法は,第1段階の大学が提供したプログラムコースにおいて,16,000名の学生試験ソリューションに対するフィードバックの提供に成功している。
論文 参考訳(メタデータ) (2021-07-23T22:41:28Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。