当前位置: 首页 > news >正文

山东浩景建设有限公司网站百度网站建设前期都有哪些费用

山东浩景建设有限公司网站,百度网站建设前期都有哪些费用,网站建设的开发语言,下列哪个网站不属于sns(社交网络)原文来自微信公众号“编程语言Lab”#xff1a;基于上下文分析的 Python 实时 API 推荐 搜索关注 “编程语言Lab”公众号#xff08;HW-PLLab#xff09;获取更多技术内容#xff01; 欢迎加入 编程语言社区 SIG-程序分析 参与交流讨论#xff08;加入方式#xff1a;添加… 原文来自微信公众号“编程语言Lab”基于上下文分析的 Python 实时 API 推荐 搜索关注 “编程语言Lab”公众号HW-PLLab获取更多技术内容 欢迎加入 编程语言社区 SIG-程序分析 参与交流讨论加入方式添加文末小助手微信备注“加入 SIG-程序分析”。 作者 | 何欣程 编辑 | Skylar 作者简介 何欣程南京大学计算机系软件质量研究所博士生研究方向为程序分析编程辅助。 视频回顾 编程语言技术沙龙第16期基于上下文分析的 python 实时 API 推荐 1 研究介绍 API 推荐一直是一个热门话题相关的工作 1 也很多。当前的 API 推荐主要分为两类一类是基于自然语言查询的 API 推荐这类工作更加关注自然语言文本相关信息像众包信息和 API 文档等。例如 16 年的 RACK通过从 Stack Overflow 的众包知识中提取关键词 - API 映射提供相关 API 列表推荐。18 年的 BIKER 通过 word embedding 方法计算两段文本描述的相似度根据 Stack Overflow 文本和 API 文档的相似度进行排序。 相比来说基于代码上下文的 API 推荐在实际开发过程中使用更多的一般都是各大语言 IDE 中的智能代码补全插件这类插件就涵盖了比较全面的 API 推荐功能比如基于 Typeshed 的 Pycharm 补全功能以及 Vscode Intelli 系列的智能插件等等。 在论文方面基于代码的 API 推荐更多的是应用在静态语言上例如 JavaCC 等但针对动态语言的较少一些。关于 Python 的一共有三篇其中两篇都是利用 AST 信息来进行学习决策。但在实时场景下Python Parser 并不能解析出可用的 AST这就在 IDE 等场景下给具体的落地应用带来挑战。 2 实时场景下的 API 推荐 目标与挑战 基于这个问题我们就尝试暂时从 AST 上挪开视线提出一种利用如 Tokenflow、Dataflow 等上下文信息来进行实时 Python API 推荐的方法。具体来说实时场景下的 API 推荐我们将其定义为针对形如 caller.API 的 recommendation hole我们在仅知 hole 之前的代码情况下提供排序后的 API 候选表。 而要达成这个目标需要解决两方面的挑战。首先是 Python 本身的动态特性。Python 具有类型动态性、路径敏感性传统的静态分析方法在上面要么失败要么难以得到足够精准的结果。其次在实时场景下代码的语法语义都不完整给静态程序分析带来很大难题缺乏代码开发历史针对一些基于历史变更学习的方法带来挑战。此外实时性推荐也需要一些在线的轻量级的分析过程。 Visual Studio IntelliCode 的局限性 面对这些挑战基于学习的 API 推荐方法往往比大多数传统方法具有更好的性能。然而它们也有一些局限性。Visual Studio IntelliCode 是最先进的 Python 推荐工具之一。它是以学习为基础的。我们使用它来演示这种方法的一些局限性。 首先推荐 API 的能力很大程度上依赖于 API 调用对象的类型推断结果。例如当调用方类型未知时没有可收集的候选 API。Intellicode 对推荐点 kwargs 产生 NULL 推荐。原因是它不能推断调用者对象的类型。 其次即使可以成功推断对象类型Intellicode 生成的推荐列表也有可能只包含字母顺序的候选对象。主要原因是基于学习的方法在推荐频繁调用的 API 方面做得很好而不是项目特定的 API。 另外即使 IntelliCode 成功地推荐了一些被标记为星号的候选人这些推荐也可能是错误的。在例子中 IntelliCode 提供星号标记的 API但排名前 4 的答案都不正确但可能在训练集中使用频率更高。这个问题的产生部分是由于机器学习的不确定性。 PyART——从不完整的 Python 上下文中提取数据流 PyART 提供了一种从不完整的 Python 上下文中提取数据流的有效方法我们称它为乐观的因为这样的数据流既不 sound 也不 complete但足以提供 API 建议收集起来也具有成本效益。核心思想是模拟人类直觉这与传统的数据流分析不同。传统的数据流分析试图在基本块的边界上获取过程中每个点的信息并限定每个块的进入状态和退出状态。控制流用于确定一个值如何传播。然而这对于 Python 来说是困难的。 相比之下人类主要基于局部符号信息来推断数据流。例如他们考虑周围的变量和代码结构。因此PyART 定义了从五个基本抽象语法单元派生近似数据流的规则。 Rule1: Assignment 规则 1 是对赋值做了一个约束对于位于位置 l 之前的右侧操作数 e 中的任何变量和方法对象 u都有数据流从 u 流向左侧操作数 v。这里标识符 VM 表示表达式中的所有变量和方法对象DFS(v) 表示涉及对象 v 的所有数据流路径。 Rule2: Loop 规则 2 是循环指定数据流提取即从迭代器 e 到循环变量 v 中的任何变量或方法对象中有数据流流向。 Rule3: Object attribute access/invocation 规则 3 是关于属性加载和调用的如果一个对象 u 访问了一个字段属性或调用了一个方法属性 v在 u 和 v.n 之间有数据流。 Rule4: Container access 规则 4 是为容器访问指定了数据流如果容器 v 通过索引 e 访问则数据流从 e 中的任何对象 u 到容器对象 v。 Rule5: Function parameter passing 规则 5 是用于函数参数传递它指定任何参数 e 中涉及的任何变量都有数据流流向函数 f。 Rule6: Function parameter passing 由于这五个单元可能以组合的形式出现所以规则 6 聚合了从单个单元派生的数据流关系。 Rule7: Propagation 此外PyART 根据传播规则对流的效果进行建模。例如如果 line1 中有一个关于 x 的数据流它将在 line1 之后关于 x 的其他位置传播。 Rule8: Preservation 最后规则 8 保留所有变量或方法对象不受单位影响的数据流关系 (因此应该删除)。 编码器根据收集到的特征生成一个包含四个元素的特征向量包括数据流提示token 相似性、caller-API 共现频率以及上下文 token-API 共现频率。在训练过程中模型构造器使用随机森林进行监督学习。 实验评估结果表明我们提出的数据流分析方法、API 推荐方法均优于 baseline且具有轻量级、实时性的优势。 Peng Y, Li S, Gu W, et al, Revisiting, Benchmarking and Exploring API Recommendation: How Far Are We?[J]. arXiv preprint arXiv:2112.12653, 2021. ↩︎
http://www.dnsts.com.cn/news/61519.html

相关文章:

  • app网站建设哪家好wordpress生成缩略图
  • 上海有哪些做网站响应 网站建设
  • 泉州哪个公司网站做的好网站备案申请模板
  • 玉林市网站开发公司两学一做网站专栏
  • 网站建设的方法有哪些内容张雪峰谈电子商务
  • 端掉一个wordpress网站抖音代运营排名
  • wordpress多语言建站网站 做英文 翻译 规则
  • 做网站标准步骤临沂seo网站管理
  • 龙华附近网站建设安卓手机app下载
  • 检察院门户网站建设自查自纠报告网站建设具体详细过程
  • 南阳网站运营深圳网站建设 宝华大厦
  • 山西省建设信息网站计算机专业网站设计论文
  • 高薪聘请网站开发工程师学习网站开发
  • 免费优化网站的软件做导购网站
  • 帝国cms 网站地图电子商务网站建设自建团队
  • 网站导航为什么用ul列表做公司做网站是管理费用
  • 带管理后台的网站网站登录模版
  • 网站图片切换初学者怎么制作平面图
  • 购物网站首页图片wordpress cdn登录
  • 网站开发文档模板下载google推广方式和手段有哪些
  • 郑州做网站价格公司没有网站如何做外贸
  • 电子商务网站建设实践报告wordpress页面和文章
  • 网站头部怎么做瑞安做网站建设哪家好
  • 手机购物网站模板网站字体 font-family
  • 网页和网站做哪个好用吗网站运营推广怎做
  • 没有公司怎么做网站wordpress 自定义文章排序
  • 网页建站网站导航网源码
  • 深圳网站推广公司建立网站一般要多少钱
  • 手机网站微信登录接口用c语言做公司网站
  • 深圳网站建设哪个公司好网站建设模板源码特效