論文の概要: Using the Uniqueness of Global Identifiers to Determine the Provenance
of Python Software Source Code
- arxiv url: http://arxiv.org/abs/2305.14837v1
- Date: Wed, 24 May 2023 07:42:11 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 05:59:00.364758
- Title: Using the Uniqueness of Global Identifiers to Determine the Provenance
of Python Software Source Code
- Title(参考訳): グローバル識別子のユニークさを使ってpythonソフトウェアソースコードの出所を決定する
- Authors: Yiming Sun (UVIC), Daniel M. German (UVIC), Stefano Zacchiroli (IP
Paris, LTCI)
- Abstract要約: 本稿では,フリー/オープンソースソフトウェア(FOSS)の出現点と,再利用ソースコードのコピー先を特定する必要性について考察する。
本稿では,プログラマが選択した変数,クラス,関数の名前など,ソフトウェア識別子に基づく問題を解決するための軽量なアプローチを提案する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: We consider the problem of identifying the provenance of free/open source
software (FOSS) and specifically the need of identifying where reused source
code has been copied from. We propose a lightweight approach to solve the
problem based on software identifiers-such as the names of variables, classes,
and functions chosen by programmers. The proposed approach is able to
efficiently narrow down to a small set of candidate origin products, to be
further analyzed with more expensive techniques to make a final provenance
determination.By analyzing the PyPI (Python Packaging Index) open source
ecosystem we find that globally defined identifiers are very distinct. Across
PyPI's 244 K packages we found 11.2 M different global identifiers (classes and
method/function names-with only 0.6% of identifiers shared among the two types
of entities); 76% of identifiers were used only in one package, and 93% in at
most 3. Randomly selecting 3 non-frequent global identifiers from an input
product is enough to narrow down its origins to a maximum of 3 products within
89% of the cases.We validate the proposed approach by mapping Debian source
packages implemented in Python to the corresponding PyPI packages; this
approach uses at most five trials, where each trial uses three randomly chosen
global identifiers from a randomly chosen python file of the subject software
package, then ranks results using a popularity index and requires to inspect
only the top result. In our experiments, this method is effective at finding
the true origin of a project with a recall of 0.9 and precision of 0.77.
- Abstract(参考訳): 本稿では,フリー/オープンソースソフトウェア(FOSS)の出現点と,再利用ソースコードのコピー先を特定する必要性について考察する。
本稿では,プログラマが選択した変数名,クラス名,関数など,ソフトウェア識別子に基づく,軽量な解決手法を提案する。
提案手法は,少数の候補製品に効率的に絞り込むことができ,最終的な成果を決定するために,さらに高価な技術で分析することができる。PyPI(Python Packaging Index)オープンソースエコシステムを分析してみると,グローバルに定義された識別子は極めて異なることが分かる。
PyPIの244Kパッケージ全体で、11.2Mの異なるグローバル識別子(クラスとメソッド/関数名-2種類のエンティティ間で共有されている識別子のわずか0.6%)を発見しました。
Randomly selecting 3 non-frequent global identifiers from an input product is enough to narrow down its origins to a maximum of 3 products within 89% of the cases.We validate the proposed approach by mapping Debian source packages implemented in Python to the corresponding PyPI packages; this approach uses at most five trials, where each trial uses three randomly chosen global identifiers from a randomly chosen python file of the subject software package, then ranks results using a popularity index and requires to inspect only the top result.
本手法は,プロジェクトの真の起源を0.9のリコールと0.77の精度で見つけるのに有効である。
関連論文リスト
- PyExamine A Comprehensive, UnOpinionated Smell Detection Tool for Python [5.669063174637433]
PyExamineは、コードの臭いを検出するアプローチであり、複数のレベルの分析で機能する。
メトリクスは、高レベルのアーキテクチャ上の懸念から実装の詳細まで、あらゆるレベルのコード組織にまたがっています。
PyExamineは検出精度を91.4%、構造臭89.3%、建築臭80.6%と達成した。
論文 参考訳(メタデータ) (2025-01-30T13:14:14Z) - PyPulse: A Python Library for Biosignal Imputation [58.35269251730328]
PyPulseは,臨床およびウェアラブルの両方のセンサ設定において生体信号の計算を行うPythonパッケージである。
PyPulseのフレームワークは、非機械学習バイオリサーバーを含む幅広いユーザーベースに対して、使い勝手の良いモジュラーで拡張可能なフレームワークを提供する。
PyPulseはMITライセンスでGithubとPyPIでリリースしました。
論文 参考訳(メタデータ) (2024-12-09T11:00:55Z) - Machine Learning Techniques for Python Source Code Vulnerability Detection [0.0]
ソースコードの脆弱性検出に異なる機械学習アルゴリズムを適用して比較する。
我々の双方向長短期記憶モデル(BiLSTM)は、顕著な性能を達成する。
論文 参考訳(メタデータ) (2024-04-15T08:01:02Z) - Less is More? An Empirical Study on Configuration Issues in Python PyPI
Ecosystem [38.44692482370243]
Pythonはオープンソースコミュニティで広く使われている。
サードパーティのライブラリは依存関係の衝突を引き起こす可能性があるため、研究者は依存関係の衝突検知器を開発する必要がある。
依存関係を自動的に推論する試みが実施された。
論文 参考訳(メタデータ) (2023-10-19T09:07:51Z) - On the Feasibility of Cross-Language Detection of Malicious Packages in
npm and PyPI [6.935278888313423]
悪意のあるユーザは悪意のあるコードを含むオープンソースパッケージを公開することでマルウェアを拡散し始めた。
最近の研究は、npmエコシステム内の悪意あるパッケージを検出するために機械学習技術を適用している。
言語に依存しない一連の特徴と,npm と PyPI の悪意あるパッケージを検出可能なモデルのトレーニングを含む,新しいアプローチを提案する。
論文 参考訳(メタデータ) (2023-10-14T12:32:51Z) - DADApy: Distance-based Analysis of DAta-manifolds in Python [51.37841707191944]
DADApyは、高次元データの分析と特徴付けのためのピソンソフトウェアパッケージである。
固有次元と確率密度を推定し、密度に基づくクラスタリングを行い、異なる距離メトリクスを比較する方法を提供する。
論文 参考訳(メタデータ) (2022-05-04T08:41:59Z) - PyHHMM: A Python Library for Heterogeneous Hidden Markov Models [63.01207205641885]
PyHHMM は Heterogeneous-Hidden Markov Models (HHMM) のオブジェクト指向Python実装である。
PyHHMMは、異種観測モデル、データ推論の欠如、異なるモデルの順序選択基準、半教師付きトレーニングなど、同様のフレームワークではサポートされない機能を強調している。
PyHHMMは、numpy、scipy、scikit-learn、およびシーボーンPythonパッケージに依存しており、Apache-2.0ライセンスの下で配布されている。
論文 参考訳(メタデータ) (2022-01-12T07:32:36Z) - Persistent Animal Identification Leveraging Non-Visual Markers [71.14999745312626]
乱雑なホームケージ環境下で各マウスにユニークな識別子を時間をかけて発見し提供することを目的としている。
これは、(i)各マウスの視覚的特徴の区別の欠如、(ii)一定の閉塞を伴うシーンの密閉性のため、非常に難しい問題である。
本手法は, この動物識別問題に対して77%の精度を達成し, 動物が隠れているときの急激な検出を拒否することができる。
論文 参考訳(メタデータ) (2021-12-13T17:11:32Z) - Scikit-dimension: a Python package for intrinsic dimension estimation [58.8599521537]
この技術ノートは、固有次元推定のためのオープンソースのPythonパッケージであるtextttscikit-dimensionを紹介している。
textttscikit-dimensionパッケージは、Scikit-learnアプリケーションプログラミングインターフェイスに基づいて、既知のID推定子のほとんどを均一に実装する。
パッケージを簡潔に記述し、実生活と合成データにおけるID推定手法の大規模(500以上のデータセット)ベンチマークでその使用を実証する。
論文 参考訳(メタデータ) (2021-09-06T16:46:38Z) - QuaPy: A Python-Based Framework for Quantification [76.22817970624875]
QuaPyは、定量化を行うためのオープンソースのフレームワークである(例えば、教師付き精度推定)。
Pythonで書かれており、pip経由でインストールできる。
論文 参考訳(メタデータ) (2021-06-18T13:57:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。