【Rust日报】2023-10-12 论文:利用公共信息评估 Rust 代码库

2023-10-15 08:28

本文主要是介绍【Rust日报】2023-10-12 论文:利用公共信息评估 Rust 代码库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文 - 利用公共信息评估 Rust 代码库

作者 Emil Eriksson 是 Lund University 的硕士学生,今年春天发布了其硕士论文 Evaluation of Rust Codebases Using Public Information ,并获得了 electrical engineering 学位。

在论文撰写过程中,Emil 还开发了 cargo-indicate 这一实用命令行工具,使用 GraphQL递归搜索依赖树以查找不安全使用、GitHub 星标、crates.io下载量等信息!

除了该工具本身外,论文还包含一些有趣的发现:

  • 在所有分析过的软件包中,最突出的是 Windows API 绑定。

  • 项目拥有的 GitHub 星标数量呈(对数)双峰分布,表明影响项目流行度的因素不止一个。

  • 依赖项中的大量警报可能并不是一件坏事。只有少部分开发者向 RustSec 数据库报告警报(至少目前是如此),因此撰写报告实际上非常关键。

如果你想深入研究各种指标分布情况,可以参阅论文中的大量图表。此外,这项工作受到 Volvo Cars 的赞助。

  • The thesis itself :https://lup.lub.lu.se/student-papers/record/9133685

  • Repository on GitHub :https://github.com/volvo-cars/cargo-indicate

  • cargo-indicate on crates.io :https://crates.io/crates/cargo-indicate

  • Looking for Bad Apples in Rust Dependency Trees Using GraphQL and Trustfall :https://medium.com/volvo-cars-engineering/looking-for-bad-apples-in-rust-dependency-trees-using-graphql-and-trustfall-cb88b835f652

  • Populärvetenskaplig sammanfattning:https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=9133685&fileOId=9133688

文章 - 如何优化 Rust 多架构发布

Qovery 旨在简化开发者通往生产环境的过程,其团队正在使用 Rust 开发 10 多个项目。

即便在 Rust 工具链已经为多种架构提供了原生支持,但要想顺利完成多架构二进制文件发布仍然是一件充满痛苦的事情。

这篇文章分享了 Qovery 团队在多架构发布上的经验和解决方案。

How To Make Rust Multi-Arch Release Easy : https://www.qovery.com/blog/how-to-make-rust-multi-arch-release-easy

Week In Rust 516

新一期的 Rust 周报速递发布,快来看看有哪些内容你曾经关注过 :)

This Week in Rust 516: https://this-week-in-rust.org/blog/2023/10/11/this-week-in-rust-516/


From 日报小组 PsiACE

社区学习交流平台订阅:

  • Rust.cc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

这篇关于【Rust日报】2023-10-12 论文:利用公共信息评估 Rust 代码库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216527

相关文章

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙