JP5264898B2 - 遅延バインディングのプログラム補助 - Google Patents
遅延バインディングのプログラム補助 Download PDFInfo
- Publication number
- JP5264898B2 JP5264898B2 JP2010513324A JP2010513324A JP5264898B2 JP 5264898 B2 JP5264898 B2 JP 5264898B2 JP 2010513324 A JP2010513324 A JP 2010513324A JP 2010513324 A JP2010513324 A JP 2010513324A JP 5264898 B2 JP5264898 B2 JP 5264898B2
- Authority
- JP
- Japan
- Prior art keywords
- type
- component
- program
- dynamic
- types
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- 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/33—Intelligent editors
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
Dim X As Object
If SomeCondition
X=’’Hello’’
Else
X=new Button()
End If
コードの第1行において、変数「X」が型「Object」の変数であると宣言する。従って、変数の型を明示的に宣言するので、上記は、変数「X」の型であるとすることができる。しかしながら、上記は、「Object」がルート型又はスーバ―型である点において非常に有益でなく、いくつかの言語において、変数、式等が遅延バインディングであることを示すのに単に使用される。更に、後続の条件は、より具体的な型を指定する。条件は、「X」を、文字列「Hello」に割当てる又は新しい「Button」としてインスタンスを作成する「If、Then、Else」の条件である。静的分析コンポーネント210の上記のプログラムのフロー分析についての結果は、型「String」及び「Button」が動的型変数「X」の潜在的な型を表すので、型「String」及び「Button」の集合であるとすることが可能である。
Dim X As Object
If SomeCondition
X=’’Hello’’
Else
X=new Button()
End If
上記のループの次に「Dim Y=X.」の追加及び補助コンポーネント120により提供されるメンバーのリストからの「Length()」の選択を仮定する。上記の点において、Lengthメソッドの結果が整数型であることを決定することができる。従って、リファクターコンポーネント610は、動的呼び出しの周囲に暗示的なキャストを挿入してユーザー選択のメンバーにより決定されたような静的型を戻すことによって、「Y」を遅延バインディングから事前バインディングに自動的に変換することができる。例えば以下の通りである。すなわち、「Dim Y=CInt(X.Length())REM X Inferred as Integer」である。あるいはまた、以下の通りに、初めにレシーバーを変換することより、呼び出しを、静的呼び出しにすることができる。すなわち、「Dim Y=Cstr(X).Length()REM X inferred as Integer」である。上記の両方の場合には、上記の変換を、生成されたコードにおいて、コンパイラ又は同様のコンポーネントにより挿入することができる。
Claims (18)
- 統合されたプログラム開発のシステムであって、
型情報を生成する動的型コンポーネントであって、
プログラムの静的分析を実行して、遅延バインディングのプログラムのコンストラクトに関する1又は複数の候補の型を決定する静的型分析コンポーネントと、
プログラム記述の間のバックグラウンドにおけるプログラム実行から動的型情報を検索することによって、前記1又は複数の候補の型から明確な動的型を識別する実行分析コンポーネントと
を備え、前記型情報は当該識別された動的型を含む、動的型コンポーネントと、
前記動的型コンポーネントによって生成された前記型情報を受け取り、前記型情報に基づいてフィードバックを提供する補助コンポーネントであって、前記フィードバックはコード記述又はコード完了に関するサジェスチョンを含み、前記サジェスチョンは前記識別された動的型のメンバーを含み、前記メンバーは、変数、フィールド、メソッド、及び関数を含む、補助コンポーネントと、
を備えたことを特徴とするシステム。 - 前記動的型コンポーネントは、プログラムの設計のときの実行により遅延バインディングのプログラムのコンストラクトに対して明確な型を識別すること特徴とする請求項1に記載のシステム。
- 前記補助コンポーネントによる使用のために事前バインディングのプログラムのコンストラクトに対して型を識別する静的型コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
- 提供されたサジェスチョンを予め定められた個数の最も関係のあるサジェスチョンに制限するフィルターコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
- 関連する型が正しいとする見込みに応じての各サジェスチョンの関連性をランク付けするランク付けコンポーネントをさらに備えたことを特徴とする請求項4に記載のシステム。
- 少なくとも1つのサジェスチョンは、候補の型にマッチするメンバーを識別することを特徴とする請求項4に記載のシステム。
- 前記候補の型及び/又は関連するサジェスチョンを維持して実行を最適化する最適化コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
- プログラマの記述の通りに動的型を静的型へ変換するリファクターコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
- オブジェクト指向プログラム開発を補助する方法であって、
設計のときに遅延バインディング呼び出しについてのレシーバーに対して少なくとも1つの型を決定するステップであって、当該決定は、型情報を生成する動的型コンポーネントによってなされ、前記動的型コンポーネントは、
プログラムの静的分析を実行して、遅延バインディングのプログラムのコンストラクトに関する1又は複数の候補の型を決定する静的型分析コンポーネントと、
プログラム記述の間のバックグラウンドにおけるプログラム実行から動的型情報を検索することによって、前記1又は複数の候補の型から明確な動的型を識別する実行分析コンポーネントと
を備え、前記型情報は当該識別された動的型を含む、ステップと、
前記動的型コンポーネントによって生成された前記型情報を補助コンポーネントが受け取り、選択及び自動コード完了のために、前記型情報に基づいてフィードバックを表示装置に表示するステップであって、前記フィードバックはコード記述又はコード完了に関するサジェスチョンを含み、前記サジェスチョンは前記識別された動的型のメンバーを含み、前記メンバーは、変数、フィールド、メソッド、及び関数を含む、ステップと
を備えたことを特徴とする方法。 - コードの静的分析を実行して前記型を推論するステップをさらに備えたことを特徴とする請求項9に記載の方法。
- 設計のときのコードの実行から前記型を識別するステップをさらに備えたことを特徴とする請求項9に記載の方法。
- 前記型が正しいとする見込みより決定される関連性の順に前記メンバーを表示するステップをさらに備えたことを特徴とする請求項9に記載の方法。
- 明確な型及び/又は推測の型から得られるメンバーを示すステップをさらに備えたことを特徴とする請求項12に記載の方法。
- キャッシュから前記少なくとも1つの型及び/又はメンバーを検索するステップをさらに備えたことを特徴とする請求項9に記載の方法。
- インデックスを使用して前記型のメンバーを識別するステップをさらに備えたことを特徴とする請求項9に記載の方法。
- 選択されたメンバーに応じて動的呼び出しを静的呼び出しと取替えるステップをさらに備えたことを特徴とする請求項9に記載の方法。
- プログラムの記述を容易にするシステムであって、
設計のときに遅延バインディング呼び出しのプログラムのコンストラクトに関する1つ又は複数の可能性のある型を決定する手段であって、当該決定は、型情報を生成する動的型コンポーネントによってなされ、前記動的型コンポーネントは、
プログラムの静的分析を実行して、遅延バインディングのプログラムのコンストラクトに関する1又は複数の候補の型を決定する静的型分析コンポーネントと、
プログラム記述の間のバックグラウンドにおけるプログラム実行から動的型情報を検索することによって、前記1又は複数の候補の型から明確な動的型を識別する実行分析コンポーネントと
を備え、前記型情報は当該識別された動的型を含む、手段と、
前記動的型コンポーネントによって生成された前記型情報を補助コンポーネントが受け取り、前記型情報に基づいてフィードバックをコードエディター内に表示する手段であって、前記フィードバックはコード記述又はコード完了に関するサジェスチョンを含み、前記サジェスチョンは前記識別された動的型のメンバーを含み、前記メンバーは、変数、フィールド、メソッド、及び関数を含む、手段と
を備えたことを特徴とするシステム。 - 1つ又は複数の静的型を決定する手段をさらに備えたことを特徴とする請求項17に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/766,347 US8321836B2 (en) | 2007-06-21 | 2007-06-21 | Late bound programmatic assistance |
US11/766,347 | 2007-06-21 | ||
PCT/US2008/066149 WO2009002683A2 (en) | 2007-06-21 | 2008-06-06 | Late bound programmatic assistance |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010530590A JP2010530590A (ja) | 2010-09-09 |
JP5264898B2 true JP5264898B2 (ja) | 2013-08-14 |
Family
ID=40137833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010513324A Expired - Fee Related JP5264898B2 (ja) | 2007-06-21 | 2008-06-06 | 遅延バインディングのプログラム補助 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8321836B2 (ja) |
EP (1) | EP2174216B1 (ja) |
JP (1) | JP5264898B2 (ja) |
CN (1) | CN101689112B (ja) |
BR (1) | BRPI0812127A2 (ja) |
TW (1) | TWI493464B (ja) |
WO (1) | WO2009002683A2 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473971B2 (en) | 2005-09-06 | 2013-06-25 | Microsoft Corporation | Type inference and type-directed late binding |
US20080320453A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Type inference and late binding |
US9170787B2 (en) * | 2008-06-27 | 2015-10-27 | Microsoft Technology Licensing, Llc | Componentization of compiler functionality |
US20090328001A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Unloadable managed code |
US9135948B2 (en) | 2009-07-03 | 2015-09-15 | Microsoft Technology Licensing, Llc | Optical medium with added descriptor to reduce counterfeiting |
US20100235730A1 (en) * | 2009-03-13 | 2010-09-16 | Microsoft Corporation | Consume-first mode text insertion |
US8799877B2 (en) * | 2009-03-27 | 2014-08-05 | Optumsoft, Inc. | Interpreter-based program language translator using embedded interpreter types and variables |
US8533669B2 (en) * | 2009-04-21 | 2013-09-10 | Microsoft Corporation | Analysis of dynamic elements in bounded time |
US9075667B2 (en) * | 2009-05-21 | 2015-07-07 | Microsoft Technology Licensing, Llc | Dynamic binding directed by static types |
JP4912452B2 (ja) * | 2009-11-27 | 2012-04-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 動的型付け言語で記述されたソースコードを静的型付け言語で記述されたターゲットコードに変換し、実行する方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム |
US8429200B2 (en) * | 2010-02-02 | 2013-04-23 | Red Hat, Inc. | Using a separate process in an interactive computer programming environment as a database |
US20110271250A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Software Development Tool |
US20110271258A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Software Development Tool |
US8572591B2 (en) * | 2010-06-15 | 2013-10-29 | Microsoft Corporation | Dynamic adaptive programming |
US9195810B2 (en) * | 2010-12-28 | 2015-11-24 | Microsoft Technology Licensing, Llc | Identifying factorable code |
US8997069B2 (en) * | 2011-04-13 | 2015-03-31 | Microsoft Technology Licensing, Llc | API descriptions |
US9256401B2 (en) | 2011-05-31 | 2016-02-09 | Microsoft Technology Licensing, Llc | Editor visualization of symbolic relationships |
US9383973B2 (en) * | 2011-06-29 | 2016-07-05 | Microsoft Technology Licensing, Llc | Code suggestions |
US9542168B2 (en) | 2011-11-10 | 2017-01-10 | Microsoft Technology Licensing Llc | Hostable compiler utilizing type information from a host application |
US9032378B2 (en) * | 2011-12-16 | 2015-05-12 | Microsoft Technology Licensing, Llc | Available symbol set generation using untyped variable |
US8869106B2 (en) * | 2011-12-16 | 2014-10-21 | Microsoft Corporation | Language service provider management using application context |
US9170782B2 (en) * | 2012-03-27 | 2015-10-27 | Microsoft Technology Licensing, Llc | Extensible mechanism for providing suggestions in a source code editor |
US8843890B2 (en) * | 2012-05-10 | 2014-09-23 | International Business Machines Corporation | System and method for transplanting source code |
US10606569B2 (en) * | 2013-06-02 | 2020-03-31 | Microsoft Technology Licensing, Llc | Declarative configuration elements |
US9244658B2 (en) | 2013-06-04 | 2016-01-26 | Microsoft Technology Licensing, Llc | Multi-step auto-completion model for software development environments |
US9329849B2 (en) | 2013-08-26 | 2016-05-03 | Facebook, Inc. | Systems and methods for converting typed code |
US11188308B2 (en) * | 2014-07-23 | 2021-11-30 | Apple Inc. | Interactive code editing |
US9678746B2 (en) * | 2014-07-31 | 2017-06-13 | International Business Machines Corporation | Coding convention discovery and enforcement |
US10261766B2 (en) * | 2014-08-28 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | Sloppy feedback loop compilation |
US10114627B2 (en) * | 2014-09-17 | 2018-10-30 | Salesforce.Com, Inc. | Direct build assistance |
CN104657658A (zh) * | 2015-02-13 | 2015-05-27 | 深圳酷派技术有限公司 | 一种安装应用的方法及终端 |
CN107515739B (zh) * | 2016-06-16 | 2021-02-26 | 斑马智行网络(香港)有限公司 | 提高代码执行性能的方法及装置 |
US10162605B2 (en) * | 2016-07-20 | 2018-12-25 | Microsoft Technology Licensing, Llc | Code snippet content recommendation to define an object literal |
US10503478B2 (en) * | 2017-02-14 | 2019-12-10 | Hcl Technologies Limited | System and method for guiding a user in a software development lifecycle using machine learning |
CN108920149B (zh) * | 2017-03-29 | 2020-12-08 | 华为技术有限公司 | 编译方法和编译装置 |
US11243750B2 (en) | 2018-01-21 | 2022-02-08 | Microsoft Technology Licensing Llc | Code completion with machine learning |
US10990358B2 (en) | 2018-03-29 | 2021-04-27 | Microsoft Technology Licensing, Llc. | Code completion for overloaded methods |
US11645576B2 (en) | 2018-04-29 | 2023-05-09 | Microsoft Technology Licensing, Llc. | Code completion for languages with hierarchical structures |
CN114416104B (zh) * | 2022-03-30 | 2022-08-09 | 清华大学 | 一种结构化数据文件处理方法及装置 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488727A (en) * | 1991-09-30 | 1996-01-30 | International Business Machines Corporation | Methods to support multimethod function overloading with compile-time type checking |
US5485615A (en) * | 1992-06-10 | 1996-01-16 | Telefonaktiebolaget L M Ericsson | System and method of interactively developing desired computer programs by using plurality of tools within a process described in graphical language |
JP3178151B2 (ja) * | 1993-03-19 | 2001-06-18 | 富士ゼロックス株式会社 | オブジェクト指向言語のメッセージコンパイル装置 |
US5748961A (en) * | 1993-07-12 | 1998-05-05 | Digital Equipment Corporation | Efficient method and apparatus for compiling and linking modules of computer code in a large software system |
US5500881A (en) * | 1993-07-12 | 1996-03-19 | Digital Equipment Corporation | Language scoping for modular, flexible, concise, configuration descriptions |
US6425124B1 (en) * | 1993-11-08 | 2002-07-23 | Matsushita Electric Industrial Co. Ltd. | Resource allocation device for reducing the size and run time of a machine language program |
US5742828A (en) * | 1994-08-03 | 1998-04-21 | Microsoft Corporation | Compiler and method for evaluation of foreign syntax expressions in source code |
US5692195A (en) * | 1994-08-31 | 1997-11-25 | International Business Machines Corporation | Parent class shadowing |
US5748963A (en) * | 1995-05-12 | 1998-05-05 | Design Intelligence, Inc. | Adaptive binding |
US5687377A (en) * | 1995-10-06 | 1997-11-11 | Electronic Data Systems Corporation | Method for storing variables in a programming language |
US5872973A (en) * | 1995-10-26 | 1999-02-16 | Viewsoft, Inc. | Method for managing dynamic relations between objects in dynamic object-oriented languages |
US6072950A (en) * | 1996-06-18 | 2000-06-06 | Microsoft Corporation | Pointer analysis by type inference combined with a non-pointer analysis |
US6041179A (en) * | 1996-10-03 | 2000-03-21 | International Business Machines Corporation | Object oriented dispatch optimization |
JPH10124325A (ja) * | 1996-10-25 | 1998-05-15 | Toshiba Corp | 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6134708A (en) * | 1997-02-13 | 2000-10-17 | Nec Corporation | Program compilation execution system |
US5842220A (en) * | 1997-05-02 | 1998-11-24 | Oracle Corporation | Methods and apparatus for exposing members of an object class through class signature interfaces |
US6026233A (en) * | 1997-05-27 | 2000-02-15 | Microsoft Corporation | Method and apparatus for presenting and selecting options to modify a programming language statement |
US6314559B1 (en) * | 1997-10-02 | 2001-11-06 | Barland Software Corporation | Development system with methods for assisting a user with inputting source code |
CA2219557C (en) * | 1997-10-29 | 2002-12-10 | Ibm Canada Limited-Ibm Canada Limitee | Run-time instrumentation for object oriented programmed applications |
US5983021A (en) * | 1998-05-27 | 1999-11-09 | Sun Microsystems | Dynamically switching statically bound function calls to dynamically bound function calls without recompilation |
US6018628A (en) * | 1998-06-16 | 2000-01-25 | Sun Microsystems, Inc. | Method of implementing parameterized types to be compatible with existing unparameterized libraries |
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6915301B2 (en) * | 1998-08-25 | 2005-07-05 | International Business Machines Corporation | Dynamic object properties |
US6415316B1 (en) * | 1998-09-01 | 2002-07-02 | Aidministrator Nederland B.V. | Method and apparatus for implementing a web page diary |
US6502233B1 (en) * | 1998-11-13 | 2002-12-31 | Microsoft Corporation | Automated help system for reference information |
US6842877B2 (en) * | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
US7080322B2 (en) * | 1998-12-18 | 2006-07-18 | Tangis Corporation | Thematic response to a computer user's context, such as by a wearable personal computer |
US6678745B1 (en) * | 1999-06-01 | 2004-01-13 | Bruce Hodge | Dynamic object synthesis with automatic late binding |
US6560774B1 (en) * | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
US6981249B1 (en) * | 2000-05-02 | 2005-12-27 | Microsoft Corporation | Methods for enhancing type reconstruction |
US6957394B1 (en) * | 2000-12-01 | 2005-10-18 | Microsoft Corporation | Rendering controls of a web page according to a theme |
US7437710B2 (en) * | 2001-07-02 | 2008-10-14 | Bea Systems, Inc. | Annotation based development platform for stateful web services |
US7120897B2 (en) * | 2001-07-10 | 2006-10-10 | Microsoft Corporation | User control objects for providing server-side code generation from a user-defined dynamic web page content file |
US6928425B2 (en) * | 2001-08-13 | 2005-08-09 | Xerox Corporation | System for propagating enrichment between documents |
US20030097648A1 (en) | 2001-10-12 | 2003-05-22 | Allison David S. | Method and apparatus for determining runtime size and type information in dynamically typed languages |
US20030131347A1 (en) * | 2001-10-12 | 2003-07-10 | Allison David S. | Method and apparatus for runtime binding of object members |
US6965990B2 (en) * | 2001-10-23 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for providing programming assistance |
US7418484B2 (en) * | 2001-11-30 | 2008-08-26 | Oracle International Corporation | System and method for actively managing an enterprise of configurable components |
US7152229B2 (en) * | 2002-01-18 | 2006-12-19 | Symbol Technologies, Inc | Workflow code generator |
US7017117B2 (en) * | 2002-02-14 | 2006-03-21 | Symantec Corporation | Attenuating and amplifying user interface themes |
US7127707B1 (en) * | 2002-10-10 | 2006-10-24 | Microsoft Corporation | Intellisense in project upgrade |
US7546607B2 (en) * | 2002-11-19 | 2009-06-09 | Microsoft Corporation | Native code exposing virtual machine managed object |
US7051322B2 (en) * | 2002-12-06 | 2006-05-23 | @Stake, Inc. | Software analysis framework |
US8032860B2 (en) * | 2003-02-26 | 2011-10-04 | Oracle International Corporation | Methods for type-independent source code editing |
US7246361B1 (en) * | 2003-03-20 | 2007-07-17 | Intuit, Inc. | Supporting multiple late binding objects with the same identifier |
US7389498B2 (en) * | 2003-03-25 | 2008-06-17 | Microsoft Corporation | Core object-oriented type system for semi-structured data |
US7620959B2 (en) * | 2003-05-12 | 2009-11-17 | Microsoft Corporation | Reflection-based processing of input parameters for commands |
US7197702B2 (en) * | 2003-06-13 | 2007-03-27 | Microsoft Corporation | Web page rendering mechanism using external programmatic themes |
WO2005022417A2 (en) * | 2003-08-27 | 2005-03-10 | Ascential Software Corporation | Methods and systems for real time integration services |
WO2005036368A2 (en) * | 2003-10-10 | 2005-04-21 | Humanizing Technologies, Inc. | Clustering based personalized web experience |
WO2005038610A2 (en) * | 2003-10-14 | 2005-04-28 | Donn Delson | A method and system for using cascading style sheets (css) to customize an online store |
US7676798B2 (en) * | 2003-10-24 | 2010-03-09 | Microsoft Corporation | Mechanism for obtaining and applying constraints to constructs within an interactive environment |
US7580914B2 (en) * | 2003-12-24 | 2009-08-25 | Intel Corporation | Method and apparatus to improve execution of a stored program |
US20050198177A1 (en) * | 2004-01-23 | 2005-09-08 | Steve Black | Opting out of spam |
US20050278695A1 (en) * | 2004-06-14 | 2005-12-15 | Synovic Michael J | System and method for modifying code assist within an integrated development environment |
US7693856B2 (en) * | 2004-06-25 | 2010-04-06 | Apple Inc. | Methods and systems for managing data |
US20060015817A1 (en) * | 2004-07-15 | 2006-01-19 | Giuseppe Fioretti | Method to dynamically customize a web user interface |
GB0416867D0 (en) * | 2004-07-29 | 2004-09-01 | Ibm | Automatic content completion of valid values for method argument variables |
US7676476B2 (en) * | 2004-08-25 | 2010-03-09 | Microsoft Corporation | Data types with incorporated collation information |
US7571189B2 (en) * | 2005-02-02 | 2009-08-04 | Lightsurf Technologies, Inc. | Method and apparatus to implement themes for a handheld device |
US7340686B2 (en) * | 2005-03-22 | 2008-03-04 | Microsoft Corporation | Operating system program launch menu search |
US7730448B2 (en) * | 2005-08-11 | 2010-06-01 | Microsoft Corporation | Layered type systems |
US8473971B2 (en) * | 2005-09-06 | 2013-06-25 | Microsoft Corporation | Type inference and type-directed late binding |
US7958493B2 (en) * | 2006-01-20 | 2011-06-07 | Kevin Edward Lindsey | Type inference system and method |
US8225294B2 (en) * | 2006-04-27 | 2012-07-17 | Oracle America, Inc. | Method and apparatus for expressing and checking relationships between types |
US20080320453A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Type inference and late binding |
-
2007
- 2007-06-21 US US11/766,347 patent/US8321836B2/en active Active
-
2008
- 2008-05-14 TW TW097117725A patent/TWI493464B/zh not_active IP Right Cessation
- 2008-06-06 BR BRPI0812127-3A2A patent/BRPI0812127A2/pt not_active IP Right Cessation
- 2008-06-06 EP EP08770364.1A patent/EP2174216B1/en active Active
- 2008-06-06 JP JP2010513324A patent/JP5264898B2/ja not_active Expired - Fee Related
- 2008-06-06 WO PCT/US2008/066149 patent/WO2009002683A2/en active Application Filing
- 2008-06-06 CN CN200880021201.2A patent/CN101689112B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2009002683A2 (en) | 2008-12-31 |
TWI493464B (zh) | 2015-07-21 |
EP2174216A4 (en) | 2012-01-25 |
US8321836B2 (en) | 2012-11-27 |
WO2009002683A3 (en) | 2009-02-26 |
CN101689112B (zh) | 2014-06-11 |
US20080320444A1 (en) | 2008-12-25 |
BRPI0812127A2 (pt) | 2014-11-18 |
CN101689112A (zh) | 2010-03-31 |
EP2174216B1 (en) | 2019-04-03 |
JP2010530590A (ja) | 2010-09-09 |
TW200901037A (en) | 2009-01-01 |
EP2174216A2 (en) | 2010-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5264898B2 (ja) | 遅延バインディングのプログラム補助 | |
Pradel et al. | Typewriter: Neural type prediction with search-based validation | |
US9483284B2 (en) | Version compatibility determination | |
US9298453B2 (en) | Source code analytics platform using program analysis and information retrieval | |
US7975256B2 (en) | Optimizing application performance through data mining | |
US11544625B2 (en) | Computing system for training, deploying, executing, and updating machine learning models | |
US20110271258A1 (en) | Software Development Tool | |
JP6911059B2 (ja) | Cpu利用およびコードリファクタリングのためのクエリオプティマイザー | |
US20080282238A1 (en) | Static type for late binding | |
Klock et al. | Traceclipse: an eclipse plug-in for traceability link recovery and management | |
US20110271250A1 (en) | Software Development Tool | |
US20180113857A1 (en) | Data processing apparatus, method, and program | |
US20130346992A1 (en) | Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof | |
US9043803B2 (en) | Converting dependency relationship information representing task border edges to generate a parallel program | |
Hsu et al. | MACs: Mining API code snippets for code reuse | |
EP2951678B1 (en) | Remotely executing operations of an application using a schema that provides for executable scripts in a nodal hierarchy | |
Khatchadourian et al. | [Engineering Paper] A Tool for Optimizing Java 8 Stream Software via Automated Refactoring | |
EP3816814A1 (en) | Crux detection in search definitions | |
US20100010801A1 (en) | Conflict resolution and error recovery strategies | |
EP3432144A1 (en) | A computer-implemented method and system for automatically recommending a code modification | |
US10929160B1 (en) | Composite-trace just-in-time compilation | |
US9189249B2 (en) | Method for automatically defining icons | |
EP3983884A1 (en) | Detecting misconfiguration and/or bug(s) in large service(s) using correlated change analysis | |
Islam et al. | PyMigBench and PyMigTax: A benchmark and taxonomy for Python library migration | |
US20230418574A1 (en) | Using a semantic tree of a compiler to execute a semantic code query against source code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5264898 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |