JP2011508317A - コードエラーを減らすためのコントラクトプログラミング - Google Patents
コードエラーを減らすためのコントラクトプログラミング Download PDFInfo
- Publication number
- JP2011508317A JP2011508317A JP2010539586A JP2010539586A JP2011508317A JP 2011508317 A JP2011508317 A JP 2011508317A JP 2010539586 A JP2010539586 A JP 2010539586A JP 2010539586 A JP2010539586 A JP 2010539586A JP 2011508317 A JP2011508317 A JP 2011508317A
- Authority
- JP
- Japan
- Prior art keywords
- contract
- api
- application
- code
- assertions
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (20)
- 第2のプログラミング言語で記述されたアプリケーションAPIを拡大するための、第1のプログラミング言語で記述されたコントラクトAPI(application programming interface)をコンピュータ可読媒体上に有する1つまたは複数のコンピュータ可読媒体を備える、コンピュータプログラム製品であって、前記アプリケーションAPIは1つまたは複数のコントラクトを含み、前記コンピュータプログラム製品はコンピュータ実行可能命令を備え、前記コンピュータ実行可能命令は、コンピューティングシステムの1つまたは複数のプロセッサにより実行されるときに前記コンピュータシステムに方法を実施させ、前記方法は、
前記第1のプログラミング言語で記述された前記コントラクトAPIからのコントラクトを用いて前記アプリケーションAPIを拡大するというユーザの意図を示す、前記第2のプログラミング言語で記述されたソフトウェアコードを受け取る動作であって、前記ソフトウェアコードは前記コントラクトAPIへの参照を含み、前記コントラクトは前記アプリケーションAPIの適切な使用を示す1つまたは複数のアサーションを含む動作と、
前記ソフトウェアコード内の前記参照に従って、前記コントラクトAPIの一部にアクセスする動作と、
前記受け取ったソフトウェアコードおよび前記コントラクトAPIの前記参照された部分を前記受け取ったソフトウェアコードの中間言語バージョンにコンパイルする動作であって、前記中間言語バージョンは前記第1のプログラミング言語および前記第2のプログラミング言語の両方に共通の中間言語におけるものであり、前記中間言語バージョンは前記アプリケーションAPIの適切な使用を示す1つまたは複数のアサーションを含む動作と
を含むことを特徴とするコンピュータプログラム製品。 - 1つまたは複数のソフトウェアツールを用いて前記コンパイルされた中間言語バージョンにアクセスする動作と、
1つまたは複数のランタイムチェックへの1つまたは複数の参照を前記コントラクトの内の少なくとも1つに挿入して、前記ランタイムチェックが前記対応する参照に従ってアプリケーションコードに注入されることを可能にする動作と
をさらに含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。 - 前記挿入されたランタイムチェックを含む前記中間言語バージョンを実行する動作と、
前記コントラクト内の前記アサーションの内の少なくとも1つが前記中間言語バージョンの実行中に違反されたと判定する動作と、
前記判定に基づき、前記アサーションの内の少なくとも1つが違反されたという表示を与える動作と、
をさらに含むこと特徴とする請求項2に記載の方法を実行するよう構成されたAPI。 - 前記挿入されたランタイムチェックを含む前記中間言語バージョンを実行する動作と、
前記コントラクト内の前記アサーションのいずれも前記中間言語バージョンの実行中に違反されなかったと判定する動作と、
前記判定に基づき、前記アサーションのいずれも違反されなかったという表示を与える動作と
をさらに含むこと特徴とする請求項2に記載の方法を実施するよう構成されたAPI。 - 前記アプリケーションAPIのコントラクトの内の少なくとも1つを静的にチェックして、前記コントラクトのアサーションのいずれかが違反されたかどうかを判定する動作
をさらに含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。 - 前記アサーションは、呼び出し側がメソッドを呼び出すことを許可される前に満たされるべき項目を特定する1つまたは複数の前提条件を含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記アサーションは、前記メソッドの通常の終了および前記メソッドの例外的な終了の内の少なくとも一方の際、前記メソッドのリターン時に有効である1つまたは複数の保証を特定する1つまたは複数の事後条件を含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記アサーションは、ロック宣言の内の少なくとも1つを含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記アサーションは、少なくとも1つのチェックされる例外を含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記アサーションは、オブジェクト不変条件の内の少なくとも1つを含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記コントラクトは、前記コントラクトAPIの結果として拡張可能であり、前記拡張性は、新しいメソッドを前記コントラクトAPIに追加することを可能にして、1つまたは複数のクライアントが前記第2のプログラミング言語で記述された前記コントラクト内の前記新しいメソッドを使用することができるように、新しい種類のコントラクトを記述することを可能にすること特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記コントラクト内の前記アサーションの内の少なくとも1つは宣言型であること特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記拡大されたコントラクトに基づき、前記ソフトウェアアプリケーションのAPIのドキュメンテーションを自動的に生成する動作さらに含むこと特徴とする請求項1に記載の方法を実施するよう構成されたAPI。
- 前記コントラクトAPIを使用して記述された前記コントラクトは複数のダウンストリームツールに対して維持されること特徴とする請求項1に記載の方法。
- コンピュータシステムにおいて、アプリケーションAPIを拡大するための方法であって、前記アプリケーションAPIは1つまたは複数のコントラクトを含み、
コントラクトAPIからのコントラクトを用いて前記アプリケーションAPIを拡大するというユーザの意図を示すソフトウェアコードを、コンピュータユーザから受け取る動作であって、前記ソフトウェアコードは前記コントラクトAPIへの参照を含み、前記コントラクトは前記アプリケーションAPIの適切な使用を示す1つまたは複数のアサーションを含む動作と、
前記ソフトウェアコード内の前記参照に従って前記コントラクトAPIの一部にアクセスする動作と、
前記受け取ったソフトウェアコードおよび前記コントラクトAPIの前記参照された部分を、前記アプリケーションAPIの適切な使用を示す1つまたは複数のアサーションを含む前記受け取ったソフトウェアコードの中間言語バージョンにコンパイルする動作と、
前記ソフトウェアコードの前記コンパイルされた中間言語バージョンを前記コンピュータユーザに提供する動作と
を含むことを特徴とする方法。 - 前記アサーションは、前提条件、事後条件、ロック宣言、チェックされる例外、使用プロトコル、およびオブジェクト不変条件の内の1つまたは複数を含むことを特徴とする請求項9に記載の方法。
- 前記コントラクトは、前記コントラクトを完全汎用のプログラミング言語で記述することができるように拡張可能であることを特徴とする請求項9に記載の方法。
- APIコントラクトを修正するためのコンピュータシステムであって、前記システムは、
コンパイラであって、
ソフトウェアアプリケーションコードとどのように相互作用するかを特定する1つまたは複数のアサーションを識別する少なくとも1つのコントラクトを有するAPIを含む、前記ソフトウェアアプリケーションコードを受け取るステップであって、前記コントラクトは1つの値と交換されるべきアプリケーションコードの一部を示す1つまたは複数の参照を含むよう拡張可能であり、前記コントラクトは汎用のプログラム言語で記述されるステップと、
1つまたは複数のアサーションを前記ソフトウェアアプリケーションコード内の対応するメソッドに統合するステップと
を実施するよう構成されたコンパイラと、
リライタであって、
前記コンパイラからバイナリを受け取るステップであって、前記バイナリは少なくとも1つの前記ソフトウェアアプリケーションコードと、前記少なくとも1つのコントラクトとを含むステップと、
前記コントラクト内の前記参照により示される前記アプリケーションコードの一部がある値と交換されるように、前記受け取ったバイナリを書き換えるステップと、
前記書き換えたバイナリを実行可能バイナリとして出力するステップと
を実施するよう構成されたリライタと
を備えることを特徴とするシステム。 - 前記コンパイラは1つまたは複数の前記バイナリを受け取るよう構成されることを特徴とする請求項18に記載のシステム。
- 前記アサーションは、前提条件、事後条件、ロック宣言、チェックされる例外、使用プロトコル、およびオブジェクト不変条件の内の少なくとも1つであることを特徴とする請求項18に記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/963,346 US8250524B2 (en) | 2007-12-21 | 2007-12-21 | Contract programming for code error reduction |
| PCT/US2008/084994 WO2009085521A1 (en) | 2007-12-21 | 2008-11-26 | Contract programming for code error reduction |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011508317A true JP2011508317A (ja) | 2011-03-10 |
| JP2011508317A5 JP2011508317A5 (ja) | 2012-01-12 |
Family
ID=40790201
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010539586A Pending JP2011508317A (ja) | 2007-12-21 | 2008-11-26 | コードエラーを減らすためのコントラクトプログラミング |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US8250524B2 (ja) |
| EP (1) | EP2238532A4 (ja) |
| JP (1) | JP2011508317A (ja) |
| AU (1) | AU2008343555B2 (ja) |
| BR (1) | BRPI0819716A2 (ja) |
| CA (1) | CA2704980C (ja) |
| TW (1) | TWI465902B (ja) |
| WO (1) | WO2009085521A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150130298A (ko) * | 2013-03-14 | 2015-11-23 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컨트랙트에 대한 운영 체제 지원 기법 |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9645915B2 (en) | 2006-12-27 | 2017-05-09 | The Mathworks, Inc. | Continuous evaluation of program code and saving state information associated with program code |
| US8392762B2 (en) * | 2008-02-04 | 2013-03-05 | Honeywell International Inc. | System and method for detection and prevention of flash corruption |
| US8782607B2 (en) * | 2009-02-20 | 2014-07-15 | Microsoft Corporation | Contract failure behavior with escalation policy |
| US8074117B2 (en) * | 2009-09-25 | 2011-12-06 | Microsoft Corporation | Inference of contract using declarative program definition |
| US10089119B2 (en) | 2009-12-18 | 2018-10-02 | Microsoft Technology Licensing, Llc | API namespace virtualization |
| US8910133B2 (en) | 2010-06-07 | 2014-12-09 | Microsoft Corporation | Library conformity checker |
| US9189211B1 (en) * | 2010-06-30 | 2015-11-17 | Sony Computer Entertainment America Llc | Method and system for transcoding data |
| US8745641B1 (en) * | 2011-07-14 | 2014-06-03 | Google Inc. | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface |
| US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
| US8695021B2 (en) | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
| US20130339929A1 (en) * | 2012-06-14 | 2013-12-19 | Microsoft Corporation | Program repair |
| US9053228B1 (en) * | 2013-10-22 | 2015-06-09 | The Mathworks, Inc. | Determining when to evaluate program code and provide results in a live evaluation programming environment |
| US10635504B2 (en) * | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
| US9886267B2 (en) * | 2014-10-30 | 2018-02-06 | Equinix, Inc. | Interconnection platform for real-time configuration and management of a cloud-based services exchange |
| US9459840B1 (en) | 2015-03-31 | 2016-10-04 | Toyota Jidosha Kabushiki Kaisha | Timing-oriented and architecture-centric system design using contracts |
| US10089089B2 (en) * | 2015-06-03 | 2018-10-02 | The Mathworks, Inc. | Data type reassignment |
| US10331425B2 (en) * | 2017-06-28 | 2019-06-25 | Google Llc | Automated source code adaption to inject features between platform versions |
| US11275624B2 (en) * | 2018-06-14 | 2022-03-15 | Qliktech International Ab | Methods and systems for application program interface management |
| CN111179086B (zh) * | 2019-12-31 | 2024-01-02 | 杭州趣链科技有限公司 | 一种基于WebAssembly的智能合约虚拟机 |
| US11782814B2 (en) | 2021-01-05 | 2023-10-10 | Oracle International Corporation | Visualizations for learned software interfaces |
| US11934810B2 (en) * | 2022-05-19 | 2024-03-19 | Microsoft Technology Licensing, Llc | Translating an edit from a child computer language to a parent computer language while maintaining a semantic meaning of the edit |
| US20240220266A1 (en) * | 2022-12-29 | 2024-07-04 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for intermediary representations of workflows for computational devices |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6336148B1 (en) * | 1996-09-25 | 2002-01-01 | Sun Microsystems, Inc. | Automatic checking of public contracts and private constraints on distributed objects |
| US6442750B1 (en) * | 1999-07-20 | 2002-08-27 | Xerox Corporation | Design by contract with aspect-oriented programming |
| US6836883B1 (en) * | 2000-06-21 | 2004-12-28 | Microsoft Corporation | Method and system for compiling multiple languages |
| GB2373073A (en) * | 2001-03-08 | 2002-09-11 | Escher Technologies Ltd | Process and system for developing validated and optimised object-oriented software |
| US6836884B1 (en) * | 2001-06-04 | 2004-12-28 | Microsoft Corporation | Method and system for editing software programs |
| US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
| US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
| US7216338B2 (en) * | 2002-02-20 | 2007-05-08 | Microsoft Corporation | Conformance execution of non-deterministic specifications for components |
| US7039898B2 (en) * | 2002-07-12 | 2006-05-02 | Netspective Communications, Llc | Computer system for performing reusable software application development from a set of declarative executable specifications |
| US7346897B2 (en) * | 2002-11-20 | 2008-03-18 | Purenative Software Corporation | System for translating programming languages |
| US7065745B2 (en) * | 2002-12-16 | 2006-06-20 | Sun Microsystems, Inc. | System and method for evaluating and executing hierarchies of rules |
| US8032860B2 (en) * | 2003-02-26 | 2011-10-04 | Oracle International Corporation | Methods for type-independent source code editing |
| US20050108682A1 (en) * | 2003-02-26 | 2005-05-19 | Bea Systems, Inc. | Systems for type-independent source code editing |
| US7895589B2 (en) * | 2003-02-26 | 2011-02-22 | International Business Machines Corporation | Dynamic data-driven application integration adapters |
| US7216337B2 (en) * | 2003-04-14 | 2007-05-08 | Microsoft Corporation | Automatic determination of invalid call sequences in software components |
| US7168063B2 (en) * | 2003-06-10 | 2007-01-23 | Microsoft Corporation | Systems and methods for employing tagged types in a dynamic runtime environment |
| US7219329B2 (en) * | 2003-06-13 | 2007-05-15 | Microsoft Corporation | Systems and methods providing lightweight runtime code generation |
| US20050010895A1 (en) * | 2003-07-09 | 2005-01-13 | Mr. Parama Reddappagari | Software Specification Processing System |
| US7421680B2 (en) * | 2003-09-22 | 2008-09-02 | Microsoft Corporation | Persisted specifications of method pre-and post-conditions for static checking |
| US7584458B2 (en) * | 2003-10-02 | 2009-09-01 | Microsoft Corporation | Source code annotation language |
| US7526755B2 (en) * | 2003-10-08 | 2009-04-28 | Microsoft Corporation | Plug-in pre- and postconditions for static program analysis |
| US7421682B2 (en) | 2003-11-10 | 2008-09-02 | Microsoft Corporation | Instrumentation injection for common language runtime |
| US20060253844A1 (en) * | 2005-04-21 | 2006-11-09 | Holt John M | Computer architecture and method of operation for multi-computer distributed processing with initialization of objects |
| US7571428B2 (en) * | 2004-05-14 | 2009-08-04 | Microsoft Corporation | Reliability contracts |
| US7574692B2 (en) * | 2004-11-19 | 2009-08-11 | Adrian Herscu | Method for building component-software for execution in a standards-compliant programming environment |
| US7844958B2 (en) * | 2005-03-11 | 2010-11-30 | Aptana, Inc. | System and method for creating target byte code |
| US7707547B2 (en) * | 2005-03-11 | 2010-04-27 | Aptana, Inc. | System and method for creating target byte code |
| US20070039010A1 (en) | 2005-08-15 | 2007-02-15 | Microsoft Corporation | Automatic generation of software code to facilitate interoperability |
| US7743363B2 (en) * | 2005-10-13 | 2010-06-22 | Microsoft Corporation | Extensible meta-data |
| US7844951B2 (en) * | 2005-12-30 | 2010-11-30 | Microsoft Corporation | Specification generation from implementations |
| US20070220370A1 (en) * | 2006-01-12 | 2007-09-20 | International Business Machines Corporation | Mechanism to generate functional test cases for service oriented architecture (SOA) applications from errors encountered in development and runtime |
| US8136104B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
| US8136102B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for compiling an application for a parallel-processing computer system |
| US8561034B2 (en) * | 2006-06-22 | 2013-10-15 | Infosys Technologies, Ltd. | Software fault injection in java enterprise applications |
| US7934207B2 (en) * | 2006-12-19 | 2011-04-26 | Microsoft Corporation | Data schemata in programming language contracts |
| US20080209395A1 (en) * | 2007-02-27 | 2008-08-28 | Advance 9 Group Llc | Automatic code replacement |
| US8327327B2 (en) * | 2007-03-21 | 2012-12-04 | Carnegie Mellon University | Method for statically checking an object-oriented computer program module |
| US8266685B2 (en) * | 2007-05-18 | 2012-09-11 | Microsoft Corporation | Firewall installer |
| WO2008155779A2 (en) * | 2007-06-20 | 2008-12-24 | Sanjeev Krishnan | A method and apparatus for software simulation |
-
2007
- 2007-12-21 US US11/963,346 patent/US8250524B2/en active Active
-
2008
- 2008-11-26 JP JP2010539586A patent/JP2011508317A/ja active Pending
- 2008-11-26 EP EP08867832A patent/EP2238532A4/en not_active Ceased
- 2008-11-26 WO PCT/US2008/084994 patent/WO2009085521A1/en not_active Ceased
- 2008-11-26 BR BRPI0819716-4A patent/BRPI0819716A2/pt not_active IP Right Cessation
- 2008-11-26 AU AU2008343555A patent/AU2008343555B2/en not_active Ceased
- 2008-11-26 CA CA2704980A patent/CA2704980C/en not_active Expired - Fee Related
- 2008-12-15 TW TW097148827A patent/TWI465902B/zh not_active IP Right Cessation
Non-Patent Citations (3)
| Title |
|---|
| CSND200501279010; 丸の内とら: 'Java街道を行く 第8回' 日経ソフトウエア 第8巻 第4号 , 20050224, pp.84-89, 日経BP社 * |
| JPN6013000118; N. Tran, C. Mingins and D. Abramson: 'Design and implementation of assertions for the common language infrastructure' IEE Proc.-Softw. Vol.150, No.5, 20031027, pp.329-336 * |
| JPN6013022244; 丸の内とら: 'Java街道を行く 第8回' 日経ソフトウエア 第8巻 第4号 , 20050224, pp.84-89, 日経BP社 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150130298A (ko) * | 2013-03-14 | 2015-11-23 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컨트랙트에 대한 운영 체제 지원 기법 |
| JP2016511484A (ja) * | 2013-03-14 | 2016-04-14 | マイクロソフト テクノロジー ライセンシング,エルエルシー | コントラクトのためのオペレーティングシステムサポート |
| KR102118236B1 (ko) | 2013-03-14 | 2020-06-02 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컨트랙트에 대한 운영 체제 지원 기법 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW200937188A (en) | 2009-09-01 |
| EP2238532A4 (en) | 2012-04-04 |
| AU2008343555A1 (en) | 2009-07-09 |
| US20090164973A1 (en) | 2009-06-25 |
| US8250524B2 (en) | 2012-08-21 |
| AU2008343555B2 (en) | 2012-12-20 |
| CA2704980A1 (en) | 2009-07-09 |
| TWI465902B (zh) | 2014-12-21 |
| BRPI0819716A2 (pt) | 2015-06-16 |
| CA2704980C (en) | 2016-03-22 |
| EP2238532A1 (en) | 2010-10-13 |
| WO2009085521A1 (en) | 2009-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2011508317A (ja) | コードエラーを減らすためのコントラクトプログラミング | |
| US12159146B2 (en) | Dynamically loaded plugin architecture | |
| US9996696B2 (en) | Systems and methods to optimize execution of a software program using a type based self assembling control flow graph | |
| US7818729B1 (en) | Automated safe secure techniques for eliminating undefined behavior in computer software | |
| US8954939B2 (en) | Extending a development environment | |
| US8387020B1 (en) | Verifying that a method has been implemented for a program written in a dynamic programming language | |
| US9459986B2 (en) | Automatic generation of analysis-equivalent application constructs | |
| CN102289384A (zh) | 动态自适应编程 | |
| US10423397B2 (en) | Systems and/or methods for type inference from machine code | |
| Tsai et al. | Testing extensible design patterns in object-oriented frameworks through scenario templates | |
| US20250130782A1 (en) | Systems and methods for compile-time dependency injection and lazy service activation framework | |
| US7873951B1 (en) | Automated object delegation | |
| US20080022260A1 (en) | Method for accessing internal states of objects in object oriented programming | |
| Li et al. | Securing the device drivers of your embedded systems: framework and prototype | |
| CN114647413A (zh) | 一种代码处理方法以及相关设备 | |
| Straznickas | Towards a verified first-stage bootloader in Coq | |
| Verbeek et al. | Highly automated formal proofs over memory usage of assembly code | |
| Owe et al. | A framework for flexible program evolution and verification of distributed systems | |
| Bugrara | User experience with language-independent formal verification | |
| US7526752B1 (en) | Introspection support for generic types | |
| CN105103134A (zh) | 通过最小化差错恢复逻辑来改善软件系统 | |
| Tan et al. | AUSPICE-R: Automatic Safety-Property Proofs for Realistic Features in Machine Code | |
| Gariano et al. | Sound Invariant Checking Using Type Modifiers and Object Capabilities | |
| Bulajic et al. | Java and C/C++ Interoperability: Java Integration to Windows Event Log | |
| Kernig et al. | Jvmguard: Developing Jvm-Compliant Apis by Design |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111117 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111117 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130111 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130411 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130510 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130701 |