SciFe: Scala framework for efficient enumeration of data structures with invariants

SciFe: Scala framework for efficient enumeration of data structures with invariants
复制标题

SciFe:用于高效枚举具有不变量的数据结构的 Scala 框架

DOI:
--
复制
发表时间:
2014
期刊:
SCALA@ECOOP
影响因子:
--
通讯作者:
Viktor Kunčak
Viktor Kunčak
中科院分区:
--
文献类型:
--
作者:
I. Kuraj;Viktor Kunčak

文献摘要

被引文献

相似文献

我们介绍了SciFe,一个用于复杂结构自动生成的工具,适合于自动测试和综合等任务。SciFe能够对有限或无限区域的值进行详尽的、有记忆的枚举。SCHFe基于枚举数的概念,枚举数被定义为自然数和给定集合中的值之间的高效可计算双射。SciFe引入了高阶枚举数,它定义了依赖于其他参数的枚举数。SciFe还包括组合器,可以从现有的枚举器构造更复杂的枚举器,同时保持穷举和效率。SciFe是一个Scala库,它实现了特定于领域的语言。该工具演示概述了SciFe以及如何使用它来生成复杂的结构,如搜索树和类层次结构模型。我们的实验表明,与现有方法相比,我们的方法具有更好的性能和更短的规格。
We introduce SciFe, a tool for automated generation of complex structures, suitable for tasks such as automated testing and synthesis. SciFe is capable of exhaustive, memoized enumeration of values from finite or infinite domains. SciFe is based on the concept of an enumerator, defined as an efficiently computable bijection between natural numbers and values from a given set. SciFe introduces higher-order enumerators which define enumerators that depend on additional parameters. SciFe also includes combinators that can construct more complex enumerators from existing ones while preserving exhaustiveness and efficiency. SciFe is a Scala library that implements a domain-specific language. This tool demo presents an overview of SciFe as well as its use to generate complex structures such as search trees and models of class hierarchies. Our experiments demonstrate better performance and shorter specifications when compared to existing approaches.