LLVM每日谈之二十四 Google的ClangMR

简介: ClangMR的论文《Large-Scale Automated Refactoring Using ClangMR》:http://www.hyrumwright.org/papers/icsm2013.pdfClangMR是Goolge的一个工具,严格的说,并不属于Clang家族,是属于基于Clang所构建的一个工具。

ClangMR的论文《Large-Scale Automated Refactoring Using ClangMR》:http://www.hyrumwright.org/papers/icsm2013.pdf


ClangMR是Goolge的一个工具,严格的说,并不属于Clang家族,是属于基于Clang所构建的一个工具。Google秉承他们一贯的原则,在构建该工具并投入使用之后,将该工具的情况发了一篇论文《Large-Scale Automated Refactoring Using ClangMR》。论文本身对这个工具已经谈的很细致了,在这里我就简单聊聊读完这篇论文的一点感受,主要聚焦于几个点:

1、这是一个大规模的自动化的重构工具,或者说是平台;

2、该工具的应用范围并没有覆盖到多数的重构类型,主要还是聚焦在用新的API去重构旧的API这个重构上;

3、该工具的重构只支撑translation unit自包含的情况;(这种情况在重构里面属于比较便于自动化重构操作的)

4、因为ClangMR是大规模的自动化工具,所以使用了基于MapReduce的技术,便于处理大量的代码;

5、该工具的工作对象是C++代码库。

如果本身对自动化重构感兴趣的,可以仔细研究下这篇论文。

目录
相关文章
|
3月前
|
JSON Rust 编译器
Rust 笔记:开发环境搭建与 rust 工具介绍
Rust 笔记:开发环境搭建与 rust 工具介绍
105 0
|
4月前
|
JSON Go 开发者
go-carbon v2.3.0 圣诞特别版发布,轻量级、语义化、对开发者友好的 Golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。
50 0
|
8月前
|
缓存 Swift iOS开发
iOS 逆向编程(二十二)Hopper Disassmbler 安装使用
iOS 逆向编程(二十二)Hopper Disassmbler 安装使用
202 0
|
11月前
|
JSON Rust JavaScript
Rust 笔记开发环境搭建与 rust 工具介绍
本文记叙搭建 Rust 语言安装开发环境,及其相关工具知识的准备。
495 0
|
图形学
Rhino中文名称犀牛,是一款超强的三维建模工具Rhino 7.9安装教程(所有版本下载安装教程)
Rhino中文名称犀牛,是一款超强的三维建模工具。不过不要小瞧它,它包含了所有的NURBS建模功能,用它建模感觉非常流畅,所以大家经常用它来建模,然后导出高精度模型给其他三维软件使用。
|
网络安全 图形学 UED
Rhino ceros 7.25:3D设计软件的全新进化!+Rhino ceros 全版本安装包
Rhino ceros 7.25:3D设计软件的全新进化!+Rhino ceros 全版本安装包
|
Kubernetes Shell 芯片
时间老去,Ruby不死,Ruby语言基础入门教程之Ruby3全平台开发环境搭建EP00
如果说电子游戏是第九艺术,那么,编程技术则配得上第十艺术的雅称。艺术发展的普遍规律就是要给与人们对于艺术作品的更高层感受,而Matz的Ruby语言则正是这样一件艺术品。 无论是语法还是理念,都让Ruby开发者感受到款待,如此,Ruby代码就像活了过来,它们时而高声,却藏不住优雅,时而细语,却意外地铿锵,真是美妙,这种庄重而温柔的魅力,用那一代奉松本行弘为偶像的人的话说,叫剑胆琴心。现在的话又讲,心有猛虎,细嗅蔷薇。
时间老去,Ruby不死,Ruby语言基础入门教程之Ruby3全平台开发环境搭建EP00
|
Rust 前端开发 JavaScript
【Rust 实战】Rust GUI 框架—抖音短视频解析工具GUI
【Rust 实战】Rust GUI 框架—抖音短视频解析工具GUI
2507 0
【Rust 实战】Rust GUI 框架—抖音短视频解析工具GUI
|
IDE 关系型数据库 MySQL
Tars C++版本的编译及相关教程
Tars C++版本的编译及相关教程
464 0
Tars C++版本的编译及相关教程