课题基金 / 基金详情

Big-Data Visual Code Completion Leveraging the Naturalness of Visual Source Code

Big-Data Visual Code Completion Leveraging the Naturalness of Visual Source Code
利用视觉源代码的自然性进行大数据视觉代码补全
批准号:
RGPIN-2022-03464
负责人:
Hindle, Abram
金额:
$2.55万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31

项目摘要

项目成果

Hindle, Abram的其他基金

相似基金

相关文献

中文摘要
翻译
我们寻求为可视化代码创新代码完成。代码完成工具建议接下来要执行的代码。虽然文本代码补全得到了广泛的关注,但可视化代码补全却没有得到广泛的关注。为了实现可视化代码补全,我们将利用源代码大数据集合训练的语言和图形模型。这项研究很重要,因为它针对的是比专业程序员更多的最终用户程序员,并且软件工程(SE)服务不足。代码完成使用当前代码和上下文向程序员展示他们下一步可以做什么,从而支持探索和实验。最近,Github Co-Pilot通过挖掘Github上数百万个软件存储库来训练语言模型,从而彻底改变了文本代码完成。然而并不是所有的程序都是文本,可视化编程语言通常将源代码可视化地表示为带有输入和输出端口的节点图,您可以用箭头、连接器或边将它们图形地连接在一起。这些语言是由无代码运动所推动的,由Shopify等公司支持,因为它们使最终用户程序员能够在没有文本代码的情况下自动化工作流和编程软件。今天在许多领域使用了许多可视化编程语言,在线上有许多示例程序:*游戏关卡代码(虚幻引擎蓝图);*基于音频/音乐数据流的语言(纯数据,Max/MSP);*图像处理工作流程(Blender, Photoshop);*模型驱动工程(Eclipse建模框架);*编程教学(Scratch);*无代码的Web应用程序设计/工作流自动化(Zapier, Shopify Mesa)。加拿大的许多公司,如EA、Bioware、Epic和Shopify都使用和开发可视化编程语言。EA和Epic的游戏依靠视觉代码来描述游戏中的效果和事件,通常占代码库的60%以上,但视觉代码得到的工具支持和软件质量支持远远少于文本代码。度量软件质量和支持代码完成的经典SE模型在可视化代码环境中是缺失的。生成可视化代码的最终用户程序员通常不知道他们的选择:公共参数是什么,接下来会发生什么,以及高质量的代码是什么样子。可视化代码完成通过从过去成功的程序中提出可视化代码解决方案来帮助最终用户程序员。因此,我们建议通过适应和发明可视化代码完成的方法来改善可视化编程语言的状态,以建议接下来要出现的节点、边或参数,以及可视化代码改进,以警告程序员关于风格、模块化和易出错的代码。应用我们所学到的关于可视化程序和软件的自然性的知识,我们将介绍可视化代码环境中缺少的SE思想。可视化代码完成将利用过去可视化程序的成功,使最终用户程序员能够在未来构建成功的程序。
英文摘要
We seek to innovate code completion for visual code. Code completion tools suggest what code comes next. While textual code completion has received extensive attention, visual code completion has not. To enable visual code completion, we will leverage language and graph models trained on big-data collections of source code. This research is important as it targets end-user programmers who are more numerous than professional programmers, and under served by software engineering (SE). Code completion uses the current code and context to show programmers what they can do next, enabling exploration and experimentation. Recently, Github Co-Pilot revolutionized textual code completion with language models trained by mining the millions of software repositories on Github. Yet not all programs are text, visual programming languages often represent source code visually as graphs of nodes with input and output ports, that you connect together graphically with arrows, connectors, or edges. These languages are promoted by the No-Code movement, supported by companies like Shopify, as they enable end-user programmers to automate workflows and program software without textual code. There are many visual programming languages in use today across many domains, with many example programs available online: * Code in game levels (Unreal Engine Blueprints); * Audio/Music data-flow based languages (pure-data, Max/MSP); * Workflows for image processing (Blender, Photoshop); * Model Driven Engineering (Eclipse Modelling Framework); * Teaching programming (Scratch); and * Web app design / Workflow automation with No-code (Zapier, Shopify Mesa). Many companies in Canada such as Electronic Arts (EA), Bioware, Epic, and Shopify use and develop visual programming languages. EA's and Epic's games rely on visual code to describe effects and events within games, often making up more than 60% of the code-base, yet visual code receives far less tool support and software quality support than textual code. Classical SE models that measure software quality and support code completion are missing from visual code environments. End-user programmers who produce visual code are often unaware of their options: what the common parameters are, what comes next, and what quality code looks like. Visual code completion helps end-user programmers by suggesting visual code solutions drawn from past successful programs. Thus we propose to improve the state of visual programming languages by adapting and inventing methods for visual code completion, to suggest what nodes, edges, or parameters come next, and visual code improvement, to warn programmers about style, modularity, and error-prone code. Applying what we learned about visual programs and the naturalness of software, we will introduce SE ideas missing in visual code environments. Visual code completion will leverage the success of the past visual programs to enable end-user programmers to build successful programs in the future.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Big Data Approaches to Software Energy Consumption Modeling
  • 批准号:
    RGPIN-2017-05609
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2021
  • 负责人:
    Hindle, Abram
  • 依托单位:
Big Data Approaches to Software Energy Consumption Modeling
  • 批准号:
    RGPIN-2017-05609
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2020
  • 负责人:
    Hindle, Abram
  • 依托单位:
Big Data Approaches to Software Energy Consumption Modeling
  • 批准号:
    RGPIN-2017-05609
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2019
  • 负责人:
    Hindle, Abram
  • 依托单位:
Big Data Approaches to Software Energy Consumption Modeling
  • 批准号:
    RGPIN-2017-05609
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2018
  • 负责人:
    Hindle, Abram
  • 依托单位:
国内基金
海外基金
Scalable Learning and Optimization: High-dimensional Models and Online Decision-Making Strategies for Big Data Analysis
Data-driven Recommendation System Construction of an Online Medical Platform Based on the Fusion of Information
Development of a Linear Stochastic Model for Wind Field Reconstruction from Limited Measurement Data
  • 批准号:
    --
  • 项目类别:
    --
  • 资助金额:
    40万元
  • 批准年份:
    2020
  • 负责人:
    Vikrant Gupta
  • 依托单位:
基于Linked Open Data的Web服务语义互操作关键技术
  • 批准号:
    61373035
  • 项目类别:
    面上项目
  • 资助金额:
    77.0万元
  • 批准年份:
    2013
  • 负责人:
    冯志勇
  • 依托单位: