Noexcept: Enabling Testing of Contract Checks## 20 23 October 01 - 06 ## +23 ## Noexcept? Enabling Testing of Contract Checks ## PABLO HALPERN & TIMUR DOUMLER ## Welcome What can the Screen Actors Guild and the Writers Guild of America tell programs require good contracts. Corollary: Good contracts require good enforcement. WGA • Contract checks help catch bugs early in the process.  Observation: Good enforcement requires good oversight. Contract checks should themselves be tested. Today's talk ## Goals – What We Hope to Teach You How the noexcept0 码力 | 90 页 | 1.38 MB | 1 年前3
Contracts for C++Proposal: add contract assertions to C++ Widget getWidget (index i) pre (i > 0) // precondition assertion post (w: w.index() == i); // postcondition assertion ## Proposal: add contract assertions to add contract assertions to C++ Widget getWidget (index i) pre (i > 0) // precondition assertion post (w: w.index() == i) // postcondition assertion { auto* db = getDatabase(); contract_assert high bar set for level of consensus. The proposal includes syntax for specifying three kinds of contract assertions: precondition assertions, postcondition assertions, and assertion statements. In addition0 码力 | 181 页 | 4.44 MB | 1 年前3
Hyperledger Fabric 2.0.1 Documentationconsensus protocols that do not require a native cryptocurrency to incent costly mining or to fuel smart contract execution. Avoidance of a cryptocurrency reduces some significant risk/attack vectors, and absence permissioned context, the risk of a participant intentionally introducing malicious code through a smart contract is diminished. First, the participants are known to one another and all actions, whether submitting submitting application transactions, modifying the configuration of the network or deploying a smart contract are recorded on the blockchain following an endorsement policy that was established for the network0 码力 | 533 页 | 8.37 MB | 2 年前3
SuperCharge Your IPC Programs With C++20 and CCI PatternCommunication • Programs stand for software running in a constrained environment - CCI stands for: ○ Contract o Concept o Implementation ## Problem Definition: Channel Extraction 1. Images are used throughout • Create a CONTRACT which specifies the characteristics of a data-type. • Create a CONCEPT which enforces the CONTRACT • Create a IMPLEMENTATION constrained by CONCEPT. ## SD_BUS Contract ☀️ ☁️ ☁️ typedef std::unique_ptrSD_BUS_INNER_TYPE; struct SD_BUS_CONTRACT { template static constexpr bool IsUniquePtr = std::is_same ::value; 0 码力 | 57 页 | 7.11 MB | 1 年前3
Rethinking Task Based Concurrency and Parallelism for Low Latency C++s/1/0/e/c/10ec85450d246c7c9a1e6a288ea9d54e/p11_1.jpg) ## Work Contracts (Overview): • A Work Contract Group contains: ☐ An array of Work Contracts (each with their own logic and, if needed, data, queue with Task Queues) ☐ Minimize thread contention because threads do not compete for the same Work Contract (task). ## Alternative: Work Contracts  ## Alternative: Work Contracts Thread Pool Work Contract Group Thread Work Contract Thread Thread Work Contract ## Work Contract: - Enhanced “Tasks” separating data from logic: ☐ Contain0 码力 | 142 页 | 2.80 MB | 1 年前3
Oracle VM VirtualBox UserManual.pdfOR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER0 码力 | 1186 页 | 5.10 MB | 1 年前3
FISCO BCOS 2.3.0 中文文档HelloWorld合约 HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下: pragma solidity ^0.4.24; contract HelloWorld { string name; function HelloWorld() { name = "Hello, World!"; function s/solidity/HelloWorld.sol,参考下面命令部署即可。 # 在控制台输入以下指令 部署成功则返回合约地址 [group:1]> deploy HelloWorld contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 ## 调用HelloWorld合约 # 查看当前块高 [group:1]> getBlockNumber 约,使得区块链系统具备更高的可编程性,在区块链既有的基本特性(如多方共识,难以篡改,可追溯等,安全性等)基础上,还可以实现具有一定业务逻辑的业务契约,如李嘉图合约(The Ricardian Contract),也可以使用智能合约来实现。 合约的执行还需要处理“停机问题”,即判断程序是否会在有限的时间之内解决输入的问题,并结束执行,释放资源。想象一下,一个合约在全网部署,在被调用时在每个节点上都0 码力 | 1227 页 | 10.79 MB | 2 年前3
FISCO BCOS 2.1.0 中文文档HelloWorld合约 HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下: pragma solidity ^0.4.24; contract HelloWorld { string name; function HelloWorld() { name = "Hello, World!"; s/solidity/HelloWorld.sol,参考下面命令部署即可。 # 在控制台输入以下指令 部署成功则返回合约地址 [group:1]> deploy HelloWorld contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 ## 调用HelloWorld合约 # 查看当前块高 [group:1]> getBlockNumber 约,使得区块链系统具备更高的可编程性,在区块链既有的基本特性(如多方共识,难以篡改,可追溯等,安全性等)基础上,还可以实现具有一定业务逻辑的业务契约,如李嘉图合约(The Ricardian Contract),也可以使用智能合约来实现。 合约的执行还需要处理“停机问题”,即判断程序是否会在有限的时间之内解决输入的问题,并结束执行,释放资源。想象一下,一个合约在全网部署,在被调用时在每个节点上都0 码力 | 1058 页 | 740.85 KB | 2 年前3
FISCO BCOS 2.4.0 中文文档HelloWorld合约 HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下: pragma solidity ^0.4.24; contract HelloWorld { string name; function HelloWorld() { name = "Hello, World!"; function s/solidity/HelloWorld.sol,参考下面命令部署即可。 # 在控制台输入以下指令 部署成功则返回合约地址 [group:1]> deploy HelloWorld contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 ## 调用HelloWorld合约 # 查看当前块高 [group:1]> getBlockNumber 约,使得区块链系统具备更高的可编程性,在区块链既有的基本特性(如多方共识,难以篡改,可追溯等,安全性等)基础上,还可以实现具有一定业务逻辑的业务契约,如李嘉图合约(The Ricardian Contract),也可以使用智能合约来实现。 合约的执行还需要处理“停机问题”,即判断程序是否会在有限的时间之内解决输入的问题,并结束执行,释放资源。想象一下,一个合约在全网部署,在被调用时在每个节点上都0 码力 | 1314 页 | 11.21 MB | 2 年前3
FISCO BCOS 2.5.0 中文文档HelloWorld合约 HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下: pragma solidity ^0.4.24; contract HelloWorld { string name; function HelloWorld() { name = "Hello, World!"; function s/solidity/HelloWorld.sol,参考下面命令部署即可。 # 在控制台输入以下指令 部署成功则返回合约地址 [group:1]> deploy HelloWorld contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 ## 调用HelloWorld合约 # 查看当前块高 [group:1]> getBlockNumber 约,使得区块链系统具备更高的可编程性,在区块链既有的基本特性(如多方共识,难以篡改,可追溯等,安全性等)基础上,还可以实现具有一定业务逻辑的业务契约,如李嘉图合约(The Ricardian Contract),也可以使用智能合约来实现。 合约的执行还需要处理“停机问题”,即判断程序是否会在有限的时间之内解决输入的问题,并结束执行,释放资源。想象一下,一个合约在全网部署,在被调用时在每个节点上都0 码力 | 1456 页 | 13.35 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
contract checksnoexceptexceptionstestingannotationsContractsC++contract assertionspreconditionpostconditionHyperledger FabricBlockchainDistributed ledgerChannelSmart contractC++20CCI PatternIPCContractConceptTask Based ConcurrencyTask QueuesWork ContractsSignal TreeLock Free虚拟化虚拟机虚拟化管理程序快照虚拟网络FISCO BCOS版本多群组并行计算分布式存储加密通信存储权限控制安全机制多群组架构Gas统计落盘加密兼容性配置联盟链群组架构













