首页 > 最新文献

Meta: Avaliacao最新文献

英文 中文
Organization – ProTools 2020 组织- ProTools 2020
Q4 Social Sciences Pub Date : 2020-11-01 DOI: 10.1109/hustprotools51951.2020.00007
{"title":"Organization – ProTools 2020","authors":"","doi":"10.1109/hustprotools51951.2020.00007","DOIUrl":"https://doi.org/10.1109/hustprotools51951.2020.00007","url":null,"abstract":"","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"25 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74648977","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
Run-Time Power Modelling in Embedded GPUs with Dynamic Voltage and Frequency Scaling 基于动态电压和频率缩放的嵌入式gpu运行时功率建模
Q4 Social Sciences Pub Date : 2020-01-21 DOI: 10.1145/3381427.3381429
J. Núñez-Yáñez, Kris Nikov, K. Eder, Mohammad Hosseinabady
This paper investigates the application of a robust CPU-based power modelling methodology that performs an automatic search of explanatory events derived from performance counters to embedded GPUs. A 64-bit Tegra TX1 SoC is configured with DVFS enabled and multiple CUDA benchmarks are used to train and test models optimized for each frequency and voltage point. These optimized models are then compared with a simpler unified model that uses a single set of model coefficients for all frequency and voltage points of interest. To obtain this unified model, a number of experiments are conducted to extract information on idle, clock and static power to derive power usage from a single reference equation. The results show that the unified model offers competitive accuracy with an average 5% error with four explanatory variables on the test data set and it is capable to correctly predict the impact of voltage, frequency and temperature on power consumption. This model could be used to replace direct power measurements when these are not available due to hardware limitations or worst-case analysis in emulation platforms.
本文研究了一种基于cpu的强大功率建模方法的应用,该方法可以自动搜索来自嵌入式gpu的性能计数器的解释性事件。64位Tegra TX1 SoC配置了DVFS功能,并使用多个CUDA基准测试来训练和测试针对每个频率和电压点优化的模型。然后将这些优化模型与一个更简单的统一模型进行比较,该模型对所有感兴趣的频率和电压点使用一组模型系数。为了得到这个统一的模型,我们进行了大量的实验来提取空闲、时钟和静态功耗的信息,从一个参考方程中得出功耗。结果表明,该统一模型对测试数据集具有4个解释变量的平均误差为5%的竞争精度,能够正确预测电压、频率和温度对功耗的影响。当由于硬件限制或仿真平台中的最坏情况分析而无法使用直接功率测量时,该模型可用于替代直接功率测量。
{"title":"Run-Time Power Modelling in Embedded GPUs with Dynamic Voltage and Frequency Scaling","authors":"J. Núñez-Yáñez, Kris Nikov, K. Eder, Mohammad Hosseinabady","doi":"10.1145/3381427.3381429","DOIUrl":"https://doi.org/10.1145/3381427.3381429","url":null,"abstract":"This paper investigates the application of a robust CPU-based power modelling methodology that performs an automatic search of explanatory events derived from performance counters to embedded GPUs. A 64-bit Tegra TX1 SoC is configured with DVFS enabled and multiple CUDA benchmarks are used to train and test models optimized for each frequency and voltage point. These optimized models are then compared with a simpler unified model that uses a single set of model coefficients for all frequency and voltage points of interest. To obtain this unified model, a number of experiments are conducted to extract information on idle, clock and static power to derive power usage from a single reference equation. The results show that the unified model offers competitive accuracy with an average 5% error with four explanatory variables on the test data set and it is capable to correctly predict the impact of voltage, frequency and temperature on power consumption. This model could be used to replace direct power measurements when these are not available due to hardware limitations or worst-case analysis in emulation platforms.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"17 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78363084","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
Automated Precision Tuning in Activity Classification Systems: A Case Study 活动分类系统中的自动精确调谐:一个案例研究
Q4 Social Sciences Pub Date : 2020-01-21 DOI: 10.1145/3381427.3381432
Nicola Fossati, Daniele Cattaneo, M. Chiari, Stefano Cherubin, G. Agosta
The greater availability and reduction in production cost make wearable IoT platforms perfect candidates to continuously monitor people at risk, like elderly people. In particular these platforms, along with the use of artifical intelligence algorithms, can be exploited to detect and monitor people's activities, in particular potentially harmful situations, such as falling. However, wearable devices have limited computational power and battery life. We optimize a situation-recognition application via the well-known precision tuning practice using a dedicated state-of-the-art toolchain. After the optimization we evaluate how the reduced-precision version better fits the use case of limited-resources platforms, such as wearable devices. In particular, we achieve over 500% of speedup in execution time, and consume about 6 times less energy to carry out the classification.
更高的可用性和更低的生产成本使可穿戴物联网平台成为持续监测高危人群(如老年人)的理想选择。特别是这些平台,以及人工智能算法的使用,可以用来检测和监控人们的活动,特别是潜在的有害情况,如摔倒。然而,可穿戴设备的计算能力和电池寿命有限。我们通过使用专用的最先进的工具链,通过众所周知的精确调优实践来优化情况识别应用程序。优化后,我们评估了降低精度的版本如何更好地适应资源有限的平台,如可穿戴设备。特别是,我们在执行时间上实现了500%以上的加速,并且在进行分类时消耗的能量减少了约6倍。
{"title":"Automated Precision Tuning in Activity Classification Systems: A Case Study","authors":"Nicola Fossati, Daniele Cattaneo, M. Chiari, Stefano Cherubin, G. Agosta","doi":"10.1145/3381427.3381432","DOIUrl":"https://doi.org/10.1145/3381427.3381432","url":null,"abstract":"The greater availability and reduction in production cost make wearable IoT platforms perfect candidates to continuously monitor people at risk, like elderly people. In particular these platforms, along with the use of artifical intelligence algorithms, can be exploited to detect and monitor people's activities, in particular potentially harmful situations, such as falling. However, wearable devices have limited computational power and battery life. We optimize a situation-recognition application via the well-known precision tuning practice using a dedicated state-of-the-art toolchain. After the optimization we evaluate how the reduced-precision version better fits the use case of limited-resources platforms, such as wearable devices. In particular, we achieve over 500% of speedup in execution time, and consume about 6 times less energy to carry out the classification.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84090634","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
An OpenMP Parallel Genetic Algorithm for Design Space Exploration of Heterogeneous Multi-processor Embedded Systems 面向异构多处理器嵌入式系统设计空间探索的OpenMP并行遗传算法
Q4 Social Sciences Pub Date : 2020-01-21 DOI: 10.1145/3381427.3381431
V. Muttillo, Paolo Giammatteo, Giuseppe Fiorilli, L. Pomante
Heterogeneous multiprocessor platforms are becoming widespread in the embedded system domain, mainly for the opportunity to improve timing performance and to minimize energy/power consumption and costs. Therefore, when using such platforms, it is important to adopt a Design Space Exploration (DSE) strategy that considers compromises among different objectives. Existing DSE approaches are generally based on evolutionary algorithms to solve Multi-Objective Optimization Problems (MOOPs) by minimizing a linear combination of weighted cost functions (i.e., Weighted Sum Method, WSM). In this way, the main issues are related to reduce timing execution while trying to improve the evolutionary algorithm performance, introducing strategies that attempt to bring better solutions. Code parallelization is one of the most used approaches in this field, but no standard methods have been released since different aspects could affect the performance. This approach leads to exploit parallel and distributed processing elements in order to implement evolutionary algorithms. In the latter case, if we consider genetic algorithms, it is possible to talk about Parallel Genetic Algorithms (PGA). Considering this context, this paper focuses on DSE for heterogeneous multi-processor embedded systems and introduces an improvement that reduces execution time using parallel programming languages (i.e., OpenMP) inside the main genetic algorithm approach, while trying to lead to better partitioning solutions. The descriptions of the adopted DSE activities and the OpenMP implementation, validated by means of a case study, represent the core of the paper.
异构多处理器平台在嵌入式系统领域变得越来越普遍,主要是为了有机会提高时序性能,并最大限度地减少能源/功耗和成本。因此,在使用此类平台时,采用考虑不同目标之间折衷的设计空间探索(Design Space Exploration, DSE)策略非常重要。现有的DSE方法通常基于进化算法,通过最小化加权代价函数的线性组合来解决多目标优化问题(MOOPs)(即加权和法,WSM)。通过这种方式,主要问题与减少定时执行有关,同时试图提高进化算法的性能,引入试图带来更好解决方案的策略。代码并行化是该领域最常用的方法之一,但由于不同方面可能影响性能,因此没有发布标准方法。这种方法导致利用并行和分布式处理元素来实现进化算法。在后一种情况下,如果我们考虑遗传算法,就有可能讨论并行遗传算法(PGA)。考虑到这种情况,本文将重点放在异构多处理器嵌入式系统的DSE上,并在主要的遗传算法方法中引入一种改进方法,即使用并行编程语言(即OpenMP)减少执行时间,同时试图找到更好的分区解决方案。本文的核心是对采用的DSE活动和OpenMP实现的描述,并通过案例研究进行了验证。
{"title":"An OpenMP Parallel Genetic Algorithm for Design Space Exploration of Heterogeneous Multi-processor Embedded Systems","authors":"V. Muttillo, Paolo Giammatteo, Giuseppe Fiorilli, L. Pomante","doi":"10.1145/3381427.3381431","DOIUrl":"https://doi.org/10.1145/3381427.3381431","url":null,"abstract":"Heterogeneous multiprocessor platforms are becoming widespread in the embedded system domain, mainly for the opportunity to improve timing performance and to minimize energy/power consumption and costs. Therefore, when using such platforms, it is important to adopt a Design Space Exploration (DSE) strategy that considers compromises among different objectives. Existing DSE approaches are generally based on evolutionary algorithms to solve Multi-Objective Optimization Problems (MOOPs) by minimizing a linear combination of weighted cost functions (i.e., Weighted Sum Method, WSM). In this way, the main issues are related to reduce timing execution while trying to improve the evolutionary algorithm performance, introducing strategies that attempt to bring better solutions. Code parallelization is one of the most used approaches in this field, but no standard methods have been released since different aspects could affect the performance. This approach leads to exploit parallel and distributed processing elements in order to implement evolutionary algorithms. In the latter case, if we consider genetic algorithms, it is possible to talk about Parallel Genetic Algorithms (PGA). Considering this context, this paper focuses on DSE for heterogeneous multi-processor embedded systems and introduces an improvement that reduces execution time using parallel programming languages (i.e., OpenMP) inside the main genetic algorithm approach, while trying to lead to better partitioning solutions. The descriptions of the adopted DSE activities and the OpenMP implementation, validated by means of a case study, represent the core of the paper.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"18 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83301842","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
Sparse Matrix-Dense Matrix Multiplication on Heterogeneous CPU+FPGA Embedded System 异构CPU+FPGA嵌入式系统的稀疏矩阵-密集矩阵乘法
Q4 Social Sciences Pub Date : 2020-01-21 DOI: 10.1145/3381427.3381428
Mohammad Hosseinabady, J. Núñez-Yáñez
Embedded intelligence is becoming the primary driver for new applications in industry, healthcare, and automotive, to name a few. The main characteristics of these applications are high computational demand, real-time interaction with the environment, security, low power consumption, and local autonomy, among others. Addressing these diverse characteristics, researchers have proposed heterogeneous multicore embedded systems comprising CPUs, GPUs, FPGAs, and ASICs. Whereas each computing element provides a unique capability to enable one of the application characteristics, collaborating these processing cores in running an application to get the maximum performance is a crucial challenge. This paper considers the collaborative usage of a multicore CPU and an FPGA in a heterogeneous embedded system to improve the performance of sparse matrix operations, which have been essential techniques in reducing the inference complexity in machine learning techniques, especially deep convolutional neural networks. Experimental results show that the collaborative execution of sparse-matrix-dense-matrix multiplication on the Xilinx Zynq MPSoC, a heterogeneous CPU+FPGA embedded system, can improve the performance by a factor of up to 42% compared with just using the FPGA as an accelerator.
嵌入式智能正在成为工业、医疗保健和汽车等新应用的主要驱动因素。这些应用程序的主要特点是高计算需求、与环境的实时交互、安全性、低功耗和本地自治等。针对这些不同的特性,研究人员提出了异构多核嵌入式系统,包括cpu、gpu、fpga和asic。虽然每个计算元素都提供了一个独特的功能来支持应用程序的一个特征,但在运行应用程序时协作这些处理核心以获得最大性能是一个关键的挑战。本文考虑了多核CPU和FPGA在异构嵌入式系统中的协同使用,以提高稀疏矩阵运算的性能,这是降低机器学习技术,特别是深度卷积神经网络中推理复杂性的基本技术。实验结果表明,在异构CPU+FPGA嵌入式系统Xilinx Zynq MPSoC上协同执行稀疏矩阵-密集矩阵乘法运算,与仅使用FPGA作为加速器相比,运算性能可提高42%。
{"title":"Sparse Matrix-Dense Matrix Multiplication on Heterogeneous CPU+FPGA Embedded System","authors":"Mohammad Hosseinabady, J. Núñez-Yáñez","doi":"10.1145/3381427.3381428","DOIUrl":"https://doi.org/10.1145/3381427.3381428","url":null,"abstract":"Embedded intelligence is becoming the primary driver for new applications in industry, healthcare, and automotive, to name a few. The main characteristics of these applications are high computational demand, real-time interaction with the environment, security, low power consumption, and local autonomy, among others. Addressing these diverse characteristics, researchers have proposed heterogeneous multicore embedded systems comprising CPUs, GPUs, FPGAs, and ASICs. Whereas each computing element provides a unique capability to enable one of the application characteristics, collaborating these processing cores in running an application to get the maximum performance is a crucial challenge. This paper considers the collaborative usage of a multicore CPU and an FPGA in a heterogeneous embedded system to improve the performance of sparse matrix operations, which have been essential techniques in reducing the inference complexity in machine learning techniques, especially deep convolutional neural networks. Experimental results show that the collaborative execution of sparse-matrix-dense-matrix multiplication on the Xilinx Zynq MPSoC, a heterogeneous CPU+FPGA embedded system, can improve the performance by a factor of up to 42% compared with just using the FPGA as an accelerator.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"71 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75060532","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
Fault-Tolerant Online Scheduling Algorithms for CubeSats 立方体卫星的容错在线调度算法
Q4 Social Sciences Pub Date : 2020-01-21 DOI: 10.1145/3381427.3381430
Petr Dobiáš, E. Casseau, O. Sinnen
CubeSats are small satellites operating in harsh space environment. In order to ensure correct functionality on board despite faults, fault tolerant techniques taking into account spatial, time and energy constraints should be considered. This paper presents a software-level solution taking advantage of several processors available on board. Two online scheduling algorithms are introduced and evaluated. The results show their performances and the tradeoff between the rejection rate and energy consumption. Last but not least, it is stated that ordering policies achieving low rejection rate when using the algorithm scheduling all tasks as aperiodic are the "Earliest Deadline" and "Earliest Arrival Time". As for the algorithm treating arriving tasks as aperiodic or periodic tasks, the "Minimum Slack" ordering policy provides reasonable results.
立方体卫星是在恶劣空间环境下运行的小型卫星。为了确保在故障情况下仍能正常运行,应考虑考虑空间、时间和能量约束的容错技术。本文提出了一种软件级的解决方案,利用板上可用的多个处理器。介绍并评价了两种在线调度算法。结果显示了它们的性能以及在废品率和能耗之间的权衡。最后指出,当采用非周期调度算法调度所有任务时,实现低拒绝率的排序策略是“最早截止日期”和“最早到达时间”。对于将到达任务视为非周期任务或周期任务的算法,“最小松弛”排序策略提供了合理的结果。
{"title":"Fault-Tolerant Online Scheduling Algorithms for CubeSats","authors":"Petr Dobiáš, E. Casseau, O. Sinnen","doi":"10.1145/3381427.3381430","DOIUrl":"https://doi.org/10.1145/3381427.3381430","url":null,"abstract":"CubeSats are small satellites operating in harsh space environment. In order to ensure correct functionality on board despite faults, fault tolerant techniques taking into account spatial, time and energy constraints should be considered. This paper presents a software-level solution taking advantage of several processors available on board. Two online scheduling algorithms are introduced and evaluated. The results show their performances and the tradeoff between the rejection rate and energy consumption. Last but not least, it is stated that ordering policies achieving low rejection rate when using the algorithm scheduling all tasks as aperiodic are the \"Earliest Deadline\" and \"Earliest Arrival Time\". As for the algorithm treating arriving tasks as aperiodic or periodic tasks, the \"Minimum Slack\" ordering policy provides reasonable results.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"57 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83096256","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}
引用次数: 3
Proceedings of the 11th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures / 9th Workshop on Design Tools and Architectures for Multicore Embedded Computing Platforms 第十一届多核架构并行编程与运行时管理技术研讨会/第九届多核嵌入式计算平台设计工具与架构研讨会论文集
Q4 Social Sciences Pub Date : 2020-01-01 DOI: 10.1145/3381427
{"title":"Proceedings of the 11th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures / 9th Workshop on Design Tools and Architectures for Multicore Embedded Computing Platforms","authors":"","doi":"10.1145/3381427","DOIUrl":"https://doi.org/10.1145/3381427","url":null,"abstract":"","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"65 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74102113","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
FlashFreeze: low-overhead JavaScript instrumentation for function serialization FlashFreeze:用于函数序列化的低开销JavaScript工具
Q4 Social Sciences Pub Date : 2019-10-20 DOI: 10.1145/3358502.3361268
Jonathan Van der Cruysse, L. Hoste, W. V. Raemdonck
Object serialization is important to a variety of applications, including session migration and distributed computing. A general JavaScript object serializer must support function serialization as functions are first-class objects. However, JavaScript offers no built-in function serialization and limits custom serializers by exposing no meta operator to query a function’s captured variables. Code instrumentation can expose captured variables but state-of-the-art instrumentation techniques introduce high overheads, vary in supported syntax and/or use complex (de)serialization algorithms. We introduce FlashFreeze, an instrumentation technique based on capture lists. FlashFreeze achieves a tiny run time overhead: an Octane score reduction of 3% compared to 76% for the state-of-the-art ThingsMigrate tool and 1% for the work-in-progress FSM tool. FlashFreeze supports all self-contained ECMAScript 5 programs except for specific uses of eval, with, and source code inspection. FlashFreeze’s construction gives rise to simple (de)serialization algorithms.
对象序列化对各种应用程序都很重要,包括会话迁移和分布式计算。一个通用的JavaScript对象序列化器必须支持函数序列化,因为函数是一等对象。然而,JavaScript没有提供内置的函数序列化,并且通过不暴露元操作符来查询函数捕获的变量,限制了自定义序列化器。代码插装可以暴露捕获的变量,但是最先进的插装技术会带来很高的开销、支持的语法不同和/或使用复杂的(反)序列化算法。我们介绍FlashFreeze,一种基于捕获列表的仪器技术。FlashFreeze实现了一个微小的运行时开销:与最先进的ThingsMigrate工具的76%和正在进行的FSM工具的1%相比,辛烷值降低了3%。FlashFreeze支持所有自包含的ECMAScript 5程序,除了eval、with和源代码检查的特定用途。FlashFreeze的构造产生了简单的(反)序列化算法。
{"title":"FlashFreeze: low-overhead JavaScript instrumentation for function serialization","authors":"Jonathan Van der Cruysse, L. Hoste, W. V. Raemdonck","doi":"10.1145/3358502.3361268","DOIUrl":"https://doi.org/10.1145/3358502.3361268","url":null,"abstract":"Object serialization is important to a variety of applications, including session migration and distributed computing. A general JavaScript object serializer must support function serialization as functions are first-class objects. However, JavaScript offers no built-in function serialization and limits custom serializers by exposing no meta operator to query a function’s captured variables. Code instrumentation can expose captured variables but state-of-the-art instrumentation techniques introduce high overheads, vary in supported syntax and/or use complex (de)serialization algorithms. We introduce FlashFreeze, an instrumentation technique based on capture lists. FlashFreeze achieves a tiny run time overhead: an Octane score reduction of 3% compared to 76% for the state-of-the-art ThingsMigrate tool and 1% for the work-in-progress FSM tool. FlashFreeze supports all self-contained ECMAScript 5 programs except for specific uses of eval, with, and source code inspection. FlashFreeze’s construction gives rise to simple (de)serialization algorithms.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"313 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2019-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79696672","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
Ambiguous, informal, and unsound: metaprogramming for naturalness 模棱两可、不正式和不健全:自然的元编程
Q4 Social Sciences Pub Date : 2019-10-20 DOI: 10.1145/3358502.3361270
Toni Mattis, Patrick Rein, R. Hirschfeld
Program code needs to be understood by both machines and programmers. While the goal of executing programs requires the unambiguity of a formal language, programmers use natural language within these formal constraints to explain implemented concepts to each other. This so called naturalness – the property of programs to resemble human communication – motivated many statistical and machine learning (ML) approaches with the goal to improve software engineering activities. The metaprogramming facilities of most programming environments model the formal elements of a program (meta-objects). If ML is used to support engineering or analysis tasks, complex infrastructure needs to bridge the gap between meta-objects and ML models, changes are not reflected in the ML model, and the mapping from an ML output back into the program’s meta-object domain is laborious. In the scope of this work, we propose to extend metaprogramming facilities to give tool developers access to the representations of program elements within an exchangeable ML model. We demonstrate the usefulness of this abstraction in two case studies on test prioritization and refactoring. We conclude that aligning ML representations with the program’s formal structure lowers the entry barrier to exploit statistical properties in tool development.
程序代码需要机器和程序员都能理解。虽然执行程序的目标需要形式语言的明确性,但程序员在这些形式约束下使用自然语言相互解释实现的概念。这种所谓的自然性——程序类似于人类交流的属性——激发了许多统计学和机器学习(ML)方法,目的是改进软件工程活动。大多数编程环境的元编程工具对程序的形式元素(元对象)进行建模。如果ML用于支持工程或分析任务,复杂的基础设施需要在元对象和ML模型之间架起桥梁,更改不会反映在ML模型中,并且从ML输出映射回程序的元对象域是费力的。在这项工作的范围内,我们建议扩展元编程工具,使工具开发人员能够访问可交换ML模型中程序元素的表示。我们在测试优先级和重构的两个案例研究中展示了这种抽象的有用性。我们得出的结论是,将ML表示与程序的正式结构对齐可以降低在工具开发中利用统计属性的入门障碍。
{"title":"Ambiguous, informal, and unsound: metaprogramming for naturalness","authors":"Toni Mattis, Patrick Rein, R. Hirschfeld","doi":"10.1145/3358502.3361270","DOIUrl":"https://doi.org/10.1145/3358502.3361270","url":null,"abstract":"Program code needs to be understood by both machines and programmers. While the goal of executing programs requires the unambiguity of a formal language, programmers use natural language within these formal constraints to explain implemented concepts to each other. This so called naturalness – the property of programs to resemble human communication – motivated many statistical and machine learning (ML) approaches with the goal to improve software engineering activities. The metaprogramming facilities of most programming environments model the formal elements of a program (meta-objects). If ML is used to support engineering or analysis tasks, complex infrastructure needs to bridge the gap between meta-objects and ML models, changes are not reflected in the ML model, and the mapping from an ML output back into the program’s meta-object domain is laborious. In the scope of this work, we propose to extend metaprogramming facilities to give tool developers access to the representations of program elements within an exchangeable ML model. We demonstrate the usefulness of this abstraction in two case studies on test prioritization and refactoring. We conclude that aligning ML representations with the program’s formal structure lowers the entry barrier to exploit statistical properties in tool development.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"20 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2019-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89707234","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
From definitional interpreter to symbolic executor 从定义解释器到符号执行器
Q4 Social Sciences Pub Date : 2019-10-20 DOI: 10.1145/3358502.3361269
Adrian D. Mensing, H. V. Antwerpen, Casper Bach Poulsen, E. Visser
Symbolic execution is a technique for automatic software validation and verification. New symbolic executors regularly appear for both existing and new languages and such symbolic executors are generally manually (re)implemented each time we want to support a new language. We propose to automatically generate symbolic executors from language definitions, and present a technique for mechanically (but as yet, manually) deriving a symbolic executor from a definitional interpreter. The idea is that language designers define their language as a monadic definitional interpreter, where the monad of the interpreter defines the meaning of branch points. Developing a symbolic executor for a language is a matter of changing the monadic interpretation of branch points. In this paper, we illustrate the technique on a language with recursive functions and pattern matching, and use the derived symbolic executor to automatically generate test cases for definitional interpreters implemented in our defined language.
符号执行是一种自动软件确认和验证的技术。新的符号执行器定期出现在现有语言和新语言中,每次我们想要支持一种新语言时,通常都会手动(重新)实现这些符号执行器。我们建议从语言定义中自动生成符号执行器,并提出了一种从定义解释器中机械地(但到目前为止,还是手动地)派生符号执行器的技术。其思想是语言设计者将他们的语言定义为一元定义解释器,其中解释器的一元定义分支点的含义。为语言开发符号执行器就是改变分支点的一元解释。在本文中,我们用递归函数和模式匹配来说明该技术在一种语言上的应用,并使用派生的符号执行器来自动生成用我们定义的语言实现的定义解释器的测试用例。
{"title":"From definitional interpreter to symbolic executor","authors":"Adrian D. Mensing, H. V. Antwerpen, Casper Bach Poulsen, E. Visser","doi":"10.1145/3358502.3361269","DOIUrl":"https://doi.org/10.1145/3358502.3361269","url":null,"abstract":"Symbolic execution is a technique for automatic software validation and verification. New symbolic executors regularly appear for both existing and new languages and such symbolic executors are generally manually (re)implemented each time we want to support a new language. We propose to automatically generate symbolic executors from language definitions, and present a technique for mechanically (but as yet, manually) deriving a symbolic executor from a definitional interpreter. The idea is that language designers define their language as a monadic definitional interpreter, where the monad of the interpreter defines the meaning of branch points. Developing a symbolic executor for a language is a matter of changing the monadic interpretation of branch points. In this paper, we illustrate the technique on a language with recursive functions and pattern matching, and use the derived symbolic executor to automatically generate test cases for definitional interpreters implemented in our defined language.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"32 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2019-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81202776","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
期刊
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