Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis最新文献

筛选
英文 中文
MetaCG: annotated call-graphs to facilitate whole-program analysis MetaCG:带注释的调用图,便于整个程序分析
Jan-Patrick Lehr, Alexander Hück, Yannic Fischler, C. Bischof
{"title":"MetaCG: annotated call-graphs to facilitate whole-program analysis","authors":"Jan-Patrick Lehr, Alexander Hück, Yannic Fischler, C. Bischof","doi":"10.1145/3427764.3428320","DOIUrl":"https://doi.org/10.1145/3427764.3428320","url":null,"abstract":"The paper presents the extendable C/C++ whole-program call-graph tool MetaCG. We introduce its graph library, the Clang-based tool CGCollector to construct the call graph and attach meta information, and CGValidate to check for missing edges given a particular execution. MetaCG offers extendability through its metadata function-annotation mechanism to transfer information between tools. It preserves inheritance hierarchies and can be serialized into JSON. We evaluate CG-Collector’s ability to construct whole-program call-graphs for C/C++ code and, subsequently, present a performance profiler and a memory sanitizer that rely on MetaCG for whole-program call-graph information","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121761614","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
Online verification of commutativity 交换性的在线验证
Aditi Kabra, Dietrich Geisler, Adrian Sampson
{"title":"Online verification of commutativity","authors":"Aditi Kabra, Dietrich Geisler, Adrian Sampson","doi":"10.1145/3427764.3428322","DOIUrl":"https://doi.org/10.1145/3427764.3428322","url":null,"abstract":"Systems of transformations arise in many programming systems, such as in graphs of implicit type conversion functions. It is important to ensure that these diagrams commute: that composing any path of transformations from the same source to the same destination yields the same result. However, a straightforward approach to verifying commutativity must contend with cycles, and even so it runs in exponential time. Previous work has shown how to verify commutativity in the special case of acyclic diagrams in O(|V|4|E|2) time, but this is a batch algorithm: the entire diagram must be known ahead of time. We present an online algorithm that efficiently verifies that a commutative diagram remains commutative when adding a new edge. The new incremental algorithm runs in O(|V|2(|E| + |V|)) time. For the case when checking the equality of paths is expensive, we also present an optimization that runs in O(|V|4) time but reduces to the minimum possible number of equality checks. We implement the algorithms and compare them to batch baselines, and we demonstrate their practical application in the compiler of a domain-specific language for geometry types. To study the algorithms’ scalability to large diagrams, we apply them to discover discrepancies in currency conversion graphs.","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"405 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113995850","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
API analytics for curating static analysis rules 用于管理静态分析规则的API分析
Vineeth Kashyap, Roger Scott, Joseph Ranieri, David Melski, Lucja Kot
{"title":"API analytics for curating static analysis rules","authors":"Vineeth Kashyap, Roger Scott, Joseph Ranieri, David Melski, Lucja Kot","doi":"10.1145/3427764.3428318","DOIUrl":"https://doi.org/10.1145/3427764.3428318","url":null,"abstract":"Use of third-party library APIs is pervasive, but can be error-prone. API-usage errors can be detected via static analysis if specifications of correct usage are available, but manually creating such specifications is a bottleneck. We showcase a semi-automated \"big code\" solution, where we use large code corpora to mine patterns in API usage, and ask human experts to perform analytics on those patterns to create static analysis rules.","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131111131","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
Towards checkpoint placement for dynamic memory allocation in intermittent computing 间歇计算中动态内存分配的检查点设置研究
Nicholas Shoemaker, R. Piskac, Mark Santolucito
{"title":"Towards checkpoint placement for dynamic memory allocation in intermittent computing","authors":"Nicholas Shoemaker, R. Piskac, Mark Santolucito","doi":"10.1145/3427764.3428323","DOIUrl":"https://doi.org/10.1145/3427764.3428323","url":null,"abstract":"Energy harvesting allows computational devices to run without a battery, opening new application domains of computing. Such devices work under an intermittent computing model, where the system may power cycle several times a second. To ensure progress, intermittent computing uses checkpoints, with much work being dedicated to this direction. However, no existing approaches handle programs using dynamically allocated memory in the intermittent computing model. We pose this as a challenge area, demonstrate the complexities of checkpointing in this space, and propose key characteristics of an effective solution.","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116428545","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
Type checking beyond type checkers, via slice & run 类型检查超越类型检查,通过切片和运行
Justus Adam, Stephen Kell
{"title":"Type checking beyond type checkers, via slice & run","authors":"Justus Adam, Stephen Kell","doi":"10.1145/3427764.3428324","DOIUrl":"https://doi.org/10.1145/3427764.3428324","url":null,"abstract":"Type checkers are the most commonly used form of static analysis, but their design is coupled to the rest of the language, making it hard or impossible to bring new kinds of reasoning to existing, unmodified code. We propose a novel approach to checking advanced type invariants and properties in unmodified source code, while approaching the speed and ease of simple, syntax directed type checkers. The insight is that by combining a deep program analysis (symbolic execution) with a cheaper program abstraction (based on program slicing), it appears possible to reconstitute type-checking in the context of an underapproximate analysis. When the program's 'type level' can be opportunistically disentangled from the 'value level', this is done by the program abstraction step, in some cases removing the underapproximation. We implement a simple prototype that demonstrates this idea by checking the safety of generic pointers in C, pointing to benefits such as safe homogeneous and heterogeneous generic data structures.","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131301458","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
Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis 第11届ACM SIGPLAN自动程序分析工具国际研讨会论文集
{"title":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","authors":"","doi":"10.1145/3427764","DOIUrl":"https://doi.org/10.1145/3427764","url":null,"abstract":"","PeriodicalId":175862,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN International Workshop on Tools for Automatic Program Analysis","volume":"14 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":"117157100","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信