Direct Manipulation for Imperative Programs

Direct Manipulation for Imperative Programs
复制标题

命令式程序的直接操作

DOI:
10.1007/978-3-030-32304-2_17
复制
发表时间:
2019
期刊:
Static Analysis Symposium
影响因子:
--
通讯作者:
D'Antoni, Loris
D'Antoni, Loris
中科院分区:
--
文献类型:
--
作者:
Hu, Qinheping;Samanta, Roopsha;Singh, Rishabh;D'Antoni, Loris

文献摘要

参考文献

被引文献

相似文献

直接操作是一种编程范例,在这种编程范例中,程序员通过在运行时修改程序值来传达预期的程序行为。然后,编程环境找到对原始程序的修改,从而产生被操纵的值。在本文中,我们提出了直接操作命令式程序的第一个框架。首先,我们引入了直接状态操作,它允许程序员可视化输入上的错误程序的跟踪,并修改某个位置的变量值。其次,我们提出了一种基于程序草图和定量目标的综合技术,以有效地找到与原始程序“最接近”且与被操纵值一致的程序。我们将这个问题形式化,并基于theSketchsynthesizer构建了一个工具jdial1。我们通过使用jdialto修复介绍性编程作业中的基准来研究直接操作的有效性。在我们的评估中,我们观察到直接状态操作是一种有效的规范机制:即使提供了单个状态操作,JDialcan为66%的基准测试产生所需的程序修改,而仅基于测试用例的技术总是失败。
Direct manipulation is a programming paradigm in which the programmer conveys the intended program behavior by modifying program values at runtime. The programming environment then finds a modification of the original program that yields the manipulated values. In this paper, we propose the first framework for direct manipulation of imperative programs. First, we introducedirect state manipulation, which allows programmers to visualize the trace of a buggy program on an input, and modify variable values at a location. Second, we propose a synthesis technique based on program sketching and quantitative objectives to efficiently find the “closest” program to the original one that is consistent with the manipulated values. We formalize the problem and build a toolJDialbased on theSketchsynthesizer. We investigate the effectiveness of direct manipulation by usingJDialto fix benchmarks from introductory programming assignments. In our evaluation, we observe that direct state manipulations are an effective specification mechanism: even when provided with a single state manipulation,JDialcan produce desired program modifications for 66% of our benchmarks while techniques based only on test casesalwaysfail.
通过布局操作进行编程
DOI: --
发表时间: 2014
期刊: ACM Symposium on User Interface Software and Technology
影响因子: --
作者:
Thibaud Hottelier;Rastislav Bodík;Kimiko Ryokai
通讯作者: Kimiko Ryokai
DOI: --
发表时间: 2017
期刊: ESEC/SIGSOFT FSE
影响因子: --
作者:
Sahil Verma;Subhajit Roy
通讯作者: Subhajit Roy
Leon 工具中演绎合成和修复的更新
DOI: --
发表时间: 2016
期刊: SYNT@CAV
影响因子: --
作者:
Manos Koukoutos;Etienne Kneuss;Viktor Kunčak
通讯作者: Viktor Kunčak
通过直接操作进行半自动 SVG 编程
DOI: --
发表时间: 2016
期刊: ACM Symposium on User Interface Software and Technology
影响因子: --
作者:
Brian Hempel;Ravi Chugh
通讯作者: Ravi Chugh
直接操作:超越编程语言的一步(仅限抽象)
DOI: --
发表时间: 1981
期刊: International Conference on Human Factors in Computing Systems
影响因子: --
作者:
B. Shneiderman
通讯作者: B. Shneiderman