JP2017519300A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2017519300A5 JP2017519300A5 JP2016572723A JP2016572723A JP2017519300A5 JP 2017519300 A5 JP2017519300 A5 JP 2017519300A5 JP 2016572723 A JP2016572723 A JP 2016572723A JP 2016572723 A JP2016572723 A JP 2016572723A JP 2017519300 A5 JP2017519300 A5 JP 2017519300A5
- Authority
- JP
- Japan
- Prior art keywords
- artifacts
- design pattern
- file
- identifying
- clustering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000875 corresponding Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 4
- 230000001052 transient Effects 0.000 claims description 4
- 230000003068 static Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 claims 1
Description
本発明を、例示的な実施形態を参照しながら具体的に図示・説明したが、当業者であれば、添付の特許請求の範囲により包含される本発明の範囲を逸脱することなく形態や細部に様々な変更を施せることを理解するであろう。
なお、本発明は、態様として以下の内容を含む。
〔態様1〕
デザインパターンを特定する方法であって、
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する過程と、
を備える、方法。
〔態様2〕
態様1に記載の方法において、前記デザインパターンが、前記第1のファイル内のものである、方法。
〔態様3〕
態様1に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、方法。
〔態様4〕
態様3に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つと、前記第2のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つとを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
〔態様5〕
態様4に記載の方法において、前記デザインパターンが、前記第1のファイルと前記第2のファイルとの間のインターフェースに関するものである、方法。
〔態様6〕
態様1に記載の方法において、前記デザインパターンが、欠陥または修復である、方法。
〔態様7〕
態様1に記載の方法において、前記デザインパターンが、機能または付加拡張機能である、方法。
〔態様8〕
態様1に記載の方法において、前記デザインパターンが、予め特定されたプログラム断片である、方法。
〔態様9〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、欠陥または修復を表す文字列を探し出すことを含む、方法。
〔態様10〕
態様9に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
〔態様11〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、機能または付加拡張機能を表す文字列を探し出すことを含む、方法。
〔態様12〕
態様11に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
〔態様13〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
〔態様14〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ静的アーチファクトである、方法。
〔態様15〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ動的アーチファクトである、方法。
〔態様16〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ導出アーチファクトである、方法。
〔態様17〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれメタデータアーチファクトである、方法。
〔態様18〕
態様1に記載の方法において、さらに、
前記デザインパターンについての識別子を前記データベースに記憶する過程、
を備える、方法。
〔態様19〕
態様18に記載の方法において、前記デザインパターンについての識別子を記憶する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つから得られた文字列を用いて、前記デザインパターンについてのラベルを記憶することを含む、方法。
〔態様20〕
態様2に記載の方法において、さらに、
前記第1のファイルにおいて、前記デザインパターンに対応するプログラム断片を見つけ出す過程、
を備える、方法。
〔態様21〕
態様20に記載の方法において、前記第1のファイルが、バイナリコードフォーマットである、方法。
〔態様22〕
態様20に記載の方法において、前記第1のファイルが、ソースコードフォーマットである、方法。
〔態様23〕
態様20に記載の方法において、前記第1のファイルが、中間表現(IR)フォーマットである、方法。
〔態様24〕
デザインパターンを特定する方法であって、
複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のアーチファクトをクラスタ化する過程と、
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する過程と、
を備える、方法。
〔態様25〕
態様24に記載の方法において、前記これまでに特定されていなかったデザインパターンと前記少なくとも1つの予め特定されたデザインパターンとが、同じデザインパターンである、方法。
〔態様26〕
態様24に記載の方法において、前記予め特定されたデザインパターンが、欠陥である、方法。
〔態様27〕
態様26に記載の方法において、さらに、
予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定する過程、
を備える、方法。
〔態様28〕
態様24に記載の方法において、前記複数のアーチファクトが、複数の開発中アーチファクトを含み、当該方法が、さらに、
クラスタ化された前記複数のアーチファクトに対応する前記複数の開発中アーチファクトから、当該開発中アーチファクトにおける文字、単語またはフレーズの出現に基づいて語義上意味を抽出する過程、
を備える、方法。
〔態様29〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、機械学習を用いることを含む、方法。
〔態様30〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、深層学習を用いることを含む、方法。
〔態様31〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、オートエンコーダを用いることを含む、方法。
〔態様32〕
態様24に記載の方法において、さらに、
前記複数のアーチファクトの前記クラスタ化のための訓練を提供する過程、
を備え、前記訓練が、ソフトウェアファイルの第1のバージョンと当該ソフトウェアファイルの第2のバージョンとの間の少なくとも1つの違いを用いることを含む、方法。
〔態様33〕
態様32に記載の方法において、前記少なくとも1つの違いが、欠陥または修復に対応する、方法。
〔態様34〕
態様33に記載の方法において、前記欠陥がセキュリティ脆弱性であるか、あるいは、前記修復がパッチである、方法。
〔態様35〕
態様32に記載の方法において、前記少なくとも1つの違いが、機能または付加拡張機能に対応する、方法。
〔態様36〕
デザインパターンを特定するシステムであって、
複数のファイルのそれぞれについての複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定するように構成されたプロセッサと、
を備える、システム。
〔態様37〕
態様36に記載のシステムにおいて、さらに、前記プロセッサを備え、当該プロセッサが、さらに、前記第1のファイルにおいて、前記デザインパターンを組み込むプログラム断片を見つけ出すように構成されている、システム。
〔態様38〕
態様36に記載のシステムにおいて、前記デザインパターンを自動的に特定することが、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、システム。
〔態様39〕
態様36に記載のシステムにおいて、前記デザインパターンが、欠陥または修復である、システム。
〔態様40〕
態様36に記載のシステムにおいて、前記デザインパターンが、機能または付加拡張機能である、システム。
〔態様41〕
態様36に記載のシステムにおいて、前記デザインパターンが、予め特定されたプログラム断片である、システム。
〔態様42〕
デザインパターンを特定するシステムであって、
複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のアーチファクトをクラスタ化するように、かつ、当該クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定するように構成されたプロセッサと、
を備える、システム。
〔態様43〕
態様42に記載のシステムにおいて、前記予め特定されたデザインパターンが、欠陥である、システム。
〔態様44〕
態様42に記載のシステムにおいて、さらに、
予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定すること、
を備える、システム。
〔態様45〕
態様42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、機械学習を用いることを含む、システム。
〔態様46〕
態様42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、深層学習を用いることを含む、システム。
〔態様47〕
実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする手順;および
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。
〔態様48〕
実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のアーチファクトを有するデータベースにアクセスする手順;
前記複数のアーチファクトをクラスタ化する手順;および
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。
なお、本発明は、態様として以下の内容を含む。
〔態様1〕
デザインパターンを特定する方法であって、
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する過程と、
を備える、方法。
〔態様2〕
態様1に記載の方法において、前記デザインパターンが、前記第1のファイル内のものである、方法。
〔態様3〕
態様1に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、方法。
〔態様4〕
態様3に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つと、前記第2のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つとを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
〔態様5〕
態様4に記載の方法において、前記デザインパターンが、前記第1のファイルと前記第2のファイルとの間のインターフェースに関するものである、方法。
〔態様6〕
態様1に記載の方法において、前記デザインパターンが、欠陥または修復である、方法。
〔態様7〕
態様1に記載の方法において、前記デザインパターンが、機能または付加拡張機能である、方法。
〔態様8〕
態様1に記載の方法において、前記デザインパターンが、予め特定されたプログラム断片である、方法。
〔態様9〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、欠陥または修復を表す文字列を探し出すことを含む、方法。
〔態様10〕
態様9に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
〔態様11〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、機能または付加拡張機能を表す文字列を探し出すことを含む、方法。
〔態様12〕
態様11に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
〔態様13〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
〔態様14〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ静的アーチファクトである、方法。
〔態様15〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ動的アーチファクトである、方法。
〔態様16〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ導出アーチファクトである、方法。
〔態様17〕
態様1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれメタデータアーチファクトである、方法。
〔態様18〕
態様1に記載の方法において、さらに、
前記デザインパターンについての識別子を前記データベースに記憶する過程、
を備える、方法。
〔態様19〕
態様18に記載の方法において、前記デザインパターンについての識別子を記憶する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つから得られた文字列を用いて、前記デザインパターンについてのラベルを記憶することを含む、方法。
〔態様20〕
態様2に記載の方法において、さらに、
前記第1のファイルにおいて、前記デザインパターンに対応するプログラム断片を見つけ出す過程、
を備える、方法。
〔態様21〕
態様20に記載の方法において、前記第1のファイルが、バイナリコードフォーマットである、方法。
〔態様22〕
態様20に記載の方法において、前記第1のファイルが、ソースコードフォーマットである、方法。
〔態様23〕
態様20に記載の方法において、前記第1のファイルが、中間表現(IR)フォーマットである、方法。
〔態様24〕
デザインパターンを特定する方法であって、
複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のアーチファクトをクラスタ化する過程と、
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する過程と、
を備える、方法。
〔態様25〕
態様24に記載の方法において、前記これまでに特定されていなかったデザインパターンと前記少なくとも1つの予め特定されたデザインパターンとが、同じデザインパターンである、方法。
〔態様26〕
態様24に記載の方法において、前記予め特定されたデザインパターンが、欠陥である、方法。
〔態様27〕
態様26に記載の方法において、さらに、
予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定する過程、
を備える、方法。
〔態様28〕
態様24に記載の方法において、前記複数のアーチファクトが、複数の開発中アーチファクトを含み、当該方法が、さらに、
クラスタ化された前記複数のアーチファクトに対応する前記複数の開発中アーチファクトから、当該開発中アーチファクトにおける文字、単語またはフレーズの出現に基づいて語義上意味を抽出する過程、
を備える、方法。
〔態様29〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、機械学習を用いることを含む、方法。
〔態様30〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、深層学習を用いることを含む、方法。
〔態様31〕
態様24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、オートエンコーダを用いることを含む、方法。
〔態様32〕
態様24に記載の方法において、さらに、
前記複数のアーチファクトの前記クラスタ化のための訓練を提供する過程、
を備え、前記訓練が、ソフトウェアファイルの第1のバージョンと当該ソフトウェアファイルの第2のバージョンとの間の少なくとも1つの違いを用いることを含む、方法。
〔態様33〕
態様32に記載の方法において、前記少なくとも1つの違いが、欠陥または修復に対応する、方法。
〔態様34〕
態様33に記載の方法において、前記欠陥がセキュリティ脆弱性であるか、あるいは、前記修復がパッチである、方法。
〔態様35〕
態様32に記載の方法において、前記少なくとも1つの違いが、機能または付加拡張機能に対応する、方法。
〔態様36〕
デザインパターンを特定するシステムであって、
複数のファイルのそれぞれについての複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定するように構成されたプロセッサと、
を備える、システム。
〔態様37〕
態様36に記載のシステムにおいて、さらに、前記プロセッサを備え、当該プロセッサが、さらに、前記第1のファイルにおいて、前記デザインパターンを組み込むプログラム断片を見つけ出すように構成されている、システム。
〔態様38〕
態様36に記載のシステムにおいて、前記デザインパターンを自動的に特定することが、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、システム。
〔態様39〕
態様36に記載のシステムにおいて、前記デザインパターンが、欠陥または修復である、システム。
〔態様40〕
態様36に記載のシステムにおいて、前記デザインパターンが、機能または付加拡張機能である、システム。
〔態様41〕
態様36に記載のシステムにおいて、前記デザインパターンが、予め特定されたプログラム断片である、システム。
〔態様42〕
デザインパターンを特定するシステムであって、
複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のアーチファクトをクラスタ化するように、かつ、当該クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定するように構成されたプロセッサと、
を備える、システム。
〔態様43〕
態様42に記載のシステムにおいて、前記予め特定されたデザインパターンが、欠陥である、システム。
〔態様44〕
態様42に記載のシステムにおいて、さらに、
予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定すること、
を備える、システム。
〔態様45〕
態様42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、機械学習を用いることを含む、システム。
〔態様46〕
態様42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、深層学習を用いることを含む、システム。
〔態様47〕
実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする手順;および
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。
〔態様48〕
実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のアーチファクトを有するデータベースにアクセスする手順;
前記複数のアーチファクトをクラスタ化する手順;および
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。
Claims (48)
- デザインパターンを特定する方法であって、
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する過程と、
を備える、方法。 - 請求項1に記載の方法において、前記デザインパターンが、前記第1のファイル内のものである、方法。
- 請求項1に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、方法。
- 請求項3に記載の方法において、前記デザインパターンを自動的に特定する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つと、前記第2のファイルについての、前記複数のアーチファクトのうちの前記少なくとも1つとを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
- 請求項4に記載の方法において、前記デザインパターンが、前記第1のファイルと前記第2のファイルとの間のインターフェースに関するものである、方法。
- 請求項1に記載の方法において、前記デザインパターンが、欠陥または修復である、方法。
- 請求項1に記載の方法において、前記デザインパターンが、機能または付加拡張機能である、方法。
- 請求項1に記載の方法において、前記デザインパターンが、予め特定されたプログラム断片である、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、欠陥または修復を表す文字列を探し出すことを含む、方法。
- 請求項9に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つにおいて、機能または付加拡張機能を表す文字列を探し出すことを含む、方法。
- 請求項11に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、開発中アーチファクトである、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つに基づいて、前記デザインパターンを自動的に特定する過程が、前記複数のアーチファクトのうちの前記少なくとも1つを、前記デザインパターンを表す予め特定されたパターンに照合することを含む、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ静的アーチファクトである、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ動的アーチファクトである、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれ導出アーチファクトである、方法。
- 請求項1に記載の方法において、前記複数のアーチファクトのうちの前記少なくとも1つが、それぞれメタデータアーチファクトである、方法。
- 請求項1に記載の方法において、さらに、
前記デザインパターンについての識別子を前記データベースに記憶する過程、
を備える、方法。 - 請求項18に記載の方法において、前記デザインパターンについての識別子を記憶する過程が、前記第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つから得られた文字列を用いて、前記デザインパターンについてのラベルを記憶することを含む、方法。
- 請求項2に記載の方法において、さらに、
前記第1のファイルにおいて、前記デザインパターンに対応するプログラム断片を見つけ出す過程、
を備える、方法。 - 請求項20に記載の方法において、前記第1のファイルが、バイナリコードフォーマットである、方法。
- 請求項20に記載の方法において、前記第1のファイルが、ソースコードフォーマットである、方法。
- 請求項20に記載の方法において、前記第1のファイルが、中間表現(IR)フォーマットである、方法。
- デザインパターンを特定する方法であって、
複数のアーチファクトを有するデータベースにアクセスする過程と、
前記複数のアーチファクトをクラスタ化する過程と、
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する過程と、
を備える、方法。 - 請求項24に記載の方法において、前記これまでに特定されていなかったデザインパターンと前記少なくとも1つの予め特定されたデザインパターンとが、同じデザインパターンである、方法。
- 請求項24に記載の方法において、前記予め特定されたデザインパターンが、欠陥である、方法。
- 請求項26に記載の方法において、さらに、
予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定する過程、
を備える、方法。 - 請求項24に記載の方法において、前記複数のアーチファクトが、複数の開発中アーチファクトを含み、当該方法が、さらに、
クラスタ化された前記複数のアーチファクトに対応する前記複数の開発中アーチファクトから、当該開発中アーチファクトにおける文字、単語またはフレーズの出現に基づいて語義上意味を抽出する過程、
を備える、方法。 - 請求項24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、機械学習を用いることを含む、方法。
- 請求項24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、深層学習を用いることを含む、方法。
- 請求項24に記載の方法において、前記複数のアーチファクトをクラスタ化する過程が、オートエンコーダを用いることを含む、方法。
- 請求項24に記載の方法において、さらに、
前記複数のアーチファクトの前記クラスタ化のための訓練を提供する過程、
を備え、前記訓練が、ソフトウェアファイルの第1のバージョンと当該ソフトウェアファイルの第2のバージョンとの間の少なくとも1つの違いを用いることを含む、方法。 - 請求項32に記載の方法において、前記少なくとも1つの違いが、欠陥または修復に対応する、方法。
- 請求項33に記載の方法において、前記欠陥がセキュリティ脆弱性であるか、あるいは、前記修復がパッチである、方法。
- 請求項32に記載の方法において、前記少なくとも1つの違いが、機能または付加拡張機能に対応する、方法。
- デザインパターンを特定するシステムであって、
複数のファイルのそれぞれについての複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定するように構成されたプロセッサと、
を備える、システム。 - 請求項36に記載のシステムにおいて、さらに、前記プロセッサを備え、当該プロセッサが、さらに、前記第1のファイルにおいて、前記デザインパターンを組み込むプログラム断片を見つけ出すように構成されている、システム。
- 請求項36に記載のシステムにおいて、前記デザインパターンを自動的に特定することが、前記デザインパターンの前記特定を、前記複数のファイルのうちの第2のファイルについての、前記複数のアーチファクトのうちの少なくとも1つにも基づかせることを含み、前記第1のファイルおよび前記第2のファイルが、いずれも同じプロジェクトに属する、システム。
- 請求項36に記載のシステムにおいて、前記デザインパターンが、欠陥または修復である、システム。
- 請求項36に記載のシステムにおいて、前記デザインパターンが、機能または付加拡張機能である、システム。
- 請求項36に記載のシステムにおいて、前記デザインパターンが、予め特定されたプログラム断片である、システム。
- デザインパターンを特定するシステムであって、
複数のアーチファクトを有する少なくとも1つの記憶装置と、
前記複数のアーチファクトをクラスタ化するように、かつ、当該クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定するように構成されたプロセッサと、
を備える、システム。 - 請求項42に記載のシステムにおいて、前記予め特定されたデザインパターンが、欠陥である、システム。
- 請求項43に記載のシステムにおいて、前記プロセッサが、さらに、予め特定された前記欠陥に対応付けられた少なくとも1つの修復を特定するように構成されている、システム。
- 請求項42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、機械学習を用いることを含む、システム。
- 請求項42に記載のシステムにおいて、前記複数のアーチファクトをクラスタ化することが、深層学習を用いることを含む、システム。
- 実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のファイルのそれぞれについての複数のアーチファクトを有するデータベースにアクセスする手順;および
前記複数のファイルのうちの第1のファイルについての、前記複数のアーチファクトのうちの少なくとも1つに基づいて、デザインパターンを自動的に特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。 - 実行可能なプログラムが記憶された、非過渡的なコンピュータ読取り可能な媒体であって、前記プログラムが、処理装置に:
複数のアーチファクトを有するデータベースにアクセスする手順;
前記複数のアーチファクトをクラスタ化する手順;および
前記クラスタ化から、これまで特定されていなかったデザインパターンを、少なくとも1つの予め特定されたデザインパターンに基づいて特定する手順;
を実行させる、非過渡的なコンピュータ読取り可能な媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462012127P | 2014-06-13 | 2014-06-13 | |
US62/012,127 | 2014-06-13 | ||
PCT/US2015/035131 WO2015191731A1 (en) | 2014-06-13 | 2015-06-10 | Systems and methods for software analytics |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017519300A JP2017519300A (ja) | 2017-07-13 |
JP2017519300A5 true JP2017519300A5 (ja) | 2018-06-28 |
Family
ID=53484176
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016572715A Pending JP2017517821A (ja) | 2014-06-13 | 2015-06-10 | ソフトウェアアーチファクトのデータベースのためのシステム及び方法 |
JP2016572723A Pending JP2017519300A (ja) | 2014-06-13 | 2015-06-10 | ソフトウェアアナリティクスのためのシステム及び方法 |
JP2016572712A Pending JP2017520842A (ja) | 2014-06-13 | 2015-06-10 | ソフトウェア分析のためのシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016572715A Pending JP2017517821A (ja) | 2014-06-13 | 2015-06-10 | ソフトウェアアーチファクトのデータベースのためのシステム及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016572712A Pending JP2017520842A (ja) | 2014-06-13 | 2015-06-10 | ソフトウェア分析のためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US20150363196A1 (ja) |
EP (3) | EP3155512A1 (ja) |
JP (3) | JP2017517821A (ja) |
CN (3) | CN106663003A (ja) |
CA (3) | CA2949251C (ja) |
WO (3) | WO2015191737A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7409197B2 (ja) | 2019-06-20 | 2024-01-09 | 富士通株式会社 | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430180B2 (en) * | 2010-05-26 | 2019-10-01 | Automation Anywhere, Inc. | System and method for resilient automation upgrade |
US10365900B2 (en) | 2011-12-23 | 2019-07-30 | Dataware Ventures, Llc | Broadening field specialization |
KR101694783B1 (ko) * | 2014-11-28 | 2017-01-10 | 주식회사 파수닷컴 | 소스 코드의 오류 검출에 있어서 경보 유형 분류 방법, 이를 위한 컴퓨터 프로그램, 그 기록매체 |
US9275347B1 (en) * | 2015-10-09 | 2016-03-01 | AlpacaDB, Inc. | Online content classifier which updates a classification score based on a count of labeled data classified by machine deep learning |
US10733099B2 (en) | 2015-12-14 | 2020-08-04 | Arizona Board Of Regents On Behalf Of The University Of Arizona | Broadening field specialization |
KR102582580B1 (ko) * | 2016-01-19 | 2023-09-26 | 삼성전자주식회사 | 악성 코드 분석을 위한 전자 장치 및 이의 방법 |
WO2017126786A1 (ko) * | 2016-01-19 | 2017-07-27 | 삼성전자 주식회사 | 악성 코드 분석을 위한 전자 장치 및 이의 방법 |
US10192000B2 (en) * | 2016-01-29 | 2019-01-29 | Walmart Apollo, Llc | System and method for distributed system to store and visualize large graph databases |
US11593342B2 (en) | 2016-02-01 | 2023-02-28 | Smartshift Technologies, Inc. | Systems and methods for database orientation transformation |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10331495B2 (en) * | 2016-02-05 | 2019-06-25 | Sas Institute Inc. | Generation of directed acyclic graphs from task routines |
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
KR101824583B1 (ko) * | 2016-02-24 | 2018-02-01 | 국방과학연구소 | 커널 자료구조 특성에 기반한 악성코드 탐지 시스템 및 그의 제어 방법 |
US9836454B2 (en) | 2016-03-31 | 2017-12-05 | International Business Machines Corporation | System, method, and recording medium for regular rule learning |
US10127386B2 (en) * | 2016-05-12 | 2018-11-13 | Synopsys, Inc. | Systems and methods for adaptive analysis of software |
US10585655B2 (en) | 2016-05-25 | 2020-03-10 | Smartshift Technologies, Inc. | Systems and methods for automated retrofitting of customized code objects |
RU2676405C2 (ru) * | 2016-07-19 | 2018-12-28 | Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения" | Способ автоматизированного проектирования производства и эксплуатации прикладного программного обеспечения и система для его осуществления |
US10089103B2 (en) | 2016-08-03 | 2018-10-02 | Smartshift Technologies, Inc. | Systems and methods for transformation of reporting schema |
US10248919B2 (en) * | 2016-09-21 | 2019-04-02 | Red Hat Israel, Ltd. | Task assignment using machine learning and information retrieval |
US10768979B2 (en) * | 2016-09-23 | 2020-09-08 | Apple Inc. | Peer-to-peer distributed computing system for heterogeneous device types |
US11522901B2 (en) | 2016-09-23 | 2022-12-06 | OPSWAT, Inc. | Computer security vulnerability assessment |
US9749349B1 (en) | 2016-09-23 | 2017-08-29 | OPSWAT, Inc. | Computer security vulnerability assessment |
EP3520038A4 (en) | 2016-09-28 | 2020-06-03 | D5A1 Llc | LEARNING TRAINER FOR MACHINE LEARNING SYSTEM |
KR101937933B1 (ko) * | 2016-11-08 | 2019-01-14 | 한국전자통신연구원 | 오픈 소스 소프트웨어 패키지의 안전성 정량화 장치, 최적화 장치 및 최적화 방법 |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
US10261763B2 (en) | 2016-12-13 | 2019-04-16 | Palantir Technologies Inc. | Extensible data transformation authoring and validation system |
US10325340B2 (en) | 2017-01-06 | 2019-06-18 | Google Llc | Executing computational graphs on graphics processing units |
CN108304177A (zh) * | 2017-01-13 | 2018-07-20 | 辉达公司 | 计算图的执行 |
US10754640B2 (en) * | 2017-03-24 | 2020-08-25 | Microsoft Technology Licensing, Llc | Engineering system robustness using bug data |
EP3602316A4 (en) | 2017-03-24 | 2020-12-30 | D5A1 Llc | LEARNING COACH FOR AUTOMATIC LEARNING SYSTEM |
US10585780B2 (en) | 2017-03-24 | 2020-03-10 | Microsoft Technology Licensing, Llc | Enhancing software development using bug data |
US11288592B2 (en) | 2017-03-24 | 2022-03-29 | Microsoft Technology Licensing, Llc | Bug categorization and team boundary inference via automated bug detection |
US10101971B1 (en) | 2017-03-29 | 2018-10-16 | International Business Machines Corporation | Hardware device based software verification |
US11295210B2 (en) | 2017-06-05 | 2022-04-05 | D5Ai Llc | Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation |
US12045653B2 (en) | 2017-06-22 | 2024-07-23 | Dataware Ventures, Llc | Field specialization to reduce memory-access stalls and allocation requests in data-intensive applications |
KR102006242B1 (ko) * | 2017-09-29 | 2019-08-06 | 주식회사 인사이너리 | 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템 |
US10635813B2 (en) | 2017-10-06 | 2020-04-28 | Sophos Limited | Methods and apparatus for using machine learning on multiple file fragments to identify malware |
US10545740B2 (en) * | 2017-10-25 | 2020-01-28 | Saudi Arabian Oil Company | Distributed agent to collect input and output data along with source code for scientific kernels of single-process and distributed systems |
WO2019094933A1 (en) * | 2017-11-13 | 2019-05-16 | The Charles Stark Draper Laboratory, Inc. | Automated repair of bugs and security vulnerabilities in software |
US10372438B2 (en) | 2017-11-17 | 2019-08-06 | International Business Machines Corporation | Cognitive installation of software updates based on user context |
US10834118B2 (en) * | 2017-12-11 | 2020-11-10 | International Business Machines Corporation | Ambiguity resolution system and method for security information retrieval |
US10659477B2 (en) * | 2017-12-19 | 2020-05-19 | The Boeing Company | Method and system for vehicle cyber-attack event detection |
CN109947460B (zh) * | 2017-12-21 | 2022-03-22 | 鼎捷软件股份有限公司 | 程序连结方法及程序连结系统 |
US10489270B2 (en) * | 2018-01-21 | 2019-11-26 | Microsoft Technology Licensing, Llc. | Time-weighted risky code prediction |
US11003774B2 (en) | 2018-01-26 | 2021-05-11 | Sophos Limited | Methods and apparatus for detection of malicious documents using machine learning |
US11321612B2 (en) | 2018-01-30 | 2022-05-03 | D5Ai Llc | Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights |
US11941491B2 (en) | 2018-01-31 | 2024-03-26 | Sophos Limited | Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content |
US10698674B2 (en) | 2018-02-06 | 2020-06-30 | Smartshift Technologies, Inc. | Systems and methods for entry point-based code analysis and transformation |
US10740075B2 (en) | 2018-02-06 | 2020-08-11 | Smartshift Technologies, Inc. | Systems and methods for code clustering analysis and transformation |
US10528343B2 (en) | 2018-02-06 | 2020-01-07 | Smartshift Technologies, Inc. | Systems and methods for code analysis heat map interfaces |
US10452367B2 (en) * | 2018-02-07 | 2019-10-22 | Microsoft Technology Licensing, Llc | Variable analysis using code context |
US11270205B2 (en) | 2018-02-28 | 2022-03-08 | Sophos Limited | Methods and apparatus for identifying the shared importance of multiple nodes within a machine learning model for multiple tasks |
US11455566B2 (en) * | 2018-03-16 | 2022-09-27 | International Business Machines Corporation | Classifying code as introducing a bug or not introducing a bug to train a bug detection algorithm |
CN108920152B (zh) * | 2018-05-25 | 2021-07-23 | 郑州云海信息技术有限公司 | 一种在bugzilla中增加自定义属性的方法 |
US10671511B2 (en) | 2018-06-20 | 2020-06-02 | Hcl Technologies Limited | Automated bug fixing |
US10628282B2 (en) | 2018-06-28 | 2020-04-21 | International Business Machines Corporation | Generating semantic flow graphs representing computer programs |
DE102018213053A1 (de) * | 2018-08-03 | 2020-02-06 | Continental Teves Ag & Co. Ohg | Verfahren zum Analysieren von Quelltexten |
CN109408114B (zh) * | 2018-08-20 | 2021-06-22 | 哈尔滨工业大学 | 一种程序错误自动修正方法、装置、电子设备及存储介质 |
US10503632B1 (en) * | 2018-09-28 | 2019-12-10 | Amazon Technologies, Inc. | Impact analysis for software testing |
US11093241B2 (en) * | 2018-10-05 | 2021-08-17 | Red Hat, Inc. | Outlier software component remediation |
US11947668B2 (en) | 2018-10-12 | 2024-04-02 | Sophos Limited | Methods and apparatus for preserving information between layers within a neural network |
CN109522192B (zh) * | 2018-10-17 | 2020-08-04 | 北京航空航天大学 | 一种基于知识图谱和复杂网络组合的预测方法 |
CN109960506B (zh) * | 2018-12-03 | 2023-05-02 | 复旦大学 | 一种基于结构感知的代码注释生成方法 |
US10803182B2 (en) * | 2018-12-03 | 2020-10-13 | Bank Of America Corporation | Threat intelligence forest for distributed software libraries |
GB201821248D0 (en) | 2018-12-27 | 2019-02-13 | Palantir Technologies Inc | Data pipeline management system and method |
US20220083320A1 (en) * | 2019-01-09 | 2022-03-17 | Hewlett-Packard Development Company, L.P. | Maintenance of computing devices |
US11574052B2 (en) | 2019-01-31 | 2023-02-07 | Sophos Limited | Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts |
CN113508385B (zh) * | 2019-02-19 | 2022-04-26 | 洛林·G·克雷默三世 | 使用子例程图谱进行形式语言处理的方法和系统 |
US11188454B2 (en) * | 2019-03-25 | 2021-11-30 | International Business Machines Corporation | Reduced memory neural network training |
WO2020194000A1 (en) | 2019-03-28 | 2020-10-01 | Validata Holdings Limited | Method of detecting and removing defects |
CN110162963B (zh) * | 2019-04-26 | 2021-07-06 | 佛山市微风科技有限公司 | 一种识别过权应用程序的方法 |
CN110221933B (zh) * | 2019-05-05 | 2023-07-21 | 北京百度网讯科技有限公司 | 代码缺陷辅助修复方法及系统 |
US11074055B2 (en) * | 2019-06-14 | 2021-07-27 | International Business Machines Corporation | Identification of components used in software binaries through approximate concrete execution |
US11205004B2 (en) * | 2019-06-17 | 2021-12-21 | Baidu Usa Llc | Vulnerability driven hybrid test system for application programs |
WO2021002849A1 (en) * | 2019-07-02 | 2021-01-07 | Hewlett-Packard Development Company, L.P. | Computer readable program code change impact estimations |
CN110427316B (zh) * | 2019-07-04 | 2023-02-14 | 沈阳航空航天大学 | 基于访问行为感知的嵌入式软件缺陷修复方法 |
CN110442527B (zh) * | 2019-08-16 | 2023-07-18 | 扬州大学 | 面向bug报告的自动化修复方法 |
US11397817B2 (en) * | 2019-08-22 | 2022-07-26 | Denso Corporation | Binary patch reconciliation and instrumentation system |
US11042467B2 (en) * | 2019-08-23 | 2021-06-22 | Fujitsu Limited | Automated searching and identification of software patches |
US11650905B2 (en) | 2019-09-05 | 2023-05-16 | International Business Machines Corporation | Testing source code changes |
CN110688198B (zh) * | 2019-09-24 | 2021-03-02 | 网易(杭州)网络有限公司 | 系统调用方法、装置和电子设备 |
US11853196B1 (en) | 2019-09-27 | 2023-12-26 | Allstate Insurance Company | Artificial intelligence driven testing |
US11176015B2 (en) | 2019-11-26 | 2021-11-16 | Optum Technology, Inc. | Log message analysis and machine-learning based systems and methods for predicting computer software process failures |
CN110990021A (zh) * | 2019-11-28 | 2020-04-10 | 杭州迪普科技股份有限公司 | 软件运行方法、装置、主控板及框式设备 |
US11055077B2 (en) | 2019-12-09 | 2021-07-06 | Bank Of America Corporation | Deterministic software code decompiler system |
US20210192314A1 (en) * | 2019-12-18 | 2021-06-24 | Nvidia Corporation | Api for recurrent neural networks |
CN111221731B (zh) * | 2020-01-03 | 2021-10-15 | 华东师范大学 | 一种快速获取到达程序指定点测试用例的方法 |
CN111258905B (zh) * | 2020-01-19 | 2023-05-23 | 中信银行股份有限公司 | 缺陷定位方法、装置和电子设备及计算机可读存储介质 |
US11194702B2 (en) * | 2020-01-27 | 2021-12-07 | Red Hat, Inc. | History based build cache for program builds |
US11307828B2 (en) | 2020-02-05 | 2022-04-19 | Hatha Systems, LLC | System and method for creating a process flow diagram which incorporates knowledge of business rules |
US11620454B2 (en) | 2020-02-05 | 2023-04-04 | Hatha Systems, LLC | System and method for determining and representing a lineage of business terms and associated business rules within a software application |
US11836166B2 (en) | 2020-02-05 | 2023-12-05 | Hatha Systems, LLC | System and method for determining and representing a lineage of business terms across multiple software applications |
US11288043B2 (en) * | 2020-02-05 | 2022-03-29 | Hatha Systems, LLC | System and method for creating a process flow diagram which incorporates knowledge of the technical implementations of flow nodes |
US11348049B2 (en) | 2020-02-05 | 2022-05-31 | Hatha Systems, LLC | System and method for creating a process flow diagram which incorporates knowledge of business terms |
US11113048B1 (en) * | 2020-02-26 | 2021-09-07 | Accenture Global Solutions Limited | Utilizing artificial intelligence and machine learning models to reverse engineer an application from application artifacts |
US11354108B2 (en) * | 2020-03-02 | 2022-06-07 | International Business Machines Corporation | Assisting dependency migration |
JP7508838B2 (ja) | 2020-03-31 | 2024-07-02 | 日本電気株式会社 | 部分抽出装置、部分抽出方法およびプログラム |
CN113672929A (zh) * | 2020-05-14 | 2021-11-19 | 阿波罗智联(北京)科技有限公司 | 漏洞特征获取方法、装置及电子设备 |
US11443082B2 (en) * | 2020-05-27 | 2022-09-13 | Accenture Global Solutions Limited | Utilizing deep learning and natural language processing to convert a technical architecture diagram into an interactive technical architecture diagram |
US11379207B2 (en) | 2020-08-21 | 2022-07-05 | Red Hat, Inc. | Rapid bug identification in container images |
US11422925B2 (en) * | 2020-09-22 | 2022-08-23 | Sap Se | Vendor assisted customer individualized testing |
US11610000B2 (en) | 2020-10-07 | 2023-03-21 | Bank Of America Corporation | System and method for identifying unpermitted data in source code |
WO2022103382A1 (en) * | 2020-11-10 | 2022-05-19 | Veracode, Inc. | Deidentifying code for cross-organization remediation knowledge |
CN112346722B (zh) * | 2020-11-11 | 2022-04-19 | 苏州大学 | 一种实现编译型嵌入式Python的方法 |
CN112463424B (zh) * | 2020-11-13 | 2023-06-02 | 扬州大学 | 一种基于图的端到端程序修复方法 |
US11403090B2 (en) | 2020-12-08 | 2022-08-02 | Alibaba Group Holding Limited | Method and system for compiler optimization based on artificial intelligence |
US11765193B2 (en) * | 2020-12-30 | 2023-09-19 | International Business Machines Corporation | Contextual embeddings for improving static analyzer output |
US11461219B2 (en) | 2021-02-02 | 2022-10-04 | Red Hat, Inc. | Prioritizing software bug mitigation for software on multiple systems |
US11934531B2 (en) | 2021-02-25 | 2024-03-19 | Bank Of America Corporation | System and method for automatically identifying software vulnerabilities using named entity recognition |
US11740895B2 (en) * | 2021-03-31 | 2023-08-29 | Fujitsu Limited | Generation of software program repair explanations |
US12010129B2 (en) | 2021-04-23 | 2024-06-11 | Sophos Limited | Methods and apparatus for using machine learning to classify malicious infrastructure |
CN113407442B (zh) * | 2021-05-27 | 2022-02-18 | 杭州电子科技大学 | 一种基于模式的Python代码内存泄漏检测方法 |
CN113590167B (zh) * | 2021-07-09 | 2023-03-24 | 四川大学 | 一种面向对象程序中条件语句缺陷补丁生成与验证方法 |
CN113535577B (zh) * | 2021-07-26 | 2022-07-19 | 工银科技有限公司 | 基于知识图谱的应用测试方法、装置、电子设备和介质 |
CN113626817B (zh) * | 2021-08-25 | 2024-06-25 | 北京邮电大学 | 恶意代码家族分类方法 |
US11704226B2 (en) * | 2021-09-23 | 2023-07-18 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to detect code defects |
US20230153226A1 (en) * | 2021-11-12 | 2023-05-18 | Microsoft Technology Licensing, Llc | System and Method for Identifying Performance Bottlenecks |
WO2023101574A1 (en) * | 2021-12-03 | 2023-06-08 | Limited Liability Company Solar Security | Method and system for static analysis of binary executable code |
US20230176837A1 (en) * | 2021-12-07 | 2023-06-08 | Dell Products L.P. | Automated generation of additional versions of microservices |
US12007878B2 (en) | 2022-04-05 | 2024-06-11 | Fmr Llc | Testing and deploying targeted versions of application libraries within a software application |
US11874762B2 (en) * | 2022-06-14 | 2024-01-16 | Hewlett Packard Enterprise Development Lp | Context-based test suite generation as a service |
US11758010B1 (en) * | 2022-09-14 | 2023-09-12 | International Business Machines Corporation | Transforming an application into a microservice architecture |
WO2024069772A1 (ja) * | 2022-09-27 | 2024-04-04 | 日本電信電話株式会社 | 解析装置、解析方法および解析プログラム |
WO2024118799A1 (en) * | 2022-11-29 | 2024-06-06 | Guardant Health, Inc. | Methods and systems for secure software delivery |
CN117170673B (zh) * | 2023-08-03 | 2024-05-17 | 浙江大学 | 面向二进制代码文本注释自动化生成方法及装置 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195792B1 (en) * | 1998-02-19 | 2001-02-27 | Nortel Networks Limited | Software upgrades by conversion automation |
JP3603718B2 (ja) * | 2000-02-01 | 2004-12-22 | 日本電気株式会社 | メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体 |
JP2001265580A (ja) * | 2000-03-16 | 2001-09-28 | Nec Eng Ltd | レビュー支援システム及びそれに用いるレビュー支援方法 |
US6751794B1 (en) * | 2000-05-25 | 2004-06-15 | Everdream Corporation | Intelligent patch checker |
JP2002007121A (ja) * | 2000-06-26 | 2002-01-11 | Nec Corp | ソースファイル変更履歴管理方法、装置およびプログラムを記録した記録媒体 |
JP4987180B2 (ja) * | 2000-08-14 | 2012-07-25 | 株式会社東芝 | サーバコンピュータ、ソフトウェア更新方法、記憶媒体 |
US6973640B2 (en) * | 2000-10-04 | 2005-12-06 | Bea Systems, Inc. | System and method for computer code generation |
US8522196B1 (en) * | 2001-10-25 | 2013-08-27 | The Mathworks, Inc. | Traceability in a modeling environment |
US7069547B2 (en) * | 2001-10-30 | 2006-06-27 | International Business Machines Corporation | Method, system, and program for utilizing impact analysis metadata of program statements in a development environment |
US8171549B2 (en) * | 2004-04-26 | 2012-05-01 | Cybersoft, Inc. | Apparatus, methods and articles of manufacture for intercepting, examining and controlling code, data, files and their transfer |
US10162618B2 (en) * | 2004-12-03 | 2018-12-25 | International Business Machines Corporation | Method and apparatus for creation of customized install packages for installation of software |
US7451435B2 (en) * | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US20060236319A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Version control system |
US7484199B2 (en) * | 2006-05-16 | 2009-01-27 | International Business Machines Corporation | Buffer insertion to reduce wirelength in VLSI circuits |
US20090037870A1 (en) * | 2007-07-31 | 2009-02-05 | Lucinio Santos-Gomez | Capturing realflows and practiced processes in an IT governance system |
US20090070746A1 (en) * | 2007-09-07 | 2009-03-12 | Dinakar Dhurjati | Method for test suite reduction through system call coverage criterion |
US8015232B2 (en) * | 2007-10-11 | 2011-09-06 | Roaming Keyboards Llc | Thin terminal computer architecture utilizing roaming keyboard files |
US8468498B2 (en) * | 2008-03-04 | 2013-06-18 | Apple Inc. | Build system redirect |
US20100058474A1 (en) * | 2008-08-29 | 2010-03-04 | Avg Technologies Cz, S.R.O. | System and method for the detection of malware |
JP2010117897A (ja) * | 2008-11-13 | 2010-05-27 | Hitachi Software Eng Co Ltd | プログラム静的解析システム |
US20100287534A1 (en) * | 2009-05-07 | 2010-11-11 | Microsoft Corporation | Test case analysis and clustering |
WO2010131758A1 (ja) * | 2009-05-12 | 2010-11-18 | 日本電気株式会社 | モデル検証システム、モデル検証方法および記録媒体 |
US9342279B2 (en) * | 2009-07-02 | 2016-05-17 | International Business Machines Corporation | Traceability management for aligning solution artifacts with business goals in a service oriented architecture environment |
US20110314331A1 (en) * | 2009-10-29 | 2011-12-22 | Cybernet Systems Corporation | Automated test and repair method and apparatus applicable to complex, distributed systems |
WO2011060377A1 (en) * | 2009-11-15 | 2011-05-19 | Solera Networks, Inc. | Method and apparatus for real time identification and recording of artifacts |
US8495584B2 (en) * | 2010-03-10 | 2013-07-23 | International Business Machines Corporation | Automated desktop benchmarking |
US8381175B2 (en) * | 2010-03-16 | 2013-02-19 | Microsoft Corporation | Low-level code rewriter verification |
JP2012104074A (ja) * | 2010-11-15 | 2012-05-31 | Hitachi Ltd | パッチ管理方法、パッチ管理プログラム、および、パッチ管理装置 |
US8726231B2 (en) * | 2011-02-02 | 2014-05-13 | Microsoft Corporation | Support for heterogeneous database artifacts in a single project |
CN102156832B (zh) * | 2011-03-25 | 2012-09-05 | 天津大学 | 一种Firefox扩展的安全缺陷检测方法 |
US8533676B2 (en) * | 2011-12-29 | 2013-09-10 | Unisys Corporation | Single development test environment |
US20120272204A1 (en) * | 2011-04-21 | 2012-10-25 | Microsoft Corporation | Uninterruptible upgrade for a build service engine |
US8612936B2 (en) * | 2011-06-02 | 2013-12-17 | Sonatype, Inc. | System and method for recommending software artifacts |
JP2013003664A (ja) * | 2011-06-13 | 2013-01-07 | Sony Corp | 情報処理装置および方法 |
US8935286B1 (en) * | 2011-06-16 | 2015-01-13 | The Boeing Company | Interactive system for managing parts and information for parts |
WO2012172687A1 (ja) * | 2011-06-17 | 2012-12-20 | 株式会社日立製作所 | プログラム可視化装置 |
US8856725B1 (en) * | 2011-08-23 | 2014-10-07 | Amazon Technologies, Inc. | Automated source code and development personnel reputation system |
US8726264B1 (en) * | 2011-11-02 | 2014-05-13 | Amazon Technologies, Inc. | Architecture for incremental deployment |
US9210098B2 (en) * | 2012-02-13 | 2015-12-08 | International Business Machines Corporation | Enhanced command selection in a networked computing environment |
US8495598B2 (en) * | 2012-05-01 | 2013-07-23 | Concurix Corporation | Control flow graph operating system configuration |
US9992131B2 (en) * | 2012-05-29 | 2018-06-05 | Alcatel Lucent | Diameter routing agent load balancing |
US9141916B1 (en) * | 2012-06-29 | 2015-09-22 | Google Inc. | Using embedding functions with a deep network |
US9298453B2 (en) * | 2012-07-03 | 2016-03-29 | Microsoft Technology Licensing, Llc | Source code analytics platform using program analysis and information retrieval |
US10102212B2 (en) * | 2012-09-07 | 2018-10-16 | Red Hat, Inc. | Remote artifact repository |
US9830452B2 (en) * | 2012-11-30 | 2017-11-28 | Beijing Qihoo Technology Company Limited | Scanning device, cloud management device, method and system for checking and killing malicious programs |
US9020945B1 (en) * | 2013-01-25 | 2015-04-28 | Humana Inc. | User categorization system and method |
US8930914B2 (en) * | 2013-02-07 | 2015-01-06 | International Business Machines Corporation | System and method for documenting application executions |
US20140258977A1 (en) * | 2013-03-06 | 2014-09-11 | International Business Machines Corporation | Method and system for selecting software components based on a degree of coherence |
US20140282373A1 (en) * | 2013-03-15 | 2014-09-18 | Trinity Millennium Group, Inc. | Automated business rule harvesting with abstract syntax tree transformation |
JP5994693B2 (ja) * | 2013-03-18 | 2016-09-21 | 富士通株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP6321325B2 (ja) * | 2013-04-03 | 2018-05-09 | ルネサスエレクトロニクス株式会社 | 情報処理装置および情報処理方法 |
US9519859B2 (en) * | 2013-09-06 | 2016-12-13 | Microsoft Technology Licensing, Llc | Deep structured semantic model produced using click-through data |
CN103744788B (zh) * | 2014-01-22 | 2016-08-31 | 扬州大学 | 基于多源软件数据分析的特征定位方法 |
US9110737B1 (en) * | 2014-05-30 | 2015-08-18 | Semmle Limited | Extracting source code |
-
2015
- 2015-06-10 US US14/735,646 patent/US20150363196A1/en not_active Abandoned
- 2015-06-10 WO PCT/US2015/035138 patent/WO2015191737A1/en active Application Filing
- 2015-06-10 CN CN201580031458.6A patent/CN106663003A/zh active Pending
- 2015-06-10 EP EP15731199.4A patent/EP3155512A1/en not_active Withdrawn
- 2015-06-10 CA CA2949251A patent/CA2949251C/en not_active Expired - Fee Related
- 2015-06-10 EP EP15731201.8A patent/EP3155514A1/en not_active Withdrawn
- 2015-06-10 JP JP2016572715A patent/JP2017517821A/ja active Pending
- 2015-06-10 CA CA2949248A patent/CA2949248A1/en not_active Abandoned
- 2015-06-10 JP JP2016572723A patent/JP2017519300A/ja active Pending
- 2015-06-10 US US14/735,684 patent/US20150363197A1/en not_active Abandoned
- 2015-06-10 CN CN201580031457.1A patent/CN106537333A/zh active Pending
- 2015-06-10 EP EP15731200.0A patent/EP3155513A1/en not_active Withdrawn
- 2015-06-10 CN CN201580031456.7A patent/CN106537332A/zh active Pending
- 2015-06-10 US US14/735,639 patent/US20150363294A1/en not_active Abandoned
- 2015-06-10 WO PCT/US2015/035131 patent/WO2015191731A1/en active Application Filing
- 2015-06-10 JP JP2016572712A patent/JP2017520842A/ja active Pending
- 2015-06-10 WO PCT/US2015/035148 patent/WO2015191746A1/en active Application Filing
- 2015-06-10 CA CA2949244A patent/CA2949244A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7409197B2 (ja) | 2019-06-20 | 2024-01-09 | 富士通株式会社 | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017519300A5 (ja) | ||
JP2017520842A5 (ja) | ||
JP2017517821A5 (ja) | ||
BR112019003706A8 (pt) | Método para processamento de dados e aparelho para processamento de dados | |
WO2015191731A8 (en) | Systems and methods for software analytics | |
CN103902910B (zh) | 检测智能终端中恶意代码的方法及装置 | |
CN106716398B (zh) | 可视地区分用于测试的字符串 | |
JP2014523015A5 (ja) | ||
JP2017517818A5 (ja) | ||
JP2017536601A5 (ja) | ||
JP2016535335A5 (ja) | ||
JP2017062767A5 (ja) | ||
JP2019506664A5 (ja) | ||
JP2019521574A5 (ja) | ||
JP2019512127A (ja) | 文字列距離計算方法及び装置 | |
US10635431B1 (en) | Dynamically updating source code from a cloud environment | |
RU2016148864A (ru) | Оптимизированный процесс визуализации в браузере | |
US9372968B2 (en) | Methods and apparatuses for embedding digital watermark into and extracting digital watermark from text | |
JP2017538193A5 (ja) | ||
JP2015018559A5 (ja) | ||
JP2016516252A5 (ja) | ||
CN105468661A (zh) | 一种查找elf文件中符号信息的方法及系统 | |
JP2015530677A5 (ja) | ||
RU2015125830A (ru) | Способ (варианты) и система (варианты) управления данными, связанными с иерархической структурой | |
RU2014103153A (ru) | Определение порядка инициализации статистических объектов |