Many software development problems can be addressed by program analysis tools, which traditionally are based on precise, logical reasoning and heuristics to ensure that the tools are practical. Recent work has shown tremendous success through an alternative way of creating developer tools, which we call neural software analysis. The key idea is to train a neural machine learning model on numerous code examples, which, once trained, makes predictions about previously unseen code. In contrast to traditional program analysis, neural software analysis naturally handles fuzzy information, such as coding conventions and natural language embedded in code, without relying on manually encoded heuristics. This article gives an overview of neural software analysis, discusses when to (not) use it, and presents three example analyses. The analyses address challenging software development problems: bug detection, type prediction, and code completion. The resulting tools complement and outperform traditional program analyses, and are used in industrial practice.


翻译:许多软件开发问题可以通过程序分析工具加以解决,程序分析工具传统上以精确、逻辑推理和逻辑分析为基础,确保工具实用;最近的工作通过一种创建开发工具的替代方法,证明取得了巨大成功,我们称之为神经软件分析。关键的想法是用许多代码实例来培训神经机学习模型,这些范例一旦经过培训,就对先前的未知代码作出预测。与传统的程序分析相比,神经软件分析自然处理模糊信息,例如代码中嵌入的编码惯例和自然语言,而无需依靠手动编码超链接。本文章概述了神经软件分析,讨论了何时(而不是)使用该软件,并介绍了三个实例分析。分析涉及挑战软件开发问题:错误检测、类型预测和代码完成。由此产生的工具补充并超越了传统的程序分析,并用于工业实践。

0
下载
关闭预览

相关内容

这个新版本的工具会议系列恢复了从1989年到2012年的50个会议的传统。工具最初是“面向对象语言和系统的技术”,后来发展到包括软件技术的所有创新方面。今天许多最重要的软件概念都是在这里首次引入的。2019年TOOLS 50+1在俄罗斯喀山附近举行,以同样的创新精神、对所有与软件相关的事物的热情、科学稳健性和行业适用性的结合以及欢迎该领域所有趋势和社区的开放态度,延续了该系列。 官网链接:http://tools2019.innopolis.ru/
神经网络的拓扑结构,TOPOLOGY OF DEEP NEURAL NETWORKS
专知会员服务
32+阅读 · 2020年4月15日
【深度学习视频分析/多模态学习资源大列表】
专知会员服务
91+阅读 · 2019年10月16日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
人工智能 | SCI期刊专刊/国际会议信息7条
Call4Papers
7+阅读 · 2019年3月12日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
人工智能 | CCF推荐期刊专刊约稿信息6条
Call4Papers
5+阅读 · 2019年2月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
【推荐】深度学习情感分析综述
机器学习研究会
58+阅读 · 2018年1月26日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
0+阅读 · 2021年6月3日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
Arxiv
7+阅读 · 2019年6月20日
Arxiv
25+阅读 · 2018年1月24日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
人工智能 | SCI期刊专刊/国际会议信息7条
Call4Papers
7+阅读 · 2019年3月12日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
人工智能 | CCF推荐期刊专刊约稿信息6条
Call4Papers
5+阅读 · 2019年2月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
【推荐】深度学习情感分析综述
机器学习研究会
58+阅读 · 2018年1月26日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员