课题基金 / 基金详情

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等人,2013年)。时间没有被明确表示,尽管时间是回答“是什么一系列的变化/事件导致了这一点?”另一种工具是Profilers,它在时间线上可视化运行的函数,但不知道程序的数据。**产品上下文**Whitebox模糊了传统工具之间的界限,添加了新的组件,创造了一个大于其各部分之和的整体。通过在C/C++代码被编辑时“即时”编译和链接C/C++代码,Whitebox不断更新数据更改和控制流的时间线可视化:运行新版本并“自动调试”它。通过提供鸟瞰和随时间变化的详细视图的即时反馈,Whitebox为开发人员提供了他们正在工作的代码的重复上下文,驯服了其复杂性并提高了他们的理解。**项目**Whitebox目前基于重复编辑和检查单个函数的模型。这在许多情况下都很有用,特别是在教育中,程序通常充当一致的处理管道:以一种对多次重新运行不敏感的方式将输入转换为输出。然而,在商业环境中,通常会使程序连续运行,响应用户输入进行更新,即交互式应用程序。这需要一个新的交互模型,这个项目将解决这个问题。这不仅仅是对现有技术的UI重新设计(尽管这是有价值的)。我们将仔细重构和扩展我们现有的专有架构,以满足新的需求;我们将调整自定义数据结构和算法,以高效地处理海量数据;我们将最终确定和改进全新交互方法的设计,使用户能够探索记录的信息。它必须是第一个使它们成为交互软件的可行工作流程的公司。
英文摘要
**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)
会议论文
海外基金