跳到主要内容
10.1145/1352592.1352618高级会议文章/章节视图摘要出版物页面欧罗西斯会议记录会议集合
研究论文

记录和自动化linux设备驱动程序中的并行演进

出版:2008年4月1日出版历史

摘要

Linux的内部库正在迅速发展,以满足新的需求并提高性能。然而,这些演变带来了Linux设备驱动程序附带演变的巨大问题:对于影响API的每个更改,所有依赖的驱动程序都必须相应地更新。手动执行这种并行演进既耗时又不可靠,并且在修改没有一致性时会导致错误。

在本文中,我们提出了一个自动程序转换工具Coccinelle,用于记录和自动化设备驱动程序的并行演进。由于Linux程序员习惯于根据修补程序文件操作程序修改,因此该工具使用基于修补程序语法的语言来表示转换,将修补程序扩展为语义修补程序。Coccinelle保留了原始驱动程序的编码风格,就像人类程序员一样。

我们已经对之前在Linux 2.5和2.6中手动执行的62个具有代表性的并行演进评估了我们的方法。在一个包含5800多个相关驱动程序文件的测试套件上,这些并行演进的语义补丁完全更新了93%以上的文件。在其余情况下,用户通常会收到与驱动程序代码部分匹配的警告,以识别必须手动考虑的文件。我们还发现了150多个驱动程序文件,其中维护人员在执行并行进化时出错,但Coccinelle正确地转换了代码。最后,Linux内核中接受了来自Coccinelle的几个补丁。

工具书类

  1. T.Ball、E.Bounimova、B.Cook、V.Levin、J.Lichtenberg、C.McGarvey、B.Ondrusek、S.K.Rajamani和A.Ustuner。对设备驱动程序进行全面的静态分析。在Eurosys’06{5}中,第73-85页。谷歌学者谷歌学者
  2. E.M.Clarke、E.A.Emerson和A.P.Sistla。使用时态逻辑规范对有限状态并发系统进行自动验证。ACM事务处理。程序。语言系统。,8(2):244--263, 1986.谷歌学者谷歌学者数字图书馆数字图书馆
  3. K.德·沃尔德。JQuery:具有声明性配置语言的通用代码浏览器。第八届国际实践研讨会;al声明性语言方面,第88-102页,查尔斯顿,南卡罗来纳州,2006年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  4. D.R.Engler、B.Chelf、A.Chou和S.Hallem。使用特定于系统的程序员编写的编译器扩展检查系统规则。2000年10月,加利福尼亚州圣地亚哥,OSDI'00,第1-16页。谷歌学者谷歌学者数字图书馆数字图书馆
  5. 第一届ACM SIGOPS EuroSys会议(EuroSys2006),比利时鲁汶,2006年4月。谷歌学者谷歌学者
  6. M.福勒。重构:改进现有代码的设计。艾迪森·卫斯理,1999年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. A.加里多。在存在预处理器指令的情况下进行程序重构。伊利诺伊大学香槟分校博士论文,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. R.格林。XTC:使C可以安全地扩展。2004年8月在阿贡国家实验室举办的数值优化领域Specifić语言研讨会上。谷歌学者谷歌学者
  9. J.Henkel和A.Diwan。赶上!捕获和重放重构以支持API进化。第27届软件工程国际会议,第274-283页,美国密苏里州圣路易斯,2005年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  10. M.Huth和M.Ryan。计算机科学中的逻辑:关于系统的建模和推理。剑桥大学出版社,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. D.莱西和O.de摩尔。通过重写进行强制程序转换。《编译器构造》,第十届国际会议,LNCS 2027,第52-68页,意大利热那亚,2001年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  12. Z.Li、S.Lu、S.Myagmar和Y.Zhou。CP-Miner:一个用于查找操作系统代码中的复制粘贴和相关错误的工具。OSDI’04,第289--302页,加利福尼亚州旧金山,2004年12月。谷歌学者谷歌学者数字图书馆数字图书馆
  13. LWN。适用于Linux 2.5.712003的ChangeLog。http://lwn.net/Articles/36311/。谷歌学者谷歌学者
  14. D.MacKenzie、P.Eggert和R.Stallman。使用Gnu-Diff和Patch比较和合并文件。网络理论有限公司,2003年1月。统一格式部分,http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html。谷歌学者谷歌学者
  15. U.Manber和S.Wu。GLIMPSE:一个用于搜索整个文件系统的工具。1994年,USENIX Winter。谷歌学者谷歌学者数字图书馆数字图书馆
  16. B.McCloskey和E.Brewer。Astec:a new approach to refactoring c.In ESEC/FSE-13:10th European software engineering conference/13th ACM SIGSOFT international conference on Foundations of software engineering,pages 21-30,new York,NY,USA,2005年,美国纽约州纽约市,阿斯泰克:重构的新方法。ACM出版社。谷歌学者谷歌学者数字图书馆数字图书馆
  17. A.莫顿。补丁管理脚本,2002年10月。http://www.zip。ćom.au/akpm/linux/patches/。谷歌学者谷歌学者
  18. M.Mossienko先生。《结构化搜索和替换:什么、为什么以及如何做》,OnBoard Magazine,2004年。http://www.onboard.jetbrains。ćom/is1/artićles/04/10/ssr/。谷歌学者谷歌学者
  19. G.C.Necula、S.McPeak、S.P.Rahul和W.Weimer。CIL:用于分析和转换C程序的中间语言和工具。《编译器构造》,第11届国际会议,LNCS 2304,第213-228页,法国格勒诺布尔,2002年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  20. Y.Padiolau、J.L.Lawall和G.Muller。了解Linux设备驱动程序中的附带演变。在Eurosys’06{5}中,第59-71页。谷歌学者谷歌学者
  21. D.塞尔。斯派塞、莱纳斯和疯子,2004年11月。http://www.linuxjournal.com/article/7272。谷歌学者谷歌学者
  22. 内核守卫。Smatch,源匹配器,2002年6月。http://smatch.sourceforge.net。谷歌学者谷歌学者
  23. L.托瓦尔兹。Linux内核编码风格。linux/文档/编码样式。谷歌学者谷歌学者
  24. E.维瑟。Stratego/XT的程序转换:StrategoXT-0.9中的规则、策略、工具和系统。在领域特定程序生成中,LNCS 3016,第216-238页。Spinger-Verlag,2004年。谷歌学者谷歌学者交叉引用交叉引用
  25. W.Weimer。补丁程序作为更好的错误报告。《生成性编程和组件工程》,第181-190页,美国俄勒冈州波特兰,2006年10月。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 记录和自动化linux设备驱动程序中的并行演进

            建议

            评论

            登录选项

            检查您是否可以通过登录凭据或您的机构访问本文。

            登录

            完全访问权限

            • 发布于

              封面图片ACM会议
              Eurosys’08:第三届ACM SIGOPS/Eurosys欧洲计算机系统会议记录
              2008年4月
              346页
              国际标准图书编号:9781605580135
              内政部:10.1145/1352592
              • 封面图片ACM SIGOPS操作系统评论
                ACM SIGOPS操作系统审查 第42卷第4期
                2008年欧洲系统
                2008年5月
                321页
                国际标准编号:0163-5980
                内政部:10.1145/1357010
                期刊目录

              版权所有©2008 ACM

              如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

              出版商

              计算机协会

              美国纽约州纽约市

              出版历史

              • 出版:2008年4月1日

              权限

              请求有关此文章的权限。

              请求权限

              检查更新

              限定符

              • 研究论文

              接受率

              总体验收率241属于1,308提交文件,18%

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader联机查看。

            电子阅读器