真不愧为Gail C. Murphy的得意门生,这个Martin真的是很牛,看看他的publication list,可以发现整个研究方向的迁移非常清晰,每一个方向都有很多top的文章,而,隐约中,可以感觉到,这些基本都属于recommendation system这一个大范畴,他们写的Recommendation System in Software Engineering (RSSE)书,应该是一个非常好的了解recommendation system全貌的资料,如果真要了解,可以好好去看看。
之前我以为其在Murphy门下,是靠exception的那三篇top的文章毕业的,今天看他的publication list,才发现,那个exception是他的master thesis. title为Analyzing Exception Flow in Java Programs.1999年,靠,master期间就这么牛逼,做了这么好的工作。他的phd thesis是以他在exception后的concerns为主题的。phd thesis title为Representing Concerns in Source Code。2003年毕业。这个我要去好好看看。(稍微看了下,这里的concerns指的是开发人员为了完成某一task所可能会考虑到的各个方面(这每一方面最后均体现在代码里),比如ftp传播是否将cmd log下来这样的,作者的phd thesis里系统的提到了concerns,如何对实现concerns的source code进行concern graph的建立及使用该graph去帮助开发者做各种change task)
先链接上他的publication list的url:http://www.cs.mcgill.ca/~martin/papers.html
现在再从最开始到现在,来分析下他的研究思路,或者说叫研究轨迹。
本科期间研究program中的exception,发了3篇top的文章,99年master毕业。phd期间(99-03年该),主要研究concerns,发了很多文章。。。phd thesis title为representing concerns in source code。然后concerns在之后的几年也做了不好
后面开始关注recommendation system,首先切入的点是分析programmer investigate code多么吃力,随后就出现帮助programmer做program navigation的了。。关注SE的task了。。开始做一些推荐。05年FSE就有Automatic Generation of Suggestions for Program Investigation了。06年FSE Recommending Adaptive Changes for Framework Evolution。08年以前感觉像是为recommendation system做技术铺垫,挖掘抽取infer各种knowledge,然后来帮助推荐。08年除了concerns这一块,基本就是那些了。
09年开始很各种关注API:Inefficient API Usage(这莫非就是为recommendation作motivation的铺垫?),Analysis and Recommendation Support for API Evolution,Improving API Usage,What Makes APIs Hard to Learn? Answers from Developers(擦,这全是09年发出来的文章。。),擦,之后发表的工作基本全是API相关的和recommendation system相关的,或者结合使用的。。。
看来,Martin他们组,是研究API的大户呀! 要搞API的要好好看看他们的文章,关键是做的都很好。
我看现在他下的2个phd,一个的研究方向就是recommendation system,另一个的就是code example。
如果按照recommendation system in software engineering的书或者论文所说,他们的大体研究方向就是希望,通过使用已有的各种数据(如source code,vcs里的各种数据,bug repo,communication data,user interface data,api,web data等等)+已知的task context(越精确越好)-> recommend assessed valuable info(data) to help programmer tailor the task at hand。
我个人觉得,他们的工作做得很有意义。而我还在迷茫,自己到底想定个什么样的研究方向。。。