BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

MIT为面向对象程序员带来福音

| 作者 Michael Stal 关注 0 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2011年10月9日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在最近的一篇新闻中,麻省理工学院介绍了一种新技术,可以自动记录对象之间的联系。这个系统能够判断出:

大型软件项目中对象的交互方式,因此可以通知此后的对象,让它们知道需要哪些对象来设计特定类型的功能。

Larry Hardesty来自MIT新闻办公室,他认为:过去四十年来,软件工程的主要创新就是面向对象编程语言的发展,对象可以看作

程序用来存储计算方式细节的存储库,让程序员可以聚焦于更大、更全面的问题。

开发人员常常面对这样的挑战:随着系统规模不断变大,对象的数目也不断增加,它们之间的交互关系会变得数量庞大。要理解整个系统,他们需要花费很多时间。MIT的计算机科学和人工智能实验室的想法就是从这里出发。这个系统名为MatchMaker,可以自动化学习正在开发中的系统内对象的交互方式。

该系统对于需要添加功能的开源软件来说特别有用,Solar-Lezama和他的学生Zhilei Xu和Kuat Yessenov已经通过Eclipse Framework展示出了这一点。

在MatchMaker中,开发人员可以在一个查询字段中输入对象的名字。作为返回结果,MatchMaker会列出所有与指定对象连接在一起的对象,以及现有任何方法需要做出的修改。

不过,系统还是会产生一些错误的引用,即使如此,正像Solar-Lezama指出的,就算出现类似情况,开发人员至少还是能获得一些指导。他们试图以实验的方式证实自己的观点,研究了8名刚刚接触Eclipse的用户。开发人员分为两组,每组四人。第一组必须在不使用MatchMaker的情况下解决一个问题,第二组可以利用该系统,但是收到来自MatchMaker的信息也不完整。尽管如此,第二组中所有开发人员的表现还是超出了第一组中的任意。然而,还是要指出:在这个上下文中,8个人的研究还是不具有代表性。

未来将会告诉我们:MatchMaker能否达成人们对它的期望。如果您想了解更多细节,您可以阅读研究人员们提交的论文,该论文已被本年度SPLASH的OOPSLA大会接受。

查看英文原文:InfoQ: MIT introduces Oracle for Object-Oriented Programmers

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

与代码的静态分析方式有何不同? by zhang jimmy

SourceInsight也可以通过对代码的分析提供对象的调用和被调用关系,MIT通过运行时的检测得出的结果有什么不同?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT