2016年7月14日,在W3C一年一度的W3C Geek Week后,Dominique Hazael-Massieux在W3C博客上发布文章,介绍了他的小组在Geek Week上的项目:利用WebIDL探索Web平台API的交叉依赖关系。全文大意如下:
大部分Web平台上的 JavaScript API (无论是在W3C还是其他地方)都依赖于 Web接口定义语言(WebIDL:Web Interface Definition Language)来描述。WebIDL提供了一个简单的语法来表述 JavaScript API的各类信息,表达技术规范所需的行为以及继承关系。这是各类API、各个Web技术标准在表达语法和语义要求的共同基础,也为自动化的浏览器实现测试提供基础,帮助测试工具自动化检测对这些技术标准及 API 的支持情况。
在2016年的W3C Geek Week上,Dom 与 Francois Daoust 一起,探索利用 WebIDL 发现Web平台的交叉依赖关系。我们基于 jsdom 库开发了一个W3C技术规范的爬虫(crawler),并抽取嵌入在标准文本中的 WebIDL定义。根据收集的这些数据,我们开发了一个简单的 WebIDL 图分析程序,来识别标准规范中的潜在缺陷(potential bugs in specifications),包括非法的 WebIDL 定义、重复定义的接口名、引用未定义的接口名、引用丢失等。进一步,我们还开发了一个简单的 WebIDL 数据浏览器,展示那些 WebIDL 接口被那些标准中的其他接口所引用。
这些工具的探索已经能够帮助我们自动化的发现一些W3C标准中的定义错误,我们希望这一工作能够继续下去,进一步探索这些 WebIDL 数据,并帮助未来的 API 开发者提供帮助,也为保持 Web平台的一致性提供支持。
更多内容,请参阅原文 W3C Blog: Exploring Web Platform Cross-Dependencies。
评论已关闭