論文の概要: Contract Usage and Evolution in Android Mobile Applications
- arxiv url: http://arxiv.org/abs/2401.14244v1
- Date: Thu, 25 Jan 2024 15:36:49 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-26 14:05:26.989774
- Title: Contract Usage and Evolution in Android Mobile Applications
- Title(参考訳): androidモバイルアプリケーションにおけるコントラクトの利用と進化
- Authors: David R. Ferreira, Alexandra Mendes, and Jo\~ao F. Ferreira
- Abstract要約: JavaやKotlinで記述されたAndroidアプリケーションにおけるコントラクトの存在と使用に関する,最初の大規模な実証的研究を紹介する。
F-Droidリポジトリから2,390のAndroidアプリケーションを解析し,51,749 KLOC以上を処理した。
私たちの発見は、JavaとKotlinでコントラクト仕様を標準化するライブラリを持つことが望ましいことを示しています。
- 参考スコア(独自算出の注目度): 45.44831696628473
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Formal contracts and assertions are effective methods to enhance software
quality by enforcing preconditions, postconditions, and invariants. Previous
research has demonstrated the value of contracts in traditional software
development contexts. However, the adoption and impact of contracts in the
context of mobile application development, particularly of Android
applications, remain unexplored.
To address this, we present the first large-scale empirical study on the
presence and use of contracts in Android applications, written in Java or
Kotlin. We consider different types of contract elements divided into five
categories: conditional runtime exceptions, APIs, annotations, assertions, and
other. We analyzed 2,390 Android applications from the F-Droid repository and
processed more than 51,749 KLOC to determine 1) how and to what extent
contracts are used, 2) how contract usage evolves, and 3) whether contracts are
used safely in the context of program evolution and inheritance. Our findings
include: 1) although most applications do not specify contracts,
annotation-based approaches are the most popular among practitioners; 2)
applications that use contracts continue to use them in later versions, but the
number of methods increases at a higher rate than the number of contracts; and
3) there are many potentially unsafe specification changes when applications
evolve and in subtyping relationships, which indicates a lack of specification
stability. Our findings show that it would be desirable to have libraries that
standardize contract specifications in Java and Kotlin, and tools that aid
practitioners in writing stronger contracts and in detecting contract
violations in the context of program evolution and inheritance.
- Abstract(参考訳): 形式的契約とアサーションは、事前条件、後条件、不変性を強制することによって、ソフトウェア品質を高める効果的な方法である。
これまでの研究は、従来のソフトウェア開発コンテキストにおける契約の価値を実証してきた。
しかし、モバイルアプリケーション開発、特にandroidアプリケーションにおけるコントラクトの採用と影響は、いまだに未調査のままである。
これに対処するため、我々は、javaまたはkotlinで書かれたandroidアプリケーションにおけるコントラクトの存在と使用について、最初の大規模な実証研究を行う。
条件付きランタイム例外、API、アノテーション、アサーションなどです。
F-Droidレポジトリから2,390のAndroidアプリケーションを解析し,51,749 KLOC以上を処理した。
1【契約の程度及び程度】
2)契約利用の進展,及び
3) 契約がプログラムの進化と継承の文脈で安全に使用されるかどうか。
私たちの発見には
1) ほとんどのアプリケーションは契約を規定していないが,アノテーションに基づくアプローチが最も普及している。
2) 契約を使用するアプリケーションは後続のバージョンで引き続き使用されるが,メソッドの数は契約数よりも高い速度で増加する。
3) アプリケーションが進化し、サブタイプ関係にある場合、潜在的に安全でない仕様の変更が多数あり、それは仕様の安定性の欠如を示している。
この結果から,JavaとKotlinのコントラクト仕様を標準化するライブラリや,より強いコントラクトの記述や,プログラムの進化と継承のコンテキストにおけるコントラクト違反の検出を支援するツールが望ましいことが示唆された。
関連論文リスト
- DevEval: Evaluating Code Generation in Practical Software Projects [52.16841274646796]
我々はDevEvalという名の新しいベンチマークを提案し、実践プロジェクトにおける開発者の経験と一致している。
DevEvalは、119の実用的なプロジェクトから2,690のサンプルを含む厳格なパイプラインを通じて収集される。
DevEvalの5つの人気のあるLCMを評価し、コード生成における実際の能力を明らかにする。
論文 参考訳(メタデータ) (2024-01-12T06:51:30Z) - Formally Verifying a Real World Smart Contract [52.30656867727018]
われわれは、Solidityの最新バージョンで書かれた現実世界のスマートコントラクトを正式に検証できるツールを検索する。
本稿では,最近のSolidityで書かれた実世界のスマートコントラクトを正式に検証できるツールについて紹介する。
論文 参考訳(メタデータ) (2023-07-05T14:30:21Z) - Pre-deployment Analysis of Smart Contracts -- A Survey [0.27195102129095]
本稿では,スマートコントラクトの脆弱性と方法に関する文献を体系的にレビューする。
具体的には、スマートコントラクトの脆弱性とメソッドを、それらが対処するプロパティによって列挙し分類します。
異なる手法の強みに関するいくつかのパターンがこの分類プロセスを通して現れる。
論文 参考訳(メタデータ) (2023-01-15T12:36:56Z) - ConReader: Exploring Implicit Relations in Contracts for Contract Clause
Extraction [84.0634340572349]
法律契約における暗黙の関係をモデル化し,契約条項の自動抽出(CCE)について検討する。
本研究ではまず,契約の複雑性問題を包括的に分析し,契約に共通する3つの暗黙の関係を抽出する。
本稿では,上記の3つの関係を利用して,より優れたコントラクト理解とCCEの改善を実現するための新しいフレームワークであるConReaderを提案する。
論文 参考訳(メタデータ) (2022-10-17T02:15:18Z) - Detecting Logical Relation In Contract Clauses [94.85352502638081]
契約における節間の論理的関係の抽出を自動化する手法を開発する。
結果として得られたアプローチは、コントラクト作者が節間の潜在的な論理的衝突を検出するのに役立つだろう。
論文 参考訳(メタデータ) (2021-11-02T19:26:32Z) - CLAUSEREC: A Clause Recommendation Framework for AI-aided Contract
Authoring [7.3246387015020025]
本稿では,契約書作成者の支援と促進に向けた第一歩として,条項推薦の課題を紹介する。
まず、特定の節型がコントラクトに追加されるかどうかを予測し、次に、契約コンテキストに基づいて、与えられた型のトップ節を推奨する2段階パイプラインを提案する。
論文 参考訳(メタデータ) (2021-10-26T09:20:16Z) - ContractNLI: A Dataset for Document-level Natural Language Inference for
Contracts [39.75232199445175]
契約書に対する文書レベルの自然言語推論(NLI)を提案する。
システムには一連の仮説と契約が与えられ、それぞれの仮説が「関連づけられている」か、「矛盾している」か、「言及されていない」か(中立である)を分類するよう求められる。
これまでで最大のコーパスを607のアノテート契約でリリースしています。
論文 参考訳(メタデータ) (2021-10-05T03:22:31Z) - Profiling Gas Consumption in Solidity Smart Contracts [3.0378875015087567]
本稿では,ガス消費の観点から,スマートコントラクトのコード品質を静的に評価するためのメトリクススイートであるGasMetを提案する。
2,186のスマートコントラクトを含む実験では、提案されたメトリクスがデプロイメントコストと直接関連していることが示されている。
論文 参考訳(メタデータ) (2020-08-12T17:26:55Z) - Multi-Class classification of vulnerabilities in Smart Contracts using
AWD-LSTM, with pre-trained encoder inspired from natural language processing [0.0]
OYENTEやMAIANといったシンボリックツールは、スマートコントラクトの脆弱性予測に一般的に使用される。
LSTM の変種である AWD-LSTM (AWD-LSTM) を用いて分類を行った。
重み付き平均Fbetaスコアは90.0%に達した。
論文 参考訳(メタデータ) (2020-03-21T20:48:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。