首页 > 最新文献

Meta: Avaliacao最新文献

英文 中文
Squirrel: an extensible distributed key-value store Squirrel:一个可扩展的分布式键值存储
Q4 Social Sciences Pub Date : 2019-10-20 DOI: 10.1145/3358502.3361271
Kevin De Porre, E. G. Boix
Distributed key-value (KV) stores are a rising alternative to traditional relational databases since they provide a flexible yet simple data model. Recent KV stores use eventual consistency to ensure fast reads and writes as well as high availability. Support for eventual consistency is however still very limited as typically only a handful of replicated data types are provided. Moreover, modern applications maintain various types of data, some of which require strong consistency whereas other require high availability. Implementing such applications remains cumbersome due to the lack of support for data consistency in today's KV stores. In this paper we propose Squirrel, an open implementation of an in-memory distributed KV store. The core idea is to reify distribution through consistency models and protocols. We implement two families of consistency models (strong consistency and strong eventual consistency) and several consistency protocols, including two-phase commit and CRDTs.
分布式键值(KV)存储是传统关系数据库的新兴替代方案,因为它们提供了灵活而简单的数据模型。最近的KV存储使用最终一致性来确保快速读写以及高可用性。然而,对最终一致性的支持仍然非常有限,因为通常只提供少数复制数据类型。此外,现代应用程序维护各种类型的数据,其中一些需要强一致性,而另一些需要高可用性。由于目前的KV存储缺乏对数据一致性的支持,实现这样的应用程序仍然很麻烦。在本文中,我们提出了Squirrel,这是一个内存分布式KV存储的开放实现。其核心思想是通过一致性模型和协议来实现分布。我们实现了两类一致性模型(强一致性和强最终一致性)和几个一致性协议,包括两阶段提交和crdt。
{"title":"Squirrel: an extensible distributed key-value store","authors":"Kevin De Porre, E. G. Boix","doi":"10.1145/3358502.3361271","DOIUrl":"https://doi.org/10.1145/3358502.3361271","url":null,"abstract":"Distributed key-value (KV) stores are a rising alternative to traditional relational databases since they provide a flexible yet simple data model. Recent KV stores use eventual consistency to ensure fast reads and writes as well as high availability. Support for eventual consistency is however still very limited as typically only a handful of replicated data types are provided. Moreover, modern applications maintain various types of data, some of which require strong consistency whereas other require high availability. Implementing such applications remains cumbersome due to the lack of support for data consistency in today's KV stores. In this paper we propose Squirrel, an open implementation of an in-memory distributed KV store. The core idea is to reify distribution through consistency models and protocols. We implement two families of consistency models (strong consistency and strong eventual consistency) and several consistency protocols, including two-phase commit and CRDTs.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"169 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2019-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74388325","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection 第四届ACM SIGPLAN元编程技术与反思国际研讨会论文集
Q4 Social Sciences Pub Date : 2019-01-01 DOI: 10.1145/3358502
{"title":"Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection","authors":"","doi":"10.1145/3358502","DOIUrl":"https://doi.org/10.1145/3358502","url":null,"abstract":"","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"7 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2019-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88566371","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Through a glass, darkly (invited talk) 透过玻璃,阴暗地(应邀谈话)
Q4 Social Sciences Pub Date : 2018-11-05 DOI: 10.1145/3281074.3281075
J. Noble
Reflection gives us a mirror into our programs. Using this mirror, we can see our programs’ structures, perhaps their execution, and maybe even reach through the mirror to change what our programs are and what they do. In this talk, I’ll consider what lives on each side of the mirror and what happens when we cross that boundary. I’ll describe how mirrors let us peer into the middle of our programs, what happens when we reflect on concepts rather than objects, and what happens when we hold up a mirror up to itself. I’ll discuss the way reflection works in the Grace language, and present some prospects for extending it in the future.
反射为我们的程序提供了一面镜子。使用这个镜像,我们可以看到程序的结构,也许是它们的执行,甚至可以通过镜像来改变我们的程序是什么和它们做什么。在这次演讲中,我将考虑在镜子的两边生活着什么,以及当我们越过边界时会发生什么。我将描述镜子如何让我们窥探程序的中心,当我们反思概念而不是对象时会发生什么,以及当我们把镜子举到它自己面前时会发生什么。我将讨论反射在Grace语言中的工作方式,并展望未来对它的扩展。
{"title":"Through a glass, darkly (invited talk)","authors":"J. Noble","doi":"10.1145/3281074.3281075","DOIUrl":"https://doi.org/10.1145/3281074.3281075","url":null,"abstract":"Reflection gives us a mirror into our programs. Using this mirror, we can see our programs’ structures, perhaps their execution, and maybe even reach through the mirror to change what our programs are and what they do. In this talk, I’ll consider what lives on each side of the mirror and what happens when we cross that boundary. I’ll describe how mirrors let us peer into the middle of our programs, what happens when we reflect on concepts rather than objects, and what happens when we hold up a mirror up to itself. I’ll discuss the way reflection works in the Grace language, and present some prospects for extending it in the future.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"40 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84956574","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Does it make sense to have application-specific code conventions as a complementary approach to code annotations? 使用特定于应用程序的代码约定作为代码注释的补充方法有意义吗?
Q4 Social Sciences Pub Date : 2018-11-05 DOI: 10.1145/3281074.3281078
R. Teixeira, E. Guerra, Phyllipe Lima, Paulo Meirelles, Fabio Kon
Code annotations are extensively used by Java developers, especially in enterprise frameworks and APIs such as Spring and Java EE. Different code elements that frequently share some similarities, sometimes, repeat the annotations. The goal of this paper is to evaluate whether a real-world system could use code conventions as a means to avoid replicating code annotations. We report on a study on the software used for the EMBRACE Space Weather program at INPE to search for similarities.
Java开发人员广泛使用代码注释,特别是在企业框架和api(如Spring和Java EE)中。经常共享某些相似之处的不同代码元素有时会重复注释。本文的目标是评估现实世界的系统是否可以使用代码约定作为避免复制代码注释的手段。我们报告了一项关于INPE“拥抱空间天气”项目所用软件的研究,以寻找相似之处。
{"title":"Does it make sense to have application-specific code conventions as a complementary approach to code annotations?","authors":"R. Teixeira, E. Guerra, Phyllipe Lima, Paulo Meirelles, Fabio Kon","doi":"10.1145/3281074.3281078","DOIUrl":"https://doi.org/10.1145/3281074.3281078","url":null,"abstract":"Code annotations are extensively used by Java developers, especially in enterprise frameworks and APIs such as Spring and Java EE. Different code elements that frequently share some similarities, sometimes, repeat the annotations. The goal of this paper is to evaluate whether a real-world system could use code conventions as a means to avoid replicating code annotations. We report on a study on the software used for the EMBRACE Space Weather program at INPE to search for similarities.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"489 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77254670","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
SemanticDB: a common data model for Scala developer tools (invited talk) SemanticDB: Scala开发工具的通用数据模型(特邀演讲)
Q4 Social Sciences Pub Date : 2018-11-05 DOI: 10.1145/3281074.3281076
E. Burmako
Nowadays, there is a clear trend towards standards for communication between developer tools. Language Server Protocol (LSP), a protocol that connects programming language implementations and text editors, has gained strong industrial support and at the time of writing has implementations for many programming languages and editors. Build Server Protocol (BSP) follows in LSP’s tracks with an ambition to define a protocol for communication between language servers and build tools. While lots of work in the open-source community has been invested in unifying user experience (by codifying commonly used operations like go to definition or find all references), relatively less work went into unifying implementor experience. For example, at the moment, there exist five different LSP implementations for Scala. They all implement the same protocol that works with code, but they all use different data structures to represent that code. In this talk, we will present SemanticDB - a data model for semantic information such as symbols and types about programs in Scala and other languages. We will discuss our experience of building an ecosystem of developers tools around SemanticDB and using these tools on Twitter source code - arguably the largest Scala codebase on the planet. SemanticDB is joint work between Eugene Burmako, Twitter and Ólafur Páll Geirsson, EPFL who together developed and maintain the open-source specification and implementations at https://github.com/scalameta/scalameta. The project has received contributions from the Advanced Scala Tools team at Twitter - Eugene Burmako, Shane Delmore, Max Ovsiankin and Uma Srinivasan - as well as many open-source enthusiasts.
如今,开发人员工具之间的通信标准有一个明显的趋势。语言服务器协议(LSP)是一种连接编程语言实现和文本编辑器的协议,已经获得了强大的工业支持,并且在撰写本文时已经为许多编程语言和编辑器实现了实现。构建服务器协议(BSP)遵循LSP的轨迹,其目标是定义语言服务器和构建工具之间的通信协议。虽然开源社区在统一用户体验方面投入了大量的工作(通过编纂常用操作,如查找定义或查找所有引用),但在统一实现者体验方面投入的工作相对较少。例如,目前Scala有五种不同的LSP实现。它们都实现与代码一起工作的相同协议,但是它们都使用不同的数据结构来表示代码。在这次演讲中,我们将介绍SemanticDB——一个用于Scala和其他语言程序的语义信息(如符号和类型)的数据模型。我们将讨论围绕SemanticDB构建开发人员工具生态系统的经验,并在Twitter源代码(可以说是世界上最大的Scala代码库)上使用这些工具。SemanticDB是由Eugene Burmako, Twitter和Ólafur Páll Geirsson, EPFL共同开发和维护的开源规范和实现在https://github.com/scalameta/scalameta。该项目收到了来自Twitter高级Scala工具团队的贡献——Eugene Burmako、Shane Delmore、Max Ovsiankin和Uma Srinivasan——以及许多开源爱好者。
{"title":"SemanticDB: a common data model for Scala developer tools (invited talk)","authors":"E. Burmako","doi":"10.1145/3281074.3281076","DOIUrl":"https://doi.org/10.1145/3281074.3281076","url":null,"abstract":"Nowadays, there is a clear trend towards standards for communication between developer tools. Language Server Protocol (LSP), a protocol that connects programming language implementations and text editors, has gained strong industrial support and at the time of writing has implementations for many programming languages and editors. Build Server Protocol (BSP) follows in LSP’s tracks with an ambition to define a protocol for communication between language servers and build tools. While lots of work in the open-source community has been invested in unifying user experience (by codifying commonly used operations like go to definition or find all references), relatively less work went into unifying implementor experience. For example, at the moment, there exist five different LSP implementations for Scala. They all implement the same protocol that works with code, but they all use different data structures to represent that code. In this talk, we will present SemanticDB - a data model for semantic information such as symbols and types about programs in Scala and other languages. We will discuss our experience of building an ecosystem of developers tools around SemanticDB and using these tools on Twitter source code - arguably the largest Scala codebase on the planet. SemanticDB is joint work between Eugene Burmako, Twitter and Ólafur Páll Geirsson, EPFL who together developed and maintain the open-source specification and implementations at https://github.com/scalameta/scalameta. The project has received contributions from the Advanced Scala Tools team at Twitter - Eugene Burmako, Shane Delmore, Max Ovsiankin and Uma Srinivasan - as well as many open-source enthusiasts.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"32 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75951885","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
GraalVM: metaprogramming inside a polyglot system (invited talk) GraalVM:多语言系统中的元编程(特邀演讲)
Q4 Social Sciences Pub Date : 2018-11-05 DOI: 10.1145/3281074.3284935
Daniele Bonetta
GraalVM is a polyglot virtual machine for running applications written in a variety of languages such as JavaScript, Ruby, Python, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. GraalVM enables interoperability between different programming languages in a shared runtime, and can run either standalone or embedded in other software systems such as Node.js, the Oracle RDBMS, and MySQL. In this talk I will give an overview of GraalVM and present how polyglot features such as language interoperability and language-agnostic instrumentation are enabled in GraalVM by means of VM-internal metaprogramming.
GraalVM是一个多语言虚拟机,用于运行用各种语言编写的应用程序,如JavaScript、Ruby、Python、R、基于jvm的语言(如Java、Scala、Kotlin)和基于llvm的语言(如C和c++)。GraalVM支持在共享运行时中不同编程语言之间的互操作性,并且可以独立运行或嵌入到其他软件系统(如Node.js, Oracle RDBMS和MySQL)中。在这次演讲中,我将概述GraalVM,并介绍如何通过vm内部元编程在GraalVM中启用多语言特性,如语言互操作性和语言不可知工具。
{"title":"GraalVM: metaprogramming inside a polyglot system (invited talk)","authors":"Daniele Bonetta","doi":"10.1145/3281074.3284935","DOIUrl":"https://doi.org/10.1145/3281074.3284935","url":null,"abstract":"GraalVM is a polyglot virtual machine for running applications written in a variety of languages such as JavaScript, Ruby, Python, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. GraalVM enables interoperability between different programming languages in a shared runtime, and can run either standalone or embedded in other software systems such as Node.js, the Oracle RDBMS, and MySQL. In this talk I will give an overview of GraalVM and present how polyglot features such as language interoperability and language-agnostic instrumentation are enabled in GraalVM by means of VM-internal metaprogramming.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"21 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85193178","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Recognizing heterogeneous sequences by rational type expression 利用有理型表达式识别异质序列
Q4 Social Sciences Pub Date : 2018-11-05 DOI: 10.1145/3281074.3281077
Jim E. Newton, D. Verna
We summarize a technique for writing functions which recognize types of heterogeneous sequences in Common Lisp. The technique employs sequence recognition functions, generated at compile time, and evaluated at run-time. The technique we demonstrate extends the Common Lisp type system, exploiting the theory of rational languages, Binary Decision Diagrams, and the Turing complete macro facility of Common Lisp. The resulting system uses meta-programming to move an Omega(2^n) complexity operation from run-time to a compile-time operation, leaving a highly optimized Theta(n) complexity operation for run-time.
我们总结了一种在Common Lisp中编写识别异构序列类型的函数的技术。该技术使用序列识别函数,在编译时生成,并在运行时求值。我们演示的技术扩展了公共Lisp类型系统,利用了理性语言理论、二元决策图和公共Lisp的图灵完全宏功能。由此产生的系统使用元编程将复杂度为Omega(2^n)的操作从运行时移动到编译时操作,从而为运行时留下高度优化的复杂度为Theta(n)的操作。
{"title":"Recognizing heterogeneous sequences by rational type expression","authors":"Jim E. Newton, D. Verna","doi":"10.1145/3281074.3281077","DOIUrl":"https://doi.org/10.1145/3281074.3281077","url":null,"abstract":"We summarize a technique for writing functions which recognize types of heterogeneous sequences in Common Lisp. The technique employs sequence recognition functions, generated at compile time, and evaluated at run-time. The technique we demonstrate extends the Common Lisp type system, exploiting the theory of rational languages, Binary Decision Diagrams, and the Turing complete macro facility of Common Lisp. The resulting system uses meta-programming to move an Omega(2^n) complexity operation from run-time to a compile-time operation, leaving a highly optimized Theta(n) complexity operation for run-time.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"5 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76000425","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Proceedings of the 3rd ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection 第三届ACM SIGPLAN元编程技术与反思国际研讨会论文集
Q4 Social Sciences Pub Date : 2018-01-01 DOI: 10.1145/3281074
{"title":"Proceedings of the 3rd ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection","authors":"","doi":"10.1145/3281074","DOIUrl":"https://doi.org/10.1145/3281074","url":null,"abstract":"","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89544188","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An annotation-based API for supporting runtime code annotation reading 一个基于注释的API,用于支持运行时代码注释读取
Q4 Social Sciences Pub Date : 2017-10-22 DOI: 10.1145/3141517.3141856
Phyllipe Lima, E. Guerra, Marco Nardes, Andrea Mocci, G. Bavota, Michele Lanza
Code annotations are the core of the main APIs and frameworks for enterprise development, and are widely used on several applications. However, despite these APIs and frameworks made advanced uses of annotations, the language API for annotation reading is far from their needs. In particular, annotation reading is still a relatively complex task, that can consume a lot of development time and that can couple the framework internal structure to its annotations. This paper proposes an annotation-based API to retrieve metadata from code annotations and populate an instance with meta-information ready to be used by the framework. The proposed API is based on best practices and approaches for metadata definition documented on patterns, and has been implemented by a framework named Esfinge Metadata. We evaluated the approach by refactoring an existing framework to use it through Esfinge Metadata. The original and the refactored versions are compared using several code assessment techniques, such as software metrics, and bad smells detection, followed by a qualitative analysis based on source code inspection. As a result, the case study revealed that the usage of the proposed API can reduce the coupling between the metadata reading code and the annotations.
代码注释是企业开发的主要api和框架的核心,被广泛应用于各种应用程序。然而,尽管这些API和框架对注释进行了高级的使用,但是用于读取注释的语言API还远远不能满足它们的需求。特别是,注释读取仍然是一项相对复杂的任务,它会消耗大量的开发时间,并且会将框架内部结构与其注释耦合在一起。本文提出了一种基于注释的API,用于从代码注释中检索元数据,并用元信息填充实例以供框架使用。提议的API基于记录在模式上的元数据定义的最佳实践和方法,并已由名为esfinger metadata的框架实现。我们通过重构现有框架来评估这种方法,以便通过esfinger Metadata使用它。使用几种代码评估技术(如软件度量和不良气味检测)比较原始版本和重构版本,然后进行基于源代码检查的定性分析。因此,案例研究表明,使用提议的API可以减少元数据读取代码和注释之间的耦合。
{"title":"An annotation-based API for supporting runtime code annotation reading","authors":"Phyllipe Lima, E. Guerra, Marco Nardes, Andrea Mocci, G. Bavota, Michele Lanza","doi":"10.1145/3141517.3141856","DOIUrl":"https://doi.org/10.1145/3141517.3141856","url":null,"abstract":"Code annotations are the core of the main APIs and frameworks for enterprise development, and are widely used on several applications. However, despite these APIs and frameworks made advanced uses of annotations, the language API for annotation reading is far from their needs. In particular, annotation reading is still a relatively complex task, that can consume a lot of development time and that can couple the framework internal structure to its annotations. This paper proposes an annotation-based API to retrieve metadata from code annotations and populate an instance with meta-information ready to be used by the framework. The proposed API is based on best practices and approaches for metadata definition documented on patterns, and has been implemented by a framework named Esfinge Metadata. We evaluated the approach by refactoring an existing framework to use it through Esfinge Metadata. The original and the refactored versions are compared using several code assessment techniques, such as software metrics, and bad smells detection, followed by a qualitative analysis based on source code inspection. As a result, the case study revealed that the usage of the proposed API can reduce the coupling between the metadata reading code and the annotations.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"48 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2017-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87063876","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Toward abstract interpretation of program transformations 对程序转换进行抽象解释
Q4 Social Sciences Pub Date : 2017-10-22 DOI: 10.1145/3141517.3141855
Sven Keidel, Sebastian Erdweg
Developers of program transformations often reason about transformations to assert certain properties of the generated code. We propose to apply abstract interpretation to program transformations in order to automate and support such reasoning. In this paper, we present work in progress on the development and application of an abstract interpreter for the program transformation language Stratego. In particular, we present challenges encountered during the development of the abstract Stratego interpreter and how we intend to solve these challenges.
程序转换的开发人员经常对转换进行推理,以断言生成代码的某些属性。我们建议将抽象解释应用于程序转换,以便自动化和支持这种推理。本文介绍了程序转换语言Stratego的抽象解释器的开发和应用。特别是,我们提出了在开发抽象Stratego解释器过程中遇到的挑战,以及我们打算如何解决这些挑战。
{"title":"Toward abstract interpretation of program transformations","authors":"Sven Keidel, Sebastian Erdweg","doi":"10.1145/3141517.3141855","DOIUrl":"https://doi.org/10.1145/3141517.3141855","url":null,"abstract":"Developers of program transformations often reason about transformations to assert certain properties of the generated code. We propose to apply abstract interpretation to program transformations in order to automate and support such reasoning. In this paper, we present work in progress on the development and application of an abstract interpreter for the program transformation language Stratego. In particular, we present challenges encountered during the development of the abstract Stratego interpreter and how we intend to solve these challenges.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"93 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2017-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75946186","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
期刊
Meta: Avaliacao
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1