这几天看了Murphy的文章,将其不再按时间排序,而是按照内容相关性排在一起。在看的时候,突然发现自己真是想的还不够,早就应该按照每个人的研究方向来排。因为本来每一篇文章的产生都是由每个人研究相关的才产出的。以后进行大牛工作了解的时候,直接进入他们的主页看他们带的post phd, phd,ms,分析各自的研究工作就可以了。吃一堑长一智。
好言归正传,回到Murphy本身来,之后再介绍她的众弟子。她本身是David Notkin(http://www.cs.washington.edu/people/faculty/notkin)的得意门生。David Notkin本身就是大牛牛,带了很多牛逼的弟子,牛逼的弟子再扯出很多弟子。关于SE中有哪些牛逼的人这些牛逼的人又带出来多牛逼的弟子,请看Tao Xie(http://taoxie.cs.illinois.edu/另一David Notkin的得意门生)的SE的遗传普。这个是真的好!http://taoxie.cs.illinois.edu/sefamily.htm
好,Murphy(http://www.cs.ubc.ca/~murphy/),自己读博前大概91-94年,主要关注于OO的研究,那个时候OO也很初步,好像研究的也很初步。之后,大概94-96年在David Notkin门下读博士,论文在95和96年猛发,还干在top的会议期刊上。这个时候主要关注的是源代码的model,implementation相关。96年-现在一直在UBC干活,96-2006年一直是assist professor,06年变成了professor。10年呀!从96年到现在,带出了好几个好牛逼的博士。她的博士们在读博期间的研究成果构成了她的主要工作,当然还带了几个博后,这些博后的工作主要在12年之后。之前一直是致力于博士和硕士的培养。从从论文发表情况来看,博士的研究方向比较专一,发表的论文不错,而硕士的往往就是发表个1篇左右还不错的文章,其内容感觉也是跟博士研究方向关联的内容,这点我推测的,感觉也可以理解。
好,现在来看看,96年后她的那些牛逼博士的工作的吧。
1)03年左右毕业的三剑客:Robert J. Walker(98-2001), Martin P. Robillard以及Elisa L.A. Baniassad
在98年到03年期间,有3个比较厉害的博士毕业了,他们分别Robert J. Walker(98-2001), Martin P. Robillard以及Elisa L.A. Baniassad。其中现在发展最好的是Martin(http://www.cs.mcgill.ca/~martin)。看论文列表,一堆top papers。他博士期间感觉是99-03年,通过研究java exception的内容连续发表了3篇top的文章,分别是研究java exception的analysis,design robust java program with exception以及exception evolution。直接干到毕业了。随后在02年到07年,主要关注点在concerns上(这里的concerns具体指的是什么还么来得及看,之后打算去看看)。现在的主要关注点是什么也没来得及,我这里先把他在Murphy下的phd工作给简单概括。详细的之后专门再说。随后,另外一个比较牛逼的是Robert,我这里说他牛逼,主要体现在我认为他带出了很牛逼的Reid Holemes(https://cs.uwaterloo.ca/~rtholmes/这个人的工作之后我也得去了解下)。Reid Ms的导师是Murphy,phd导师是Murphy的phd学生,这个很有意思。Robert在phd期间,主要关注的是AOP问题,即aspect-oriented programming。三剑客之最后一个是ELISA(http://appsrv.cse.cuhk.edu.hk/~elisa/),目前在香港大学。她的phd thesis也是AOP相关,title是AOP analysis and design。这是phd间的主要研究方向,另外2个也比较主要的是,tools for software-design understanding(这个Murphy自己也搞过,算是跟导师方向比较近)和Empirical studies of programmers(这个研究SE中的人)。之后你会看到Murphy手下,研究developer的还蛮多,研究其productivity,如何提高辅助帮助developer解决task等等。以人为本。
2)04年毕业的Davor Cubranic(http://cubranic.freeshell.org/)
2004年12月份就有另一个phd毕业,叫Davor Cubranic。他的phd工作主要就是project memory and Hipicat。利用team在SE过程中产生的各种artifacts建立group memory,learning from the past。这个没有那么突出。
3)06年左右毕业的Jan Hannemann&&Jonathan sillito
Jan Hannemann,大概02-06的phd在UBC,主要关注的都是aspects即AOP相关的东西,有一篇crosscutting concerns refactoring的文章。
Jonathan sillito,01-06年的phd,06-14年在Calgary Uni任职,14.6-至今,作为Amazon SE的manager了。phd期间发的文章比较专注于developer和task,Q&A。
4)07年毕业的Mik Kersten(http://ca.linkedin.com/in/mikkersten)
Mik Kersten,硕博均在UBC。03-07年的phd,其phd thesis为focusing knowledge work with task context。一句话概括就是提供developer处理task时relevant 的info to help them tailor the task-at-hand。其博士期间发表的论文基本上都是围绕如何将各种与开发者手头task相关的信息组织起来提供给开发者让其更好地完成task。这个人技术很牛逼。是tasktop.com的ceo。
5)08年毕业的John Anvik&&Brian de Alwis
John Anvik(http://www.cwu.edu/~janvik/),真可以算是bug triage的鼻祖了。从04年开始专注于bug repo的挖掘,毕其功于bug triage而无法自拔了呀,毕业之后去其他学校教书了,发现还是搞得bug triage,只是现在用time相关的info来做bug triage了。真的是这么多年过去了,研究方向一直没变,好执着呀。。。
Brian de Alwis(http://ca.linkedin.com/pub/brian-de-alwis/1/8b9/647),02-08年的phd at ubc。10年之后就没文章了,现在是researcher at U.Sask。其研究的就是how and why software developers become disoriented during exploration of their source code。主要工作是搞了个Ferret:answers a variety of questions about program elements,explaining how they relate to the rest of the system。感觉跟Mik Kersten做得有点相似性单从大的出发点上来看的话。
6)11年毕业的Thomas Fritz
Thomas Fritz(http://www.ifi.uzh.ch/seal/people/fritz.html),这个好牛。07年开始发FSE,有多牛,做什么,这个等我看了他的主页再来详细点讲。
6.5)12年发出来的文章基本全是已出站的博后做的(Neil Ernst(SEI),Adrian Kuhn (Facebook),Emerson Murphy-Hill(Assistant Prof. at UNC)),现在lab还后一个14年2月来的博后Mark Palyart。
7)13年左右毕业的Sarah Rastkar
Sarah Rastkar(http://www.cs.ubc.ca/~rastkar/),主要研究的是developing tools and technics to improve developers' productivity。now working on a project aimed at summarizing software artifacts。已经在icse发了3篇paper,tosem1篇,icsm一篇,现在summarize的有bug report,source code concerns等。
8)现在还在读的博士C. Albert Thompson&&Julius Davies
C. Albert Thompson(http://c.albert-thompson.com/papers/index.html), 他自己预计2016年phd 毕业,主要研究方向是recommendation systems。
Julius Davies(http://juliusdavies.ca/),11年Bs毕业,现在在phd了。目前还没有文章发出来.
暂时到这。之后再感兴趣地挨个看看,简单了解下。
先看summarize bug report,再看recommendation system,最后看developer productivity。之后再去关注下那几个大牛,现在在做什么。