[發(fā)明專利]對合同的操作系統(tǒng)支持有效
| 申請?zhí)枺?/td> | 201480014378.5 | 申請日: | 2014-03-11 |
| 公開(公告)號: | CN105164642B | 公開(公告)日: | 2019-02-19 |
| 發(fā)明(設計)人: | J·J·達菲;J·P·帕森斯;C·S·戈登;A·D·布羅姆菲爾德;M·塔耶費爾;D·A·巴爾托落梅奧;M·巴尼特 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F9/4401 | 分類號: | G06F9/4401 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 管琦琦 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 合同 操作系統(tǒng) 支持 | ||
1.一種用于對合同的操作系統(tǒng)支持的系統(tǒng),包括:
編譯器,配置成在訪問源代碼中的合同之際執(zhí)行以下操作:所述合同取決于當在執(zhí)行作用域的運行時被遇到時斷言是否為真,來作為所述執(zhí)行作用域的進一步執(zhí)行的條件:
生成中間語言代碼的動作,所述中間語言代碼具有在語義上以通過讀所述中間語言代碼能理解所述合同的方式被結構化的合同,
其中當所述編譯器無法確定與所述合同相關聯(lián)的斷言的真實性時,生成具有允許繞過對所述合同的檢查的第一入口點以及使所述合同被檢查的第二入口點的二進制碼組件。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述源代碼還指令計算系統(tǒng)執(zhí)行行為,其中所述合同在所述中間語言代碼中在語義上被結構化從而能去除所述合同的檢查而不改變所指令的行為。
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述合同與所述執(zhí)行作用域內(nèi)的執(zhí)行組件相關聯(lián)。
4.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述合同對于使用所述執(zhí)行組件的接口的所述執(zhí)行組件的調(diào)用者而言是在語義上可訪問的。
5.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述合同是所述可執(zhí)行組件的前置條件。
6.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述合同是所述可執(zhí)行組件的后置條件。
7.根據(jù)權利要求1所述的系統(tǒng),其特征在于,如果當在運行時被遇到時所述斷言不是真的,在所述執(zhí)行作用域的外部運行外部恢復代碼。
8.根據(jù)權利要求1所述的系統(tǒng),其特征在于,如果當在運行時被遇到時所述斷言不是真的,響應于所述斷言不是真的,不運行恢復代碼。
9.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述編譯器被配置成檢測至少一些條件,在所述條件下所述斷言包括外部可見副作用。
10.一種用于對合同的操作系統(tǒng)支持的系統(tǒng),包括:
靜態(tài)分析工具,配置成評估中間語言代碼,所述中間語言代碼包括在語義上以能從所述中間語言代碼去除斷言的方式被結構化的合同,其中所述合同取決于當在執(zhí)行作用域的運行時被遇到時斷言是否為真來作為執(zhí)行作用域的進一步執(zhí)行的條件,其中所述評估還包括對在所述中間語言中被結構化的所述合同的執(zhí)行,并且其中當無法確定與所述合同相關聯(lián)的斷言的真實性時,生成具有允許繞過對所述合同的檢查的第一入口點以及使所述合同被檢查的第二入口點的二進制碼組件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經(jīng)微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201480014378.5/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:鉤子框架
- 下一篇:控制由計算系統(tǒng)執(zhí)行的任務





