不完全盘点下Software Engineering(SE/软件工程)领域的学校和杰出教授 (1)

计算机科学CS(computer science)申请总结系列-软件工程申请


文章是俺们地里某个牛人写的,他对软件工程/程序语言方面颇有研究,这个是他写的学校点评。

————————————————————————————-

 

欢迎转载,转载请注明来源于一亩三分地论坛bbs:http://1point3acres.com/bbs

开始啰嗦一下,虽然原来在1point3acres这儿很少发帖,但毕竟在这儿自己学到很多很实际有用的东西。 嘿嘿,作为“饮水思源”的SJTU毕业学生,分享下自己的一些信息到这儿,希望大家有用。我一文也不多发了,麻烦有的朋友转帖到水源上的goabroad版面上一份(http://bbs.sjtu.edu.cn)

偶尔在网上看到一篇文章,讲述软件工程专业的出国方向选择和一些教授的情况,如下:http://www.lilacbbs.com/forum/di … rt=0&listType=1 可能该文章写得时间比较早,其中的一些信息个人感觉明显过时了,结合我自己了解的一些情况,也为今后版面上的网友们(尤其是软件工程专业)留下一点有价值的东西,让大家在申请(甚至套磁)的过程中少走弯路,尽快地了解一个专业的近况。对上述的文章进行了修改、扩展和纠正。当然由于个人水平有限,欢迎大家一起补充,纠正。

下文95%的地方属于原创,剩下的一部分用了原文中的话,对引用到原文的话恕不一一指出。文中可能会提到一些关于研究细节,有兴趣的同学可以google一下。另外,提到的所有 professor都有个人主页,基本都是google上搜名字的第一条,因此再次也不一一列出。
下面所提到的professors中,大概30%有过personal contact, 20%在会议中当面见过甚至讨论过问题。个人感觉绝大部分大牛小牛们还是非常非常nice的。当然下面的东西都是一家之言,大家兼听则明!

进入正题。软件工程(下面简称SE)绝对不是想象中一个孤立的学科(或者是一个只能从实际项目中得以锻炼,或者是读书或者纯理论无用的学科)。软件工程往往与程序语言(Programming Language,下面简称PL)密不可分地结合在一起。无论在SE或者PL上,都
有众多的根本性问题(fundamental problem)没有解决。而从研究上讲,很难在SE和PL之间找到完全的界限。而有时SE,PL又和Computer Architecture 或systems有关联,所以如果你在做一些和SE方向有关的东西,范围可能会很广一些。下面我着重分析
一些美国做SE研究比较active的学校和教授,可以供大家选校或者套磁时候参考,避免盲目性(浪费自己和教授的时间)。

排名不分先后哦

MIT:
1)Prof. Daniel Jackson:领导一个Software Design Group, 偏Program analysis和language, formal method,其中最有名的是他发明的Alloy specification language,在学术界有着非常大的影响力。他是著名的Michael Jackson (不是唱歌那个,是提出 Jackson方法的大牛)的儿子。Prof.Jackson有一个学生Sarfraz Khurshid目前在UT-Austin的ECE,也从事SE的研究。

2)Martin Rinard:Stanford的Monica Lam的学生(龙书第二版的作者之一),做的研究比较偏向与compilation和program analysis。 Prof.Rinard的学生包括:Darko Marinov目前在UIUC,Chandra Boyapati在UMich,Radu Rugina在Cornell,Brian Demsky在UCI等等。
都在SE领域做着非常不错。

CMU:
1)著名的SEI所在地,有非常资深的教授Prof. Mary Shaw, Prof. David Garlan,此二人写的Soft Architecture的书也许大家都有的。在此不多说了。

2)Jonathan Aldrich, 毕业于UW, 偏重于PL中的Type System和Software Design。他的博士论文就是写如何在Java语言中加入一些express software architecture的元素。Prof.Aldrich在AOP领域也曾经比较活跃,他的Open Module具有一定的影响力.

3)Brad Myers,Prof.Myers其实属于CHI部门,但是目前的研究很大一部分与软件工程相关,当然侧重于使用人机交互的methodology来解决SE中的问题。他有个学生Andy Ko刚刚去年毕业,目前在UW教。

4) CMU有个Model checking组, turing奖得主在那,毕业的学生自然不用说。我不是特别清楚,大家可以去查查。 因为最近se里面model checking用得比较热,因此我把这个也归在SE里面了。

Berkeley
1)Koushik Sen,毕业于UIUC,Concolic Testing的创始人之一。近期来在SE/PL领域非常活跃,目前主要focus在Random testing for concurrent program上。该教授目前如日中天,去他主页上看看一年多少篇paper就知道了。

2)Parallel Laboratory 中其它教授。涉及了从programming model,到system software,到software evolution的各种研究。不太好区分。大家有兴趣可以自己查查。

Stanford
和Berkeley一样好像搞专门软工的可能也不太好区分,但有的教授搞PL或者System,但同样在SE的top会议上比较活跃

1)Monica Lam, 学过编译的应该都对Prof.Lam熟悉了。大牛级的人物,大家还是去她的homepage上查看吧。

2)Dawson Engler,毕业于大名鼎鼎的MIT的PDOS组,最近在从事automated bug finding的研究。所开发的coverity系统已经商业化,并且在商业和学术界都取得了巨大的成功。但Prof Engler的研究还是侧重于System,但提出的技术已被SE community所公认。

3)Alex Aiken, 研究偏向理论,和Type System和theory方面比较多。有不少学生在SE领域做的相当不错,如UW-Madison的Ben Liblit,UC-Davis的Zhendong Su,和Maryland的Jeff Foster。

UIUC
1)Prof. Ralph Johnson, 是提出Design Pattern的“four gang”之一。他做design pattern and soft architecture。 抱歉,我对Prof Johnson的研究不是很熟悉。

2)Darko Marinov,毕业于MIT,Martin Rinard的学生。主要研究software testing,尤其是exhaustive test inputs generation上比较有影响,以及他所开发的工具Korat

3)Yuanyuan Zhou,Prof.Zhou其实从严格说不能列入SE方向,但Prof.Zhou目前主要利用一些PL的technique来增强System software的reliability。据说目前准备move到UCSD去。有一家startup,叫PatternInsight,也是关于 source code analysis方面的。
//yuanyuan zhou已经move到ucsd了, 但他的homepage还在uiuc

Univ of Washington:
1)Prof. David Notkin了,Prof. Notkin
原来是ACM SIGSOFT的Chair (ACM Special Interest Group in Software Engineering,是ACM SIGSOFT的Chair (ACM Special Interest Group in Software Engineering,软工界的权威组织,ICSE等都是这个组织主办的, Prof. Notkin做过某届ICSE大会主席,
他去年到过北京参加WCC), 也是ACM SIGSOFT NOTES杂志的主编, IEEE/ACM Fellow。他的研究方向主要是Software Evolution. 他的学生好几个都在高校做教授,而且在软工界比较活跃,在UCSD的Prof. Bill Griswold (目前的SIGSOFT主席), 在U of Virginia 的Kevin Sullivan, 在加拿大UBC的Gail Murphy,重新回到UW的Mike Ernst,已经在NCSU的Tao Xie.

2)Mike Ernst. David Notkin的学生,原来在MIT是tenure prof,今年重新回到UW。他的工作中最为著名的是博士论文中提到的dynamic invariant detection和Daikon工具。

3) Dan Grossman, UW在craig chambers离开后,它的PL大旗一直由Grossman扛着。 Grossman的工作偏向于functional programming,但非常solid。最近评上了tenure,并且成为了ACM SIGPLAN的execution committee member。

UT-Austin:
1)Prof. Don Batory 搞Software Generation, Product-Line Architecture的。

2)Dewayne E. Perry也去ECE系(不是CS系)那了。他和Alexander L. Wolf(UCI) , David Garlan, Mary Shaw(CMU)等一起是Soft
Architecture方面的权威。

3)Sarfraz Khurshid。 搞formal method,specification checking之类,也是在ECE系。另外,UT-Austin有一些PL搞得非常好的教授,包括model checking的创始人之一。

4)kathryn mccarthy 和 Calvin Lin 大牛,虽然属于programming language领域。但同样, PL和SE确实没什么太严格的界限,大家不妨也查查。

Brown:
1)Prof. Steven P. Reiss 搞Program analysis 和software visualization 的。
2) Shriram Krishnamurthi. 搞得偏理论一点,偏PL。但最近好像再搞一些与web application security的研究,如sql injection之类。原来在AOP领域也活跃过,做过一些verification的工作。

Gatech
1)Mary Jean Harrold, 主要做software testing的研究,同样是ACM Fellow。

2) Alex Orso,做得比较广泛。但主要是在program analysis and testing这块,也涉及到了web security。人很nice,见过好几面。目前非常active。

Maryland:

1)由有名的Prof. Victor Basili (ACM Fellow & IEEE Fellow)领导的比较大的软工group,主要是empirical software engineering, software quality..另外还有Prof. Marvin Zelkowitz(IEEE Fellow)他写的Implementation of Programming
Language估计大家也都有(清华出的影印本)

2)Jeff Foster, Adam Porter,Michael Hinks等。 其实Maryland的se还是非常强大的。 因为和我的工作不是特别相似,不慎了解。大家见谅。

University of North Carolina–Chapel Hill
1) 著名的F. B. Brook, Jr. 在这养老 :),估计他不再带学生了,他写的The mythical Man-Month十分著名,在美国高校中作
为软工课教科书,这本书的内容都是他在开发IBM 360中的经验和总结,十分精辟。他是1999年图灵奖得主。

NCSU

1)Tao Xie: 北大Hong Mei的学生,David Notkin是他在UW的博士生导师,可以说是现在华人中se最active的人之一。他的主页严重推荐大家上面去看,可以学到太多了。里面的内容我就不展开讲了,恐怕一时半会也讲不完。

Purdue:
1) Xiangyu Zhang: 同样是华人的精英。他的博士论文是SIPLAN 2006年的最近论文,仅此一篇。最出名的工作是dynamic slicing。Prof Zhang毕业于Arizona University,却拿到了Purdue的教席,实力可见一般。

University of Massachusetts:
1)两位老前辈的教授领导着The Laboratory for Advanced Software Engineering Research, Professor Lori A. Clarke(Acm
Fellow), 前任ACM SIGSOFT Chair.和Prof. Leon J. Osterweil (前U of Colorado, UCI系主任,ACM Fellow), 这里好像主要集中在并行系统软件工程上。

2)yannis smaragdakis, 毕业于ut-austin,从gatech开始指教,但现在到了UMass。工作偏向PL,但也经常在SE顶级会议上发文章。

UC-Davis

1) Zhendong Su。 华人的精英教授。人非常nice。手下的中国学生同样被培养的非常出色。Su教授目前主要focus在SE, PL,和security三个领域。对于web security和clone detection的工作都相当有影响力。

2) Prem Devanbu. 明年2010年ICSE(se最好的会议)的program chair。研究领域比较广泛,但目前好像有点侧重于软件开发过程中的一些networking, quality问题。

UCSD

1) Ranjit Jhala: 毕业于berkeley,Jhala教授应该算是PL领域的,但是同样,PL在SE中的影响力同样意义深远

2) Sorin Lerner: 毕业于UW的Craig Chambers门下,PL领域非常活跃

3)Prof. Bill Griswold主要做Software Evolution(Prof. Notkin的学生) 。现任的sigsoft chair

VT
1)Barbara Ryder:ACM Fellow, 从Ruteger过去做了head,原来是PL领域,现在同样在SE领域非常活跃。和IBM TJ Waston联系非常密切。

Ohio State Univ.
1) Atanas Routev: 上面提到的Barbara Ryder的学生,领导着一个PRESTO的研究小组,主要从事OO,Component,Parallell, Programming tool之类的研究。值得一提的是,他小组内有位中国学生Guoqing Xu做的非常出色。

UW-Madison:
1)Somesh Jha: 毕业于cmu的model checking小组,师从turing奖得主。做得东西有点和security和verification结合起来,但是也在se顶级会议上得过best paper

2)Ben Liblit: 2005年acm dissertation award的得主(每年全美的博士生仅仅一篇论文),毕业于berkeley。最原创和出名的工作是statistical debugging。

U of Virginia:

1)Prof. John Knight 主要做software reliability

2) Prof. Kevin Sullivan(Prof. Notkin的学生)主要做software design和组装。

3) Mary Lou Soffa。 MJ Harrold和Rajiv Gupta的老师。工作非常solid。有兴趣的可以去他主页上看下

4)Westley Weimer,用PL的一些方法找软件里面的bug,提高software quality and reliability

======过几天再有空写写其他学校的============== 😉