课题基金 / 基金详情

WhiteBox: Immediately see your code's behaviour laid out across time

WhiteBox: Immediately see your code's behaviour laid out across time
WhiteBox:立即查看代码随时间变化的行为
批准号:
10071952
负责人:
金额:
$6.37万
依托单位:
依托单位国家:
英国
项目类别:
Collaborative R&D
财政年份:
2023
资助国家:
英国
项目状态:
未结题
起止时间:
2023 至 --

项目摘要

项目成果

相似基金

相关文献

中文摘要
翻译
**问题背景**软件错误让用户感到沮丧,给企业造成经济损失,有时甚至是致命的。它们的出现在很大程度上是因为软件太复杂了。调试是基于对错误症状的一些初步了解来查找错误原因的过程。现有的调试器主要显示症状出现后的单个瞬间。然后,程序员重复地运行代码,逐步到达较早的点,当修改了一些数据或运行了一行代码时停止,直到确定错误的来源(假设一切顺利)。这很费力:难怪调试占开发工作的一半(Britton et al., 2013)。虽然时间是回答“是什么一系列的变化/事件导致了这一切?”的核心,但它并没有明确地表现出来。另一种工具,profiler,在时间轴上可视化运行函数,但不知道程序的数据。**产品背景** WhiteBox模糊了传统工具之间的界限,增加了新的组件,创造了一个整体,而不是部分的总和。WhiteBox通过“即时”编译和链接C/ c++代码,不断更新数据变化和控制流程的时间轴可视化:运行新版本并“自动调试”它。通过提供即时反馈,包括鸟瞰图和随时间变化的详细视图,WhiteBox为开发人员提供了他们正在工作的代码的重复上下文,驯服了它的复杂性,提高了他们的理解。**项目** WhiteBox目前基于重复编辑和检查单个函数的模型。这在许多情况下都很有用,特别是在教育中,其中程序通常充当一致的处理管道:以一种对多次重新运行不敏感的方式将输入转换为输出。然而,在商业环境中,通常会使程序连续运行,并根据用户输入进行更新,即交互式应用程序。这需要一个新的交互模型,这个项目将解决这个问题。这不仅仅是对现有技术的UI重新设计(这很有价值)。我们将仔细重构和扩展我们现有的专有架构来处理新的需求;我们将调整自定义数据结构和算法,以有效地处理海量数据;我们将最终确定并改进全新交互方法的设计,让用户能够探索记录的信息。WhiteBox将数据时间线引入了软件工具的世界。它必须首先使它们成为交互式软件的可行工作流程。
英文摘要
**Problem Context** Software errors are frustrating for users, financially damaging for businesses, and occasionally even fatal. They occur in large part because software is so complex. Debugging is the process of finding the cause of errors based on some initial knowledge of their symptoms. Existing debuggers primarily show single instants in time _after_ the symptoms have presented themselves. The programmer then repeatedly runs the code to progressively earlier points, stopping when some data is modified or a line of code run, until the source of error is positively identified (assuming all goes well). This is laborious: no wonder that debugging comprises half of development work (Britton et al., 2013). Time is not explicitly represented, despite being central to answering, "what series of changes/events caused this?". Another tool, profilers, visualizes running functions on a timeline but has no knowledge of the program's data.**Product Context** WhiteBox blurs the lines between conventional tools and adds new components, creating a whole greater than the sum of its parts. WhiteBox continually updates a timeline visualisation of data changes and control flow by "just-in-time" compiling and linking C/C++ code as it is edited: running the new version and "auto-debugging" it.By providing immediate feedback with both birds-eye and detailed views of changes across time, WhiteBox gives developers repeated context for the code they are working on, taming its complexity and improving their understanding.**Project** WhiteBox is currently based around a model of repeatedly editing and inspecting single functions. This is useful in many contexts, particularly in education, where programs often act as consistent processing pipelines: converting inputs to outputs in a manner not sensitive to being rerun many times. In business settings, however, it is common to make programs that run continuously, updating in response to user input, i.e. interactive applications. This requires a new interaction model, which this project will address.This is not just a UI redesign over existing technology (as valuable as that can be). We will carefully refactor and expand our existing proprietary architecture to handle the new requirements; we will tune custom data structures and algorithms to efficiently process the huge volume of data; and we will finalise and improve designs for entirely novel interaction methods to give users the power to explore the recorded information.WhiteBox introduced data timelines to the world of software tools. It must be the first to make them a viable workflow for interactive software.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
海外基金