首页 > 最新文献

Proceedings of the 13th International Workshop on Dynamic Analysis最新文献

英文 中文
Concolic testing: a decade later (keynote) Concolic测试:十年后(主题演讲)
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823364
Koushik Sen
Symbolic execution for software testing has witnessed renewed interest in the recent years due to its ability to generate high-coverage test suites and find deep errors in software systems. In this talk, I will give an overview of a modern symbolic execution technique, called concolic testing, discuss its key challenges in terms of path exploration, and introduce MultiSE, a new technique for tackling the path exploration challenge.
近年来,由于符号执行能够生成高覆盖率的测试套件并发现软件系统中的深层错误,软件测试的符号执行重新引起了人们的兴趣。在这次演讲中,我将概述一种现代符号执行技术,称为concolic测试,讨论其在路径探索方面的主要挑战,并介绍MultiSE,一种解决路径探索挑战的新技术。
{"title":"Concolic testing: a decade later (keynote)","authors":"Koushik Sen","doi":"10.1145/2823363.2823364","DOIUrl":"https://doi.org/10.1145/2823363.2823364","url":null,"abstract":"Symbolic execution for software testing has witnessed renewed interest in the recent years due to its ability to generate high-coverage test suites and find deep errors in software systems. In this talk, I will give an overview of a modern symbolic execution technique, called concolic testing, discuss its key challenges in terms of path exploration, and introduce MultiSE, a new technique for tackling the path exploration challenge.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129531307","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}
引用次数: 4
Towards deployment-time dynamic analysis of server applications 面向服务器应用程序的部署时动态分析
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823372
Luís Pina, Cristian Cadar
Bug-finding tools based on dynamic analysis (DA), such as Valgrind or the compiler sanitizers provided by Clang and GCC, have become ubiquitous during software development. These analyses are precise but incur a large performance overhead (often several times slower than native execution), which makes them prohibitively expensive to use in production. In this work, we investigate the exciting possibility of deploying such dynamic analyses in production code, using a multi-version execution approach.
基于动态分析(DA)的bug查找工具,如Valgrind或Clang和GCC提供的编译器杀毒器,在软件开发过程中已经变得无处不在。这些分析是精确的,但会产生很大的性能开销(通常比本机执行慢几倍),这使得它们在生产中使用的成本非常高。在这项工作中,我们研究了使用多版本执行方法在生产代码中部署这种动态分析的令人兴奋的可能性。
{"title":"Towards deployment-time dynamic analysis of server applications","authors":"Luís Pina, Cristian Cadar","doi":"10.1145/2823363.2823372","DOIUrl":"https://doi.org/10.1145/2823363.2823372","url":null,"abstract":"Bug-finding tools based on dynamic analysis (DA), such as Valgrind or the compiler sanitizers provided by Clang and GCC, have become ubiquitous during software development. These analyses are precise but incur a large performance overhead (often several times slower than native execution), which makes them prohibitively expensive to use in production. In this work, we investigate the exciting possibility of deploying such dynamic analyses in production code, using a multi-version execution approach.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"28 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131216176","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
Supporting PHP dynamic analysis in PHP AiR 在PHP AiR中支持PHP动态分析
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823373
M. Hills
The PHP AiR framework is currently being developed to support software metrics, empirical software engineering, and program analysis for real-world PHP systems. While most of the work on program analysis has focused on static analysis, to help address the dynamic nature of the language we have also started to extend PHP AiR with support for dynamic program analysis. This extended abstract highlights two parts of this support: integration with xdebug for trace analysis, and instrumentation of an open-source PHP interpreter with a focus on supporting string origins, allowing us to explore how strings are created in security-sensitive areas such as database calls and HTML generation.
PHP AiR框架目前正在开发中,以支持实际PHP系统的软件度量、经验软件工程和程序分析。虽然大多数关于程序分析的工作都集中在静态分析上,但为了帮助解决语言的动态特性,我们也开始扩展PHP AiR以支持动态程序分析。这个扩展的抽象重点介绍了这种支持的两个部分:与xdebug的集成进行跟踪分析,以及对一个开源PHP解释器的检测,该解释器主要支持字符串起源,允许我们探索如何在安全敏感的领域(如数据库调用和HTML生成)创建字符串。
{"title":"Supporting PHP dynamic analysis in PHP AiR","authors":"M. Hills","doi":"10.1145/2823363.2823373","DOIUrl":"https://doi.org/10.1145/2823363.2823373","url":null,"abstract":"The PHP AiR framework is currently being developed to support software metrics, empirical software engineering, and program analysis for real-world PHP systems. While most of the work on program analysis has focused on static analysis, to help address the dynamic nature of the language we have also started to extend PHP AiR with support for dynamic program analysis. This extended abstract highlights two parts of this support: integration with xdebug for trace analysis, and instrumentation of an open-source PHP interpreter with a focus on supporting string origins, allowing us to explore how strings are created in security-sensitive areas such as database calls and HTML generation.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125972268","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
A formal foundation for trace-based JIT compilers 基于跟踪的JIT编译器的正式基础
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823369
Maarten Vandercammen, Jens Nicolay, Stefan Marr, Joeri De Koster, T. D'Hondt, Coen De Roover
Trace-based JIT compilers identify frequently executed program paths at run-time and subsequently record, compile and optimize their execution. In order to improve the performance of the generated machine instructions, JIT compilers heavily rely on dynamic analysis of the code. Existing work treats the components of a JIT compiler as a monolithic whole, tied to particular execution semantics. We propose a formal framework that facilitates the design and implementation of a tracing JIT compiler and its accompanying dynamic analyses by decoupling the tracing, optimization, and interpretation processes. This results in a framework that is more configurable and extensible than existing formal tracing models. We formalize the tracer and interpreter as two abstract state machines that communicate through a minimal, well-defined interface. Developing a tracing JIT compiler becomes possible for arbitrary interpreters that implement this interface. The abstract machines also provide the necessary hooks to plug in custom analyses and optimizations.
基于跟踪的JIT编译器在运行时识别经常执行的程序路径,并随后记录、编译和优化它们的执行。为了提高生成的机器指令的性能,JIT编译器严重依赖于对代码的动态分析。现有的工作将JIT编译器的组件视为一个整体,绑定到特定的执行语义。我们提出了一个正式的框架,通过解耦跟踪、优化和解释过程来促进跟踪JIT编译器及其伴随的动态分析的设计和实现。这使得框架比现有的正式跟踪模型更具可配置性和可扩展性。我们将跟踪器和解释器形式化为两个抽象状态机,它们通过一个最小的、定义良好的接口进行通信。为实现此接口的任意解释器开发跟踪JIT编译器成为可能。抽象机器还提供必要的挂钩来插入自定义分析和优化。
{"title":"A formal foundation for trace-based JIT compilers","authors":"Maarten Vandercammen, Jens Nicolay, Stefan Marr, Joeri De Koster, T. D'Hondt, Coen De Roover","doi":"10.1145/2823363.2823369","DOIUrl":"https://doi.org/10.1145/2823363.2823369","url":null,"abstract":"Trace-based JIT compilers identify frequently executed program paths at run-time and subsequently record, compile and optimize their execution. In order to improve the performance of the generated machine instructions, JIT compilers heavily rely on dynamic analysis of the code. Existing work treats the components of a JIT compiler as a monolithic whole, tied to particular execution semantics. We propose a formal framework that facilitates the design and implementation of a tracing JIT compiler and its accompanying dynamic analyses by decoupling the tracing, optimization, and interpretation processes. This results in a framework that is more configurable and extensible than existing formal tracing models. We formalize the tracer and interpreter as two abstract state machines that communicate through a minimal, well-defined interface. Developing a tracing JIT compiler becomes possible for arbitrary interpreters that implement this interface. The abstract machines also provide the necessary hooks to plug in custom analyses and optimizations.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"01 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129695975","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}
引用次数: 5
Ayudante: identifying undesired variable interactions Ayudante:识别不希望的变量交互
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823366
I. Haq, Juan Caballero, Michael D. Ernst
A common programming mistake is for incompatible variables to interact, e.g., storing euros in a variable that should hold dollars, or using an array index with the wrong array. This paper proposes a novel approach for identifying undesired interactions between program variables. Our approach uses two different mechanisms to identify related variables. Natural language processing (NLP) identifies variables with related names that may have related semantics. Abstract type inference (ATI) identifies variables that interact with each other. Any discrepancies between these two mechanisms may indicate a programming error. We have implemented our approach in a tool called Ayudante. We evaluated Ayudante using two open-source programs: the Exim mail server and grep. Although these programs have been extensively tested and in deployment for years, Ayudante’s first report for grep revealed a programming mistake.
一个常见的编程错误是不兼容的变量相互作用,例如,将欧元存储在应该保存美元的变量中,或者对错误的数组使用数组索引。本文提出了一种识别程序变量之间非期望交互的新方法。我们的方法使用两种不同的机制来识别相关变量。自然语言处理(NLP)识别具有可能具有相关语义的相关名称的变量。抽象类型推断(ATI)识别相互作用的变量。这两种机制之间的任何差异都可能表明存在编程错误。我们已经在一个叫做Ayudante的工具中实现了我们的方法。我们使用两个开源程序来评估Ayudante: Exim邮件服务器和grep。尽管这些程序已经经过了多年的广泛测试和部署,但Ayudante的第一个grep报告揭示了一个编程错误。
{"title":"Ayudante: identifying undesired variable interactions","authors":"I. Haq, Juan Caballero, Michael D. Ernst","doi":"10.1145/2823363.2823366","DOIUrl":"https://doi.org/10.1145/2823363.2823366","url":null,"abstract":"A common programming mistake is for incompatible variables to interact, e.g., storing euros in a variable that should hold dollars, or using an array index with the wrong array. This paper proposes a novel approach for identifying undesired interactions between program variables. Our approach uses two different mechanisms to identify related variables. Natural language processing (NLP) identifies variables with related names that may have related semantics. Abstract type inference (ATI) identifies variables that interact with each other. Any discrepancies between these two mechanisms may indicate a programming error. We have implemented our approach in a tool called Ayudante. We evaluated Ayudante using two open-source programs: the Exim mail server and grep. Although these programs have been extensively tested and in deployment for years, Ayudante’s first report for grep revealed a programming mistake.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126644053","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}
引用次数: 6
Infection size as a measure of bug severity 感染大小是衡量病毒严重程度的标准
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823370
M. R. Azadmanesh, Matthias Hauswirth
A simple bug in a program can influence a large part of the program execution by spreading throughout the state at runtime. This is known as program infection. The seriousness of bugs is usually measured by studying their external effects. However, such effects essentially derive from internal factors of a program. Our idea is to focus on internal factors, in particular the infection chain, to measure how serious a bug was. This allows reasoning about bugs from a new and potentially insightful perspective.
程序中的一个简单错误可以通过在运行时传播到整个状态而影响大部分程序的执行。这被称为程序感染。臭虫的严重性通常是通过研究它们的外部影响来衡量的。然而,这种影响本质上源于程序的内部因素。我们的想法是关注内部因素,特别是感染链,以衡量细菌的严重程度。这允许从一个新的和潜在的有洞察力的角度对bug进行推理。
{"title":"Infection size as a measure of bug severity","authors":"M. R. Azadmanesh, Matthias Hauswirth","doi":"10.1145/2823363.2823370","DOIUrl":"https://doi.org/10.1145/2823363.2823370","url":null,"abstract":"A simple bug in a program can influence a large part of the program execution by spreading throughout the state at runtime. This is known as program infection. The seriousness of bugs is usually measured by studying their external effects. However, such effects essentially derive from internal factors of a program. Our idea is to focus on internal factors, in particular the infection chain, to measure how serious a bug was. This allows reasoning about bugs from a new and potentially insightful perspective.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130490686","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
SQL for deep dynamic analysis? SQL深度动态分析?
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823365
M. R. Azadmanesh, Matthias Hauswirth
If we develop a new dynamic analysis tool, how should we expose its functionalities? Through an interactive user interface, a DSL, a specific API, or in some other way? In this paper, we discuss how to use an already existing language familiar to most software engineers, SQL, to perform deep dynamic analyses. The goal is to explore the trade-off between expressiveness and ease-of-use. We use BLAST as the dynamic analysis tool and map its trace information to a relational database. We find that, even though SQL is expressive enough for deep analysis of program executions and information flow, it is not quite straight forward to express some of the queries software engineers might be interested in. However, it removes the burden of learning a new language from scratch, which could make it worthwhile as an option in some cases.
如果我们开发一个新的动态分析工具,我们应该如何公开它的功能?通过交互式用户界面、DSL、特定API还是其他方式?在本文中,我们讨论了如何使用大多数软件工程师熟悉的现有语言SQL来执行深度动态分析。我们的目标是探索表达性和易用性之间的权衡。我们使用BLAST作为动态分析工具,并将其跟踪信息映射到关系数据库中。我们发现,尽管SQL具有足够的表现力,可以深入分析程序执行和信息流,但对于软件工程师可能感兴趣的一些查询,它的表达并不十分直接。然而,它消除了从头开始学习一门新语言的负担,这在某些情况下可能使它成为一种值得选择的选择。
{"title":"SQL for deep dynamic analysis?","authors":"M. R. Azadmanesh, Matthias Hauswirth","doi":"10.1145/2823363.2823365","DOIUrl":"https://doi.org/10.1145/2823363.2823365","url":null,"abstract":"If we develop a new dynamic analysis tool, how should we expose its functionalities? Through an interactive user interface, a DSL, a specific API, or in some other way? In this paper, we discuss how to use an already existing language familiar to most software engineers, SQL, to perform deep dynamic analyses. The goal is to explore the trade-off between expressiveness and ease-of-use. We use BLAST as the dynamic analysis tool and map its trace information to a relational database. We find that, even though SQL is expressive enough for deep analysis of program executions and information flow, it is not quite straight forward to express some of the queries software engineers might be interested in. However, it removes the burden of learning a new language from scratch, which could make it worthwhile as an option in some cases.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125363881","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
Efficient dynamic analysis of the synchronization performance of Java applications Java应用程序同步性能的高效动态分析
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823367
Peter Hofer, David Gnedt, H. Mössenböck
Concurrent programming has become a necessity in order to benefit from recent advances in processor design. However, implementing correct and scalable synchronization in concurrent code remains a challenge. Dynamic analysis of synchronization behavior is vital to determine where more sophisticated but error-prone synchronization pays off. We examine common approaches that developers use to identify and analyze concurrency bottlenecks in Java applications. We then describe key aspects of our ongoing research on a novel approach to Java synchronization analysis. Our approach provides developers with exhaustive information on the synchronization behavior of their application, but incurs such low overhead that it is feasible to use it for monitoring production systems. Unlike other methods, our approach can precisely show where optimizations have the largest impact.
为了从处理器设计的最新进展中获益,并发编程已经成为一种必要。然而,在并发代码中实现正确且可伸缩的同步仍然是一个挑战。同步行为的动态分析对于确定更复杂但容易出错的同步在哪些地方值得使用是至关重要的。我们将研究开发人员用于识别和分析Java应用程序中的并发性瓶颈的常用方法。然后,我们描述了正在进行的Java同步分析新方法研究的关键方面。我们的方法为开发人员提供了有关其应用程序同步行为的详尽信息,但是开销很低,因此可以将其用于监视生产系统。与其他方法不同,我们的方法可以精确地显示优化的最大影响。
{"title":"Efficient dynamic analysis of the synchronization performance of Java applications","authors":"Peter Hofer, David Gnedt, H. Mössenböck","doi":"10.1145/2823363.2823367","DOIUrl":"https://doi.org/10.1145/2823363.2823367","url":null,"abstract":"Concurrent programming has become a necessity in order to benefit from recent advances in processor design. However, implementing correct and scalable synchronization in concurrent code remains a challenge. Dynamic analysis of synchronization behavior is vital to determine where more sophisticated but error-prone synchronization pays off. We examine common approaches that developers use to identify and analyze concurrency bottlenecks in Java applications. We then describe key aspects of our ongoing research on a novel approach to Java synchronization analysis. Our approach provides developers with exhaustive information on the synchronization behavior of their application, but incurs such low overhead that it is feasible to use it for monitoring production systems. Unlike other methods, our approach can precisely show where optimizations have the largest impact.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130553114","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}
引用次数: 4
Recovering execution data from incomplete observations 从不完整的观察中恢复执行数据
Pub Date : 2015-10-26 DOI: 10.1145/2823363.2823368
Peter Ohmann, D. Brown, B. Liblit, T. Reps
Due to resource constraints, tracing production applications often results in incomplete data. Nevertheless, developers ideally want answers to queries about the program's execution beyond data explicitly gathered. For example, a developer may ask whether a particular program statement executed during the run corresponding to a given failure report. In this work, we investigate the problem of determining whether each statement in a program executed, did not execute, or may have executed, given a set of (possibly-incomplete) observations. Using two distinct formalisms, we propose two solutions to this problem. The first formulation represents observations as regular languages, and computes intersections over these languages using finite-state acceptors. The second formulation encodes the problem as a set of Boolean constraints, and uses answer set programming to solve the constraints.
由于资源限制,跟踪生产应用程序通常会导致数据不完整。尽管如此,开发人员在理想情况下还是希望得到关于程序执行的查询的答案,而不是明确收集的数据。例如,开发人员可能会询问在运行期间执行的特定程序语句是否与给定的失败报告相对应。在这项工作中,我们研究了给定一组(可能不完整的)观察结果,确定程序中的每个语句是否执行、未执行或可能已执行的问题。使用两种不同的形式,我们对这个问题提出了两种解决方案。第一个公式将观察结果表示为常规语言,并使用有限状态受体计算这些语言的交集。第二个公式将问题编码为一组布尔约束,并使用答案集编程来求解约束。
{"title":"Recovering execution data from incomplete observations","authors":"Peter Ohmann, D. Brown, B. Liblit, T. Reps","doi":"10.1145/2823363.2823368","DOIUrl":"https://doi.org/10.1145/2823363.2823368","url":null,"abstract":"Due to resource constraints, tracing production applications often results in incomplete data. Nevertheless, developers ideally want answers to queries about the program's execution beyond data explicitly gathered. For example, a developer may ask whether a particular program statement executed during the run corresponding to a given failure report. In this work, we investigate the problem of determining whether each statement in a program executed, did not execute, or may have executed, given a set of (possibly-incomplete) observations. Using two distinct formalisms, we propose two solutions to this problem. The first formulation represents observations as regular languages, and computes intersections over these languages using finite-state acceptors. The second formulation encodes the problem as a set of Boolean constraints, and uses answer set programming to solve the constraints.","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116097907","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}
引用次数: 4
Proceedings of the 13th International Workshop on Dynamic Analysis 第十三届动力分析国际研讨会论文集
Pub Date : 1900-01-01 DOI: 10.1145/2823363
{"title":"Proceedings of the 13th International Workshop on Dynamic Analysis","authors":"","doi":"10.1145/2823363","DOIUrl":"https://doi.org/10.1145/2823363","url":null,"abstract":"","PeriodicalId":256833,"journal":{"name":"Proceedings of the 13th International Workshop on Dynamic Analysis","volume":"266 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115077506","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 13th International Workshop on Dynamic Analysis
全部 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