Glean 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Glean 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Glean 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 BSD
开发语言 Haskell C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 白开水不加糖
适用人群 未知
收录时间 2021-09-03

软件简介

Glean 是一个用于收集、推导和查询有关源代码信息的系统。它旨在收集和存储有关代码结构的详细信息,并提供对数据的访问,以提供从在线 IDE 功能到离线代码分析的强大工具和体验。你可以将其用于:

  • 收集和存储有关代码结构的详细信息。Glean 是围绕高效的存储模型设计的,该模型可以大规模存储有关代码的信息。

  • 查询有关代码的信息,为从在线 IDE 功能到离线代码分析的工具和体验提供支持。

Glean 由以下组件组成:

  • 一个建立在 RocksDB 上的高效存储后端,用于存储事实。事实是由用户定义的模式描述的不可变的术语,并形成一个DAG。事实是由存储后端自动去重的。可以把它看作是能够有效地存储和查询你的代码的AST,并且具有完全的类型安全。

  • 实现声明式查询语言 Angle 的查询引擎。Angle 是一种与 Datalog 相似的逻辑语言,但具有扩展功能,使其适用于构建对 Glean data 复杂查询。就像在 Datalog 中一样,Glean 可以通过使用 Angle定义规则来自动推导出新的事实。

  • 一个服务器管理的磁盘多个数据库,并提供从客户创造,写和查询数据库的请求。该服务器目前使用 Thrift,但没有理由将来服务器也不能公开其他协议。该服务器旨在大规模部署,为大量客户端提供复制的数据库。

  • 一个交互式 shell,你可以在其中键入查询并浏览数据。

  • 用于直接或通过连接到服务器来创建、编写和查询数据库的命令行工具

  • 常见编程语言的几个示例模式,以及 其中一些的索引器。请注意,Glean 不会强制将所有数据放入一个单一模式中;每种语言的模式中可以有任意数量的特定于语言的细节。可以通过使用 Angle 派生事实来构建语言中立的抽象。

主要特点:

  • 种类丰富:存储代码的详细信息

  • 紧凑型存储:大规模存储有关代码的数据

  • 高效查询:从代码中获得深刻见解,构建体验

目前支持:

计划提供:

  • Python
  • C++
  • Objective-C
  • Java
  • Rust

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
stylelint 存在ReDoS漏洞
ReDoS
stylelint 是一种 linter,可帮助您避免错误并在样式中强制执行约定。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14060
2022-08-08 21:15
Components trim 安全漏洞
拒绝服务
Components trim是Components团队的一个用于去除字符串两端空格的 Npm 代码库。 Service trim 所有版本存在安全漏洞,该漏洞源于容易受到通过trim()的正则表达式拒绝服务的攻击。
CVE-2020-7753 MPS-2020-14926
2022-08-08 21:15
Async 安全漏洞
原型污染
Async是英国Caolan McMahon个人开发者的一个实用模块。用于使用异步 JavaScript。 Async 3.2.1 及之前版本存在安全漏洞,该漏洞源于 mapValues() 方法。攻击者可通过 mapValues() 方法获取权限。
CVE-2021-43138 MPS-2021-34434
2022-08-08 21:15
css-what存在未明漏洞
css-what是一个CSS选择器解析器。 css-what 5.0.1之前版本存在安全漏洞,该漏洞源于css-what包并不能确保属性解析具有相对于输入大小的线性时间复杂度。目前没有详细漏洞细节提供。
CVE-2021-33587 MPS-2021-7397
2022-08-08 21:15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
18 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部