論文の概要: Automatizing Software Cognitive Complexity Reduction through Integer
Linear Programming
- arxiv url: http://arxiv.org/abs/2402.05559v1
- Date: Thu, 8 Feb 2024 10:53:00 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-09 15:27:25.567692
- Title: Automatizing Software Cognitive Complexity Reduction through Integer
Linear Programming
- Title(参考訳): 整数線形プログラミングによるソフトウェア認知複雑度低減の自動化
- Authors: Rub\'en Saborido and Javier Ferrer and Francisco Chicano
- Abstract要約: 近年,ソフトウェア認知複雑性の低減を最適化問題としてモデル化し,開発者を支援する手法を提案する。
このアプローチは、停止基準を満たすまでコード抽出操作のシーケンスを列挙する。結果として、コードの認知複雑性を所定のしきい値に減らすことができる最小限のコード抽出操作のシーケンスを返す。
- 参考スコア(独自算出の注目度): 1.1970409518725493
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Reducing the cognitive complexity of a piece of code to a given threshold is
not trivial. Recently, we modeled software cognitive complexity reduction as an
optimization problem and we proposed an approach to assist developers on this
task. This approach enumerates sequences of code extraction refactoring
operations until a stopping criterion is met. As a result, it returns the
minimal sequence of code extraction refactoring operations that is able to
reduce the cognitive complexity of a code to the given threshold. However,
exhaustive enumeration algorithms fail to scale with the code size. The number
of refactoring plans can grow exponentially with the number of lines of code.
In this paper, instead of enumerating sequences of code extraction refactoring
operations, we model the cognitive complexity reduction as an Integer Linear
Programming problem. This opens the door to the use of efficient solvers to
find optimal solutions in large programs.
- Abstract(参考訳): コードの認知的複雑さを所定のしきい値に減らすのは簡単ではありません。
近年,ソフトウェア認知複雑性の低減を最適化問題としてモデル化し,開発者を支援する手法を提案する。
このアプローチは、停止基準を満たすまでコード抽出リファクタリング操作のシーケンスを列挙する。
その結果、コードの認知的複雑さを所定のしきい値に減らすことができる、最小限のコード抽出リファクタリング操作を返します。
しかし、徹底的な列挙アルゴリズムはコードサイズでスケールできない。
リファクタリング計画の数は、コード行数とともに指数関数的に増加します。
本稿では,コード抽出リファクタリング操作のシーケンスを列挙する代わりに,整数線形計画問題として認知的複雑性の低減をモデル化する。
これにより、大規模なプログラムで最適な解を見つけるための効率的な解法の使用への扉が開ける。
関連論文リスト
- Code Repair with LLMs gives an Exploration-Exploitation Tradeoff [16.80314690163063]
大きな言語モデル(LLM)でソースコードを反復的に改善し、修復することは、1ショットで構築するには複雑すぎるプログラムを生成する一般的な方法として現れている。
ここでは、リファインメントが探索と露見のトレードオフを露呈していることを示します。ほとんどのテストケースをパスするプログラムをリファイン化したり、考慮の少ないプログラムをリファインダでリファインダすることです。
論文 参考訳(メタデータ) (2024-05-26T04:00:30Z) - Recursive Visual Programming [53.76415744371285]
本稿では、生成ルーチンを単純化し、より効率的な問題解決を提供し、より複雑なデータ構造を管理するRecursive Visual Programming (RVP)を提案する。
本稿では,VSR,COVR,GQA,NextQAなどのベンチマークにおいて,RVPの有効性を示す。
論文 参考訳(メタデータ) (2023-12-04T17:27:24Z) - When Do Program-of-Thoughts Work for Reasoning? [51.2699797837818]
本稿では,コードと推論能力の相関性を測定するために,複雑性に富んだ推論スコア(CIRS)を提案する。
具体的には、抽象構文木を用いて構造情報をエンコードし、論理的複雑性を計算する。
コードはhttps://github.com/zjunlp/EasyInstructのEasyInstructフレームワークに統合される。
論文 参考訳(メタデータ) (2023-08-29T17:22:39Z) - Opti Code Pro: A Heuristic Search-based Approach to Code Refactoring [0.0]
コードの動機は、機能を変更することなく、既存のプログラムの設計、構造、実装を改善することである。
結合と凝集の非常に特異な問題を解くために,全コード問題の近似に探索に基づく手法を適用することを提案する。
論文 参考訳(メタデータ) (2023-05-12T16:39:38Z) - Optimization-based Block Coordinate Gradient Coding for Mitigating
Partial Stragglers in Distributed Learning [58.91954425047425]
本稿では,分散学習における部分トラグラーの緩和を目的とした,新たな勾配符号化方式を提案する。
L の符号パラメータを L に表わした勾配座標符号化方式を提案する。
論文 参考訳(メタデータ) (2022-06-06T09:25:40Z) - Discovering Non-monotonic Autoregressive Orderings with Variational
Inference [67.27561153666211]
我々は、訓練データから高品質な生成順序を純粋に検出する、教師なし並列化可能な学習装置を開発した。
エンコーダを非因果的注意を持つトランスフォーマーとして実装し、1つのフォワードパスで置換を出力する。
言語モデリングタスクにおける経験的結果から,我々の手法は文脈認識であり,一定の順序と競合する,あるいはより優れた順序を見つけることができる。
論文 参考訳(メタデータ) (2021-10-27T16:08:09Z) - Dynamic programming by polymorphic semiring algebraic shortcut fusion [1.9405875431318445]
動的プログラミング(動的プログラミング、英: Dynamic Programming、DP)は、難解問題の効率的かつ正確な解法のためのアルゴリズム設計パラダイムである。
本稿では,セミリングに基づくDPアルゴリズムを体系的に導出するための厳密な代数形式について述べる。
論文 参考訳(メタデータ) (2021-07-05T00:51:02Z) - Towards Optimally Efficient Tree Search with Deep Learning [76.64632985696237]
本稿では,線形モデルから信号整数を推定する古典整数最小二乗問題について検討する。
問題はNPハードであり、信号処理、バイオインフォマティクス、通信、機械学習といった様々な応用でしばしば発生する。
本稿では, 深いニューラルネットワークを用いて, 単純化されたメモリバウンドA*アルゴリズムの最適推定を推定し, HATSアルゴリズムを提案する。
論文 参考訳(メタデータ) (2021-01-07T08:00:02Z) - Strong Generalization and Efficiency in Neural Programs [69.18742158883869]
本稿では,ニューラルプログラム誘導の枠組みを強く一般化する効率的なアルゴリズムを学習する問題について検討する。
ニューラルネットワークの入力/出力インターフェースを慎重に設計し、模倣することで、任意の入力サイズに対して正しい結果を生成するモデルを学ぶことができる。
論文 参考訳(メタデータ) (2020-07-07T17:03:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。