我不是 SPARK 的用户。 我只是想了解语言的功能。 例如,可以使用 SPARK 来证明 Quicksort 实际上对给它的数组进行排序吗? (希望看到一个例子,假设这很简单) ...
我不是 SPARK 的用户。 我只是想了解语言的功能。 例如,可以使用 SPARK 来证明 Quicksort 实际上对给它的数组进行排序吗? (希望看到一个例子,假设这很简单) ...
我的问题总结我正在为我的 SHA256 function 使用libsparkcrypto 库。 我发现我不能Assert x = y意味着Sha256(x) = Sha256(y) 。 任何帮助将不胜感激。 代码测试包.adb 测试包.ads Output 我收到的错误是: testpacka ...
代码如下所示: 规格: 身体: 正文中没有证明错误,错误仅在规范上: 后置条件可能会失败,无法证明 Record_Field_X(Record) = Record_Field_X(Record'Old) “其他后置条件”在规范和过程结束时的 Assert_And_Cut 之间是 ...
我想找到以下规格的值的最小因数 我写了该程序的正文,试图覆盖所有断言,但始终有一个后置条件失败。 我做错了什么? 有人可以帮我解决所有规格说明吗? ...
规格: 我想用Assert和loop_invariants编写PolyPack包的主体,gnatprove程序可以证明我的函数RuleHorner的正确性。 我写了我的函数Horner,但我不知道如何在这个程序中使用assertions和loop_invariants来证明它的核心 ...
Spark 的新手,Ada 的新手,所以这个问题可能过于宽泛。 但是,作为尝试理解 Spark 的一部分,它是出于善意而提出的。 除了直接回答以下问题外,我还欢迎对风格、工作流程等提出批评。 作为我第一次涉足 Spark,我选择尝试实现(简单)并证明正确性(目前未成功)该功能 . 问题:实现和 ...
需要 Ada 编程语言 spark 2014 的词法和语法表,任何人都可以帮忙。 提前致谢。 ...
我正在研究框架Frama-c,并且想知道C / Frama-c和Spark Ada之间是否等效。 我知道比较这些不同的语言似乎很奇怪,但是在阅读了David A. Wheeler的文章 , Johannes Kanig的比较以及一些SPARK的用户手册之后,我正在努力猜测SPARK和C / F ...
我具有通过简单检查信号是否在给定公差带内来监视受控信号的功能。 该函数称为is_within_limits 。 我有一个名为is_within_expanded_limits的第二个函数,该函数执行相同的操作,但事先将扩展因子(扩大公差带)应用于配置的极限。 这些限制是在monitor.c ...
我正在使用SPARK Discovery 2017中spark_io示例中的SPARK.Text_IO。 我的问题是,许多SPARK.Text_IO过程都有一个前提条件,即我不知道如何开始尝试证明标准输入是可读的,而我们不在文件末尾。 如下面代码所示,我的尝试是将SPARK.Text_I ...
我试图证明在执行下面的程序期间“prepend”的前提条件是成立的。 前提条件是: Length (Container) < Container.Capacity 我试图证明这一点在下面的代码中以pragma的形式。 我可以证明这个前提条件适用于单个循环但不适用于双循环。 我 ...
我有以下程序: procedure Main with SPARK_Mode is F : array (0 .. 10) of Integer := (0, 1, others => 0); begin for I in 2 .. F'Last loop F ( ...
如何在字符串中找到第一个字符(即空格字符)并返回其索引,并使用单个表达式作为Contract_Cases一部分? 例如,如果字符串是: Input : constant String := "abc def"; 然后表达式应返回4 。 ...
我的类型类似于: type ID is new String (1 .. 7); -- Example: 123-456 如何使用Ada或SPARK在代码中指定该格式? 我当时在考虑Static_Predicate ,但是不能用Static_Predicate表达式来描述字符串必须 ...
如何在SPARK Ada中实例化非库级别的程序包? 说我有类似的东西: 这给了我错误: 大概我需要关闭Ada.Numerics.Discrete_Random的SPARK_Mode,但是我无法找到合适的位置来放置编译指示。 ...
如何为对数组元素求和的函数编写 Spark 后置条件? (Spark 2014,但如果有人向我展示如何为早期的 Spark 做这件事,我应该能够适应它。) 所以如果我有: 在我的特定情况下,我不需要担心溢出(我知道初始化时的总数是多少,它只能单调减少)。 大概我需要在实现中使用循环变体来帮 ...
我想写一个简单的函数,找到给定的Integer数组中的最大数字。 这是规格: 这是功能的主体: 当我试图用SPARK证明这个功能时,它说后置条件可能会失败。 我现在正试着理解这个问题5个小时,我不知道为什么会这么说。 这真的很烦人,这个功能必须起作用。 你知道为什么SPA ...