JP2018505506A - 機械ベースの命令編集 - Google Patents
機械ベースの命令編集 Download PDFInfo
- Publication number
- JP2018505506A JP2018505506A JP2017560472A JP2017560472A JP2018505506A JP 2018505506 A JP2018505506 A JP 2018505506A JP 2017560472 A JP2017560472 A JP 2017560472A JP 2017560472 A JP2017560472 A JP 2017560472A JP 2018505506 A JP2018505506 A JP 2018505506A
- Authority
- JP
- Japan
- Prior art keywords
- function
- candidate
- preferred
- equivalence
- preferred function
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
本出願は、2015年2月9日に出願された、タイトルが「Introduction: Jumping the Tar Pit」の米国特許仮出願第62/113,623号、2015年2月9日に出願された、タイトルが「Software Engineering,Software−As−Data:At Ground Zero」の米国特許仮出願第62/113,627号、2016年1月12日に出願された、タイトルが「The Phase Change Thesis」の米国特許仮出願第62/277,769号、および2016年1月20日に出願された、タイトルが「Software as Data,Software as Database,Software as Programming AI,Software as Modeling AI」の米国特許仮出願第62/280,965号の利益を主張し、これらはそれぞれ全体の参照により本明細書に組み込まれる。
上記態様のうち任意の1つ以上において、インディシアを供給するステップは、変換および出力ステップを含む。
上記態様のうち任意の1つ以上において、好ましい機能は、第2の人間に可読な機械命令とは関連しない人間に可読な要素を含む。
上記態様のうち任意の1つ以上において、等価性を判断するステップは、候補機能と好ましい機能の間でいくつかの入力/出力パラメータが異なると判断した場合に不良となる。
上記態様のうち任意の1つ以上において、等価性を判断するステップは、
候補機能と好ましい機能の間で少なくとも1つの入力/出力パラメータが異なると判断し、また、差異が等価クラスの差異を含む場合に不良となる。
上記態様のうち任意の1つ以上において、さらに、
候補機能の第1の機械可読変換を提供し、
好ましい機能の第2の機械可読変換を提供し、
入力の有限セットのうち1つで、第1の機械可読変換と第2の機械可読変換の両方を実行し、
第1の機械可読変換と第2の機械可読変換の両方を実行するステップがそれぞれ、候補機能の第1の機械可読変換および第2の機械可読変換各々から等価値を出力したことを受けて等価性を判断することを含む。
上記態様のうち任意の1つ以上において、等価性を判断するステップがさらに、
候補機能の論理方程式を導出し、
好ましい機能の論理方程式にアクセスし、
候補機能の論理方程式が、好ましい機能の論理方程式とは異なると判断された場合に等価の判断は不良となる。
候補機能の論理方程式が好ましい機能の論理方程式と等価であると判断されるかどうかの判断はさらに、
候補機能の論理方程式と好ましい機能の論理方程式を自動定理証明器に供給し、
等価を示すインディシアを自動定理証明器から受け取る、ことを含む。
上記態様のうち任意の1つ以上において、好ましい機能は、機械コードに変換された場合に、事前に識別された最適な方式で好ましい機能を機械に実行させる命令のセットを含む。
上記態様のうち任意の1つ以上において、事前に識別された最適な方式は、少なくとも1つのセキュリティ目的に準拠する識別された方式を含む。
上記態様のうち任意の1つ以上において、機械はプロセッサを含み、事前に識別された最適な方式は、識別されたプロセッサ動作の個数を含む。
上記態様のうち任意の1つ以上において、機械はメモリを含み、事前に識別された最適な方式は、機械コードを記憶するために必要なメモリの識別されたサイズを含む。
上記態様のうち任意の1つ以上において、好ましい機能は、簡潔なソースコードとして事前識別された命令のセットを含む。
上記態様のうち任意の1つ以上において、等価性を判断するステップがさらに、
候補機能から、候補機能の等価クラスのセットを生成し、等価クラスは、等価機能のセットを含み、セットの各要素は機能からソースへのマッピングを有する。
上記態様のうち任意の1つ以上において、好ましい機能は、候補機能と好ましい機能の間の等価性を判断する抽象構文ツリー(AST)判断に従って選択された最も簡潔なメンバを含む。
システムであって、そのシステムは、
データリポジトリと、
プロセッサを備え、
プロセッサは、
候補機能を有し、人間に可読な第1の機械命令を備えた候補ソースコードを、データリポジトリから取り出し、
人間に可読な第2の機械命令を備え、認定ソースコードとして事前に識別されている好ましい機能に、データリポジトリからアクセスし、
候補機能と好ましい機能の間の等価性を自動的に判断し、等価性が判断されると、候補機能と好ましい機能に関連付けられた等価のインディシアを自動的に供給し、
インディシアが供給されると、候補機能を好ましい機能と置換することを含めて、候補ソースコードを自動的に変換し、変換された候補ソースコードを出力する。
上記態様のうち任意の1つ以上において、プロセッサがインディシアを供給することは、候補機能を、候補ソースコード内の好ましい機能と置換して、その結果を好ましいソースコードとしてセーブすることを含む。
上記態様のうち任意の1つ以上において、プロセッサは、(a)候補機能と好ましい機能の間でいくつかの入力/出力パラメータに差異があると判断した場合、および、(b)候補機能と好ましい機能の間で少なくとも1つの入力/出力パラメータに差異があると判断した場合の少なくとも一方であって、差異が等価クラスの差異を含む場合に等価性を判断できない。
命令を自動編集するシステムであって、
機能を有し、人間に可読な第1の機械命令を備えた候補ソースコードを、データリポジトリから取り出す手段と、
人間に可読な第2の機械命令を備え、認定ソースコードとして事前に識別されている好ましい機能に、データリポジトリからアクセスする手段と、
候補機能と好ましい機能の間の等価性を自動的に判断する手段と、
等価性が判断されると、候補機能と好ましい機能に関連付けられた等価のインディシアをプロセッサによって自動的に供給する手段と、
インディシアが供給されると、候補機能を好ましい機能と置換することを含めて、候補ソースコードをプロセッサによって自動的に変換する手段と、
変換された候補ソースコードを出力する手段と、
を備えている。
上記態様のうち任意の1つ以上において、インディシアを供給するシステムは、変換および出力手段を含む。
候補機能を有し、人間に可読な第1の機械命令を備えた候補コードを、プロセッサによりデータリポジトリから取り出し、人間に可読な第2の機械命令を備え、認定コードとして事前に識別されている好ましい機能に、プロセッサによりデータリポジトリからアクセスし、プロセッサにより、候補機能と好ましい機能の間の等価性を自動的に判断し、等価性が判断されると、プロセッサによって、候補機能と好ましい機能に関連付けられた等価のインディシアを自動的に供給し、インディシアが供給されると、候補機能を好ましい機能と置換することを含めて、プロセッサによって候補コードを自動的に変換し、変換された候補コードを出力することを含む方法。
上記態様のうち任意の1つ以上において、好ましい機能は、機械コードに変換された場合に、事前に識別された最適な方式で好ましい機能を機械に実行させる命令のセットを含む。
上記態様のうち任意の1つ以上において、機械はメモリを含み、事前に識別された最適な方式は、機械コードを記憶するために必要なメモリの識別されたサイズを含む。
上記態様のうち任意の1つ以上において、好ましい機能は、簡潔なコードとして事前に識別された命令のセットを含む。
上記態様のうち任意の1つ以上において、好ましい機能は、候補機能と好ましい機能の間の等価性に関する抽象構文ツリー(AST)判断に従って選択された最も簡潔なメンバを含む。
システムであって、
データリポジトリと、
プロセッサを備え、
プロセッサは、
候補機能を有し、人間に可読な第1の機械命令を備えた候補コードを、データリポジトリから取り出し、
人間に可読な第2の機械命令を備え、認定コードとして事前に識別されている好ましい機能に、データリポジトリからアクセスし、
候補機能と好ましい機能の間の等価性を自動的に判断し、
等価性が判断されると、候補機能と好ましい機能に関連付けられた等価のインディシアを自動的に供給し、
インディシアが供給されると、候補機能を好ましい機能と置換することを含めて、候補コードを自動的に変換し、
変換された候補コードを出力するシステム。
上記態様のうち任意の1つ以上において、プロセッサがインディシアを供給することは、候補機能を、候補コード内の好ましい機能と置換して、その結果を好ましいコードとしてセーブすることを含むシステム。
命令を自動編集するシステムであって、
機能を有し、人間に可読な第1の機械命令を備えた候補コードを、データリポジトリから取り出す手段と、
人間に可読な第2の機械命令を備えた好ましい機能にデータリポジトリからアクセスする手段を備え、人間に可読な第2の機械命令は認定コードとして事前に識別されており、さらに、
候補機能と好ましい機能の間の等価性を自動的に判断する手段と、
等価性が判断されると、候補機能と好ましい機能に関連付けられた等価のインディシアをプロセッサより自動的に供給する手段と、
インディシアが供給されると、候補機能を好ましい機能と置換することを含めて、プロセッサによって候補コードを自動的に変換する手段と、
変換された候補コードを出力する手段を含むシステム。
上記態様のうち任意の1つ以上において、さらに、候補ソースコード、非ソースコード、機械コードまたは回路実装命令のうち1つ以上が、同様なまたは異なる候補ソースコード、非ソースコード、または回路実装命令と比較されることを含む。
上記態様のうち任意の1つ以上において、さらに、いくつかのプロセッサが、候補機能にアクセスして、好ましい機能に対する機能的等価性を判断し、機能的等価性が判断された場合、候補機能および/または好ましい機能を用いて、識別し、置換し、将来置換がなされるべきであることを示唆する、またはプログラムもしくはシステム内の好ましくない機能を示唆する。システムが候補機能および/または好ましい機能を利用していることを示唆することを含む。
上記態様のうち任意の1つ以上において、さらに、インスタンスユニーク、システムユニーク、グローバリーユニーク、また一時的または無期限にユニークな要素であり得る論理方程式の要素、操作、部分または全体を現す1つ以上の記号の利用を含む。
上記態様のうち任意の1つ以上において、さらに、等価が、抽象構文構造、抽象構文ツリー(AST)、論理方程式、一次論理、二次論理等で判断されることを含む。
上記態様のうち任意の1つ以上において、さらに、好ましい機能と候補機能のうち少なくとも1つが、サブルーチン、方法、手順、述語、命令のシーケンスもしくは大規模コンピュータプログラム内のルール、またはそのルールによる単一の出力への入力に関する関係、のうち少なくとも1つを含む。
Claims (45)
- 方法であって、
候補機能を有し人間に可読な第1の機械命令を備えた候補ソースコードを、プロセッサによりデータリポジトリから取り出し、
人間に可読な第2の機械命令を備え、認定ソースコードとして事前に識別されている好ましい機能に、前記プロセッサによりデータリポジトリからアクセスし、
前記プロセッサにより、前記候補機能と前記好ましい機能の間の等価性を自動的に判断し、
等価性が判断されると、前記プロセッサによって、前記候補機能と前記好ましい機能に関連付けられた等価のインディシアを自動的に供給し、
前記インディシアが供給されると、前記候補機能を前記好ましい機能と置換することを含めて、前記プロセッサによって候補ソースコードを自動的に変換し、
前記変換された前記候補ソースコードを出力する、
ことを含む方法。 - 前記インディシアを供給するステップは、変換および出力ステップを含む、請求項1に記載の方法。
- 前記好ましい機能は、人間に可読な第2の機械命令とは関連しない人間に可読な要素を含む、請求項1に記載の方法。
- 前記等価性を判断するステップは、前記候補機能と前記好ましい機能の間でいくつかの入力/出力パラメータが異なると判断した場合に不良となる、請求項1に記載の方法。
- 前記等価性を判断するステップは、
前記候補機能と前記好ましい機能の間で少なくとも1つの入力/出力パラメータが異なると判断し、また、
差異が等価クラスの差異を含む場合に不良となる、
請求項1に記載の方法。 - 前記候補機能の第1の機械可読変換を提供し、
前記好ましい機能の第2の機械可読変換を提供し、
入力の有限セットのうち1つで、前記第1の機械可読変換と前記第2の機械可読変換の両方を実行し、
前記第1の機械可読変換と前記第2の機械可読変換の両方を実行するステップがそれぞれ、前記候補機能の第1の機械可読変換および第2の機械可読変換各々から等価値を出力したことを受けて等価性を判断する、
請求項1に記載の方法。 - 等価性を判断するステップがさらに、
候補機能の論理方程式を導出し、
好ましい機能の論理方程式にアクセスすることを含み、
前記候補機能の論理方程式が、前記好ましい機能の論理方程式とは異なると判断された場合に等価性が判断できない、
請求項1に記載の方法。 - 前記候補機能の論理方程式が前記好ましい機能の論理方程式と等価であると判断されるかどうかの判断はさらに、
前記候補機能の論理方程式と前記好ましい機能の論理方程式を自動定理証明器に供給し、
等価性を示すインディシアを前記自動定理証明器から受け取る、ことを含む、
請求項7に記載の方法。 - 前記好ましい機能は、機械コードに変換された場合に、事前に識別された最適な方式で前記好ましい機能を機械に実行させる命令のセットを含む、
請求項1に記載の方法。 - 前記事前に識別された最適な方式は、少なくとも1つのセキュリティ目的に準拠する識別された方式を含む、請求項9に記載の方法。
- 前記機械はプロセッサを含み、前記事前に識別された最適な方式は、識別されたプロセッサ動作の個数を含む、請求項9に記載の方法。
- 前記機械はメモリを含み、前記事前に識別された最適な方式は、機械コードを記憶するために必要なメモリの識別されたサイズを含む、請求項9に記載の方法。
- 前記好ましい機能は、事前に簡潔なソースコードとして識別された命令のセットを含む、請求項1に記載の方法。
- 等価性を判断するステップがさらに、
前記候補機能から、前記候補機能の等価クラスのセットを生成することを含み、前記等価クラスは、等価機能のセットを含み、前記セットの各要素は機能からソースへのマッピングを有する、請求項1に記載の方法。 - 前記好ましい機能は、前記候補機能と前記好ましい機能の間の等価性に関する抽象構文構造判断に従って選択された最も簡潔なメンバを含む、請求項1に記載の方法。
- 前記抽象構文構造は抽象構文ツリー(AST)を含む、請求項1に記載の方法。
- 前記好ましい機能と候補機能のうち一方は第1の記号で表され、
前記プロセッサによって、前記候補機能と好ましい機能の間の等価性を自動的に判断することはさらに、前記候補機能と好ましい機能のうち他方と前記第1の記号との等価性を判断することを含む、
請求項1に記載の方法。 - 前記好ましい機能と候補機能のうち他方は第2の記号で表され、
前記プロセッサによって、前記候補機能と好ましい機能の間の等価性を自動的に判断することはさらに、前記第1の記号と前記第2の記号の間の等価性を判断することを含む、
請求項17に記載の方法。 - 前記好ましい機能と前記候補機能のうち少なくとも1つが、サブルーチンを含む、請求項1に記載の方法。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、方法を含む、請求項1に記載の方法。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、手順を含む、請求項1に記載の方法。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、述語を含む、請求項1に記載の方法。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、命令のシーケンスまたは大規模コンピュータプログラム内のルールを含む、請求項1に記載の方法。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、前記ルールによる単一の出力への入力に関する関係を含む、請求項1に記載の方法。
- システムであって、
データリポジトリと、
プロセッサを備え、
前記プロセッサは、
候補機能を有し、人間に可読な第1の機械命令を備えた候補ソースコードを、データリポジトリから取り出し、
データデポジトリから好ましい機能にアクセスし、前記好ましい機能は、人間に可読な第2の機械命令を備え、認定ソースコードとして事前に識別されており、
前記候補機能と好ましい機能の間の等価性を自動的に判断し、
等価性が判断されると、前記候補機能と好ましい機能に関連付けられた等価のインディシアを自動的に供給し、
前記インディシアが供給されると、前記候補機能を前記好ましい機能と置換することを含めて、前記候補ソースコードを自動的に変換し、
前記変換された候補ソースコードを出力する、
システム。 - 前記プロセッサがインディシアを供給することは、前記候補機能を、前記候補ソースコード内の好ましい機能と置換して、その結果を好ましいソースコードとしてセーブすることを含む、請求項25に記載のシステム。
- 前記プロセッサは、(a)候補機能と好ましい機能の間でいくつかの入力/出力パラメータに差異があると判断した場合、および、(b)候補機能と好ましい機能の間で少なくとも1つの入力/出力パラメータに差異があると判断した場合の少なくとも一方であって、差異が等価クラスの差異を含む場合に等価性を判断できない、請求項25に記載のシステム。
- 前記プロセッサが前記候補機能と好ましい機能の間の等価性を判断することは、前記候補機能と好ましい機能のうち一方を表す第1の記号と、前記候補機能と好ましい機能のうち他方との間の等価性を判断することを含む、請求項25に記載のシステム。
- 前記プロセッサが前記候補機能と好ましい機能の間の等価性を判断することは、前記候補機能と好ましい機能のうち一方を表す第1の記号と、前記候補機能と好ましい機能のうち他方を表す第2の記号との間の等価性を判断することを含む、請求項28に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つがサブルーチンを含む、請求項25に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが方法を含む、請求項25に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが手順を含む、請求項25に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが述語を含む、請求項25に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、命令のシーケンスまたは大規模コンピュータプログラム内のルールを含む、請求項25に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、前記ルールによる単一の出力への入力に関する関係を含む、請求項25に記載のシステム。
- 命令を自動編集するシステムであって、
機能を有し、人間に可読な第1の機械命令を備えた候補ソースコードを、データリポジトリから取り出す手段と、
データデポジトリから、人間に可読な第2の機械命令を備えた好ましい機能にアクセスする手段を備え、人間に可読な第2の機械命令は認定ソースコードとして事前に識別されており、
さらに、候補機能と好ましい機能の間の等価性を自動的に判断する手段と、
等価性が判断されると、前記候補機能と前記好ましい機能に関連付けられた等価のインディシアを自動的に供給する手段と、
前記インディシアが供給されると、前記候補機能を前記好ましい機能と置換することを含めて、前記候補ソースコードをプロセッサによって自動的に変換する手段と、
前記変換された候補ソースコードを出力する手段と、
を備えたシステム。 - 前記インディシアを供給するシステムは、変換および出力手段を含む、請求項36に記載のシステム。
- 前記候補機能と好ましい機能の間の等価性を自動的に判断する手段はさらに、前記候補機能と好ましい機能のうちの一方と、前記候補機能と好ましい機能のうちの他方を表す前記第1の記号との間の等価性を判断する手段を含む、請求項36に記載のシステム。
- 前記候補機能と好ましい機能の間の等価性を自動的に判断する手段はさらに、前記候補機能と好ましい機能のうちの一方を表す第2の記号と、前記第1の記号との間の等価性を判断する手段を含む、請求項38に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つがサブルーチンを含む、請求項36に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが方法を含む、請求項36に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが手順を含む、請求項36に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが述語を含む、請求項36に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが命令のシーケンスまたは大規模コンピュータプログラム内のルールを含む、請求項36に記載のシステム。
- 前記好ましい機能と前記候補機能のうち少なくとも1つが、前記ルールによる単一の出力への入力に関する関係を含む、請求項36に記載のシステム。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562113627P | 2015-02-09 | 2015-02-09 | |
US201562113623P | 2015-02-09 | 2015-02-09 | |
US62/113,627 | 2015-02-09 | ||
US62/113,623 | 2015-02-09 | ||
US201662277769P | 2016-01-12 | 2016-01-12 | |
US62/277,769 | 2016-01-12 | ||
US201662280965P | 2016-01-20 | 2016-01-20 | |
US62/280,965 | 2016-01-20 | ||
PCT/US2016/017160 WO2016130551A1 (en) | 2015-02-09 | 2016-02-09 | Machine-based instruction editing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018505506A true JP2018505506A (ja) | 2018-02-22 |
JP2018505506A5 JP2018505506A5 (ja) | 2019-02-28 |
Family
ID=55527624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017560472A Pending JP2018505506A (ja) | 2015-02-09 | 2016-02-09 | 機械ベースの命令編集 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10296330B2 (ja) |
EP (1) | EP3238050A1 (ja) |
JP (1) | JP2018505506A (ja) |
CA (1) | CA2975305C (ja) |
IL (2) | IL253424B (ja) |
WO (1) | WO2016130551A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694947B1 (en) | 2009-12-09 | 2014-04-08 | The Mathworks, Inc. | Resource sharing workflows within executable graphical models |
JP2018505506A (ja) | 2015-02-09 | 2018-02-22 | フェイズ チェンジ ソフトウェア エルエルシー | 機械ベースの命令編集 |
US10423733B1 (en) * | 2015-12-03 | 2019-09-24 | The Mathworks, Inc. | Systems and methods for sharing resources having different data types |
WO2018190799A1 (en) * | 2017-04-11 | 2018-10-18 | Siemens Product Lifecycle Management Software Inc. | Systems and methods to semantically compare product configuration models |
US10564939B2 (en) * | 2017-06-05 | 2020-02-18 | Devfactory Fz-Llc | Method and system for arbitrary-granularity execution clone detection |
US10732966B2 (en) | 2017-09-08 | 2020-08-04 | Devfactory Innovations Fz-Llc | Library model addition |
US10114624B1 (en) * | 2017-10-12 | 2018-10-30 | Devfactory Fz-Llc | Blackbox matching engine |
US11157250B2 (en) | 2017-12-05 | 2021-10-26 | Phase Change Software Llc | Inductive equivalence in machine-based instruction editing |
DE202017007536U1 (de) | 2017-12-05 | 2022-07-05 | Phase Change Software Llc | Induktive Äquivalenz bei der maschinellen Bearbeitung von Anweisungen |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1029633A (en) | 1911-05-06 | 1912-06-18 | William W Revell | Vehicle-wheel. |
US1045239A (en) | 1911-10-02 | 1912-11-26 | Waterloo Gasolene Engine Company | Device for turning crank-pins on engine-shafts. |
US3205369A (en) * | 1960-05-09 | 1965-09-07 | Honeywell Inc | Electro-mechanical plugboard sequencing apparatus |
US8683441B2 (en) | 2006-01-11 | 2014-03-25 | International Business Machines Corporation | Software equivalence checking |
US8739144B2 (en) | 2008-12-17 | 2014-05-27 | Freescale Semiconductor, Inc. | Compiler optimisation like idiom recognition through pattern matching using value numbering |
US8434059B2 (en) * | 2009-05-01 | 2013-04-30 | Apple Inc. | Systems, methods, and computer-readable media for fertilizing machine-executable code |
US20110126179A1 (en) * | 2009-11-24 | 2011-05-26 | Thomas Hartman | Method and System for Dynamic Patching Software Using Source Code |
US9864583B2 (en) * | 2014-11-14 | 2018-01-09 | Cavium, Inc. | Algorithm to derive logic expression to select execution blocks for programmable network devices |
JP2018505506A (ja) | 2015-02-09 | 2018-02-22 | フェイズ チェンジ ソフトウェア エルエルシー | 機械ベースの命令編集 |
WO2016130542A1 (en) | 2015-02-10 | 2016-08-18 | The Trustees Of Columbia University In The City Of New York | Code relatives detection |
US10048945B1 (en) * | 2017-05-25 | 2018-08-14 | Devfactory Fz-Llc | Library suggestion engine |
US11157250B2 (en) | 2017-12-05 | 2021-10-26 | Phase Change Software Llc | Inductive equivalence in machine-based instruction editing |
-
2016
- 2016-02-09 JP JP2017560472A patent/JP2018505506A/ja active Pending
- 2016-02-09 EP EP16709845.8A patent/EP3238050A1/en not_active Ceased
- 2016-02-09 CA CA2975305A patent/CA2975305C/en active Active
- 2016-02-09 US US15/544,377 patent/US10296330B2/en active Active
- 2016-02-09 WO PCT/US2016/017160 patent/WO2016130551A1/en active Application Filing
-
2017
- 2017-07-11 IL IL253424A patent/IL253424B/en unknown
-
2019
- 2019-05-01 US US16/400,598 patent/US10452390B2/en active Active
- 2019-10-16 US US16/654,650 patent/US10877748B2/en active Active
-
2021
- 2021-06-23 IL IL284340A patent/IL284340B/en unknown
Also Published As
Publication number | Publication date |
---|---|
US10296330B2 (en) | 2019-05-21 |
CA2975305C (en) | 2023-02-28 |
CA2975305A1 (en) | 2016-08-18 |
US20180011706A1 (en) | 2018-01-11 |
US20200050449A1 (en) | 2020-02-13 |
IL284340A (en) | 2021-07-29 |
US10452390B2 (en) | 2019-10-22 |
IL284340B (en) | 2022-01-01 |
US20190258480A1 (en) | 2019-08-22 |
EP3238050A1 (en) | 2017-11-01 |
US10877748B2 (en) | 2020-12-29 |
IL253424A0 (en) | 2017-08-31 |
WO2016130551A1 (en) | 2016-08-18 |
IL253424B (en) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452390B2 (en) | Machine-based instruction editing | |
US11899818B2 (en) | System and method for code-based protection of sensitive data | |
CN106528165B (zh) | 代码生成方法及代码生成*** | |
US11720334B2 (en) | Inductive equivalence in machine-based instruction editing | |
CA2779087C (en) | Managing record format information | |
US10387236B2 (en) | Processing data errors for a data processing system | |
JP2017519300A (ja) | ソフトウェアアナリティクスのためのシステム及び方法 | |
EP3623948B1 (en) | Method and system for code analysis to identify causes of code smells | |
US11307975B2 (en) | Machine code analysis for identifying software defects | |
JP2017174418A (ja) | モデルチェックのためのデータ構造抽象化 | |
Stephan et al. | MuMonDE: A framework for evaluating model clone detectors using model mutation analysis | |
CN112230963A (zh) | 安全漏洞修复的方法、装置、计算机设备和存储介质 | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
US8819645B2 (en) | Application analysis device | |
CN115795059A (zh) | 一种面向敏捷开发的威胁建模方法及*** | |
US11144287B2 (en) | Compile time validation of programming code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191119 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200714 |