从ACM会议分析我国计算机科学近十年发展情况
作者:陈 钢
2006年,承蒙李国杰院士推荐,《中国计算机学会通讯》发表了我的一篇文章“从ACM会议论文数量看差距”。该文就*学者在ACM会议上论文发表情况,将中国计算机科学同国际水平进行了比较和分析。得出的结论是,从论文发表角度看,当时中国的计算机科学同国外的差距非常大,尤其是在*会议上,中国的论文凤毛麟角,在不少重要会议上甚至是0。近十年来,中国计算机学术界发生了很大变化,在论文发表方面有了长足的进步。本文就近年来中国在ACM会议上发表论文的情况同2006年前的做一比较,用客观数据分析这方面的变化。此外,本文也对存在的问题发表一点个人看法及建议。
需要说明的是,目前这一研究工作所收集的数据是不够完整的。主要原因是ACM的数据格式不规范,一些会议记录无法提取数据,还有一些数据提取之后需要大量的后处理。目前总计收集了近26万条数据,数据分析工作量很大,因此数据集合依然有相当程度的不精确性。比如,在抽取到的会议信息中,有325条年份信息为空(这部分信息不包含在下文的统计分析中)。尽管如此,后续的分析工作也只能在这些数据上进行。不过,这些数据还是能够让我们对中国在ACM会议上发表的论文情况有一个大致的了解。
总体情况分析
历年累计情况分析
本次收集的历年会议论文记录总数为25.7813万条,其中中国论文数有7048条,占总数的2.73%。ACM会议累计总次数是5544次,*单位参加过的会议次数是1471,占总数的26%。在上述计算中,同一种类型的会议,开一次算一次。ACM共有1392种不同的会议,中国参加过的会议种类有539个,占38.4%。因此还有超过60%的会议,中国从未参加过。不过这些会议中包括许多仅开过一两次的会议。
ACM会议中,论文数量累计达到100篇以上的共348个。这组会议属于ACM会议中影响力比较大的会议。我们将它们命名为ACM100。历年来,这组会议总计召开了3615次,其中中国参加过1132次,占31%。在ACM100中,中国单位参加过的会议种类有264个,占这组会议类别数的75.6%。ACM100的会议中发表过的论文总计23.2354万篇,其中中国发表的论文数6314篇,占总数的2.71%。见表1。
其中值得注意的是,中国历年参加过的会议仅占ACM会议总数1/4多,还有近3/4的会议,中国没有参加。仅在2014年,这样的会议就有157个,总计2510篇论文,占当年ACM会议论文总数(15302篇)的16%。这也说明中国在计算机科学的多样化上还做得不够。
以2006年为标志点分段比较
2006年,我们统计到ACM有173个不同类型的会议,8万多篇论文。由于此后ACM对数据进行了增补,我们也改进了数据采集程序。所以本次统计到那一时期的ACM会议数达到420个,论文总数超过10万篇。本节采用这次统计的数据来对2006年之前和之后的ACM论文发表情况进行对比。
从表2中可见,2006~2014年这9年期间中国在ACM会议上发表的论文总数(6117篇)是1951年(ACM最早记录)到2005年这54年中(1471篇)的4倍;中国论文数占ACM论文总数的比例,2006年之后是之前的2.85倍。2006年之前,中国仅参加了16%的ACM会议;2006年之后,中国参加了33%的ACM会议,参加会议的种类比例则从29%上升到41%。
我国每年在ACM会议上发表的论文数
图1显示,中国在ACM会议上发表论文的情况可分成三个阶段。第一阶段(棕线)是在2000年之前,中国每年发表的论文数在15篇以下。第二阶段(红线)从2000~2008年,发表的论文数快速上升,从2000年的29篇上升到2008年的733篇,增长了25倍。第三阶段(黄线)是2008年以后,年论文发表数基本上在600~800篇之间徘徊。在2009年,论文发表数达到高峰,总计925篇,主要原因是2009年有一个GEC会议,该会议来自中国的论文数达到140篇。该会在历史上仅此一次。如果去掉这个会议,那么2009年中国的论文数为785篇。
这一变化趋势,同ACM会议论文总数增长有一定的关系。恰好ACM会议论文总数也是在2000年到2008年之间有一个比较大的跳跃,2008年以后论文总数基本保持平稳。见图2。
因此,要考察中国在ACM的论文发表情况,最好的方式是看中国论文数占论文总数之比(下面称为“占比数”)。
在图3中,三阶段结构依然比较清楚。在2000~2008年期间,论文数出现了4~5倍的上升,2008年之后论文占比数保持平稳。
中国的“长处”与“短板”
数据显示,在有些ACM会议中,中国的论文数非常多。而在另一批会议中,中国的论文数又非常少。
虽然中国在ACM的会议上发表的论文数大幅度增长,但是出现了一批基本上由中国人主办的ACM会议,发表的论文大都来自中国,也有个别会议基本上是由国内某个学校举办,而且只开一次。这些会议可以看成是发表英文论文的国内会议,或者是地区性会议,其中有些会议可能代表了国内的高水平的研究工作,比如Internetware(网构软件会议)。它们以后可能会发展成为有国际影响力的会议,但是目前还很难代表一个领域内的全球水平。据统计,中国论文数占到30%以上的ACM会议共有33种,其中中国论文数总计964篇。如果排除这一组论文,剩余的ACM中国论文数为:7048–964 = 6084篇。
另一方面,还有一批中国很少参加的ACM会议。在这些会议中,有一部分是地区性会议,比如印度的软件会议。但是,还有相当一批是在某些领域有重要影响力的国际会议。在这些领域中缺少来自中国的论文,反映了中国计算机科学的一些薄弱环节。在2010~2014年中,中国有三次以上没有参加的会议共有207种,包括一批一流国际会议。通常,核心领域的会议开会次数较多。因此,我们找出历史达15年以上的会议共有67个。在这批会议中,中国在2000~2014年的15年中有10次以上没有参加过的会议总计23个,见表3。
表3反映了中国在计算机科学核心领域中比较薄弱的环节。这些会议基本上都是各领域中有重大影响的会议。
中国在计算机核心领域中的进步
在2005年对ACM会议进行分析时,我们只找到了173个会议,而这次分析收集到的会议数量达到1392个,增加了8倍。这是因为ACM补充了数据,也有些是近年来新开的会议。在会议数量大幅增加的同时,也出现了一批并不能代表国际水平的会议。因此,有必要研究中国在高水平会议中论文发表情况究竟如何。我们通过两种方式来选择“高水平”会议:一种是选取会议次数多的会议,另一种是根据影响因子。
上节指出,召开15次以上会议的共有67个,大部分是在计算机核心领域中有影响力的国际会议。
由图4可见,从2000年开始,中国在计算机核心领域发表的论文数出现了一次飞跃,每年论文发表数大体保持了线性增长。论文总数从2000年的18篇发展到2014年的353篇,相当于2000年的近20倍。从2005年的106篇到2014年也有3.4倍的增长。这一数据应该可以代表中国计算机科学的实质性发展。
这一轮的发展非常引人注目,1982~2000年的18年间,在这批ACM核心会议上,我国每年的论文数大部分年份是在10篇以下徘徊,1994年和1995年,每年仅有1篇ACM论文。自2000之后的15年中,论文数量突飞猛进,年平均增长率为22%。
不过,也应该注意到,在论文发表方面,各个领域存在严重的不平衡性。中国在这67个会议中总计发表了2439篇论文,其中有1317篇论文是在其中的6个会议中发表的,超过总数的一半。见表4。
下面再根据计算机会议的影响因子选取ACM会议。根据网上流传的据称来自CiteSeer的计算机科学会议影响因子表(近500个会议和杂志),从中选出了ACM会议。通过考察这批会议中中国每年发表的论文情况,得出图5。
在图5中,论文数量的变化可分成三个阶段。第一阶段(1982~2000年),每年论文数在6篇以下,其中有3年是0篇。第二阶段(2001~2006年),2001年论文数出现了一次跳跃性发展,达到20篇,是2000年的4倍。第三阶段(2007~2014年),在2006~2008年间又发生一次跳跃,论文数从2006年的78篇增长到2008年的233篇,从此论文数上了一个新台阶;2013年达到最高点的321篇,2014年回落到279篇。
从中国的论文数与ACM论文总数的比例来看,也具有三级跳模式。第一阶段,在2000年之前,中国论文所占比例在0.5%以下,1980年代平均值是0.38%,1990年代平均值比1980年代下降一半,仅为0.13%。第二阶段,2001~2006年,从0.77%上升到1.4%;在2008年之后,每年中国论文占论文总数的比例平均值接近5%。见图6。
我国论文分行业发展情况
在文献中,我们把ACM会议分成集成电路设计、体系结构、软件工程(包括数据库和人机界面)、图形学与多媒体、程序语言、新兴领域和其他骨干学科(包括操作系统,计算理论等)几大类。虽然这不是一个很合理的分类,但为了对照方便,本节依旧延续使用这一分类。
集成电路
表5第一列是会议简称,第二列是中国在2005年之前(含2005)在ACM会议上发表的论文累计数,第三列是2006~2014年之间中国在ACM会议上发表的论文累计数,第四列是2006年之后各个会议的论文总数,第五列是2006年之后每一个会议的中国论文总数与ACM论文总数之比。
表5显示,中国在2006年集成电路行业的ACM会议上发表的论文总数是2005年之前发表的论文总数的746%。2006年之后,集成电路行业的每个会议上中国论文数占ACM论文数的平均值为3.81%。情况最好的是FPGA会议,占了8.24%,说明中国在FPGA方面发展较好。最差的是SBCCI会议,仅为0.29%,不过这是巴西的一个会议,影响不大。在国际上有重大影响力的会议中,中国最弱的是CODES会议,论文数仅占总数的1.55%,但是2005年前,这个会议没有一篇中国的论文,现在累计有6篇,已经是不小的进步。CODES会议已经同ISSS会议合并,内容主要是软硬件协同设计和系统级综合。DAC, ICCAD和DATE是集成电路行业的旗舰会议,包罗万象,涵盖了行业内许多子领域,同时也是*论文的发表场所。中国在这几个会议中的论文数分别有7~20倍的增长,发展势头良好。发展相对比较平稳的是物理设计ISPD会议,只有1.5倍的增长,但是接近3%的论文占比数并不明显落后于其他会议。
体系结构
表6显示,在体系结构方面,2006年之后同2005年之前相比,增长率恰好是6倍。在这8个会议中,2005年之前有5个是空白,现在所有会议上都有了中国的论文。由于体系结构方面的工作难度很大,因此这是一个很大的进步。值得注意的是,MICRO会议2005年前的文章其实都是在1993年之前发表的,因此,如果把2005年后10年和前10年相比,那么论文数增长率高达15倍。
平均而言,中国在体系结构方面的论文数仅占论文总数的2.55%,这个比率依然较低。但体系结构方面的*会议ISCA不但有了零的突破,而且占比达到2.29%,相对而言这是一个不错的成绩。
软件工程、数据库和人机界面
如表7所示,软件工程大类的发展速度是所有大类中比较快的,达到814%,超过8倍。在这个领域,中国论文占总论文数的比重超过7%,是所有领域中最高的。表7中ICIS的占比特别突出,达到22%以上,但是采集到的数据中2006年以后的会议仅包含2009年一次会议,而这次会议中大部分文章来自东亚国家。SIGSOFT会议在2010年之后改名为FSE(Foundations of Software Engineering),因此FSE的会议记录也加在SIGSOFT的会议记录中。
这个领域的发展相当不平衡,有3个会议占比在8%~22%之间,分别是计算机与信息科学会议(ICIS)、信息检索会议(SIGIR)、知识发现与信息挖掘会议(KDD);有6个会议的占比数(表7最后一列)不到1.6%,其中包括两个从来没有中国论文的会议AOSD和DIS;历史悠久的数据库原理会议(PODS),中国论文占比刚超过1%。另外有4个会议的占比数超过5%,其中包括另一个历史很长的会议——超大规模数据库会议(VLDB)。
方差分析显示,这个领域会议的方差值为0.07,而体系结构、程序语言和VLSI(Very Large Scale Integration,超大规模集成电路)占比数的方差仅为0.017~0.02,两者之间有5倍左右的差异。这也说明该领域发展的不平衡。
图形学和多媒体
在2006年发表的文章中统计了这个领域中的7个会议(PVG, SCCG, SI3D, SCG, SIGGRAPH, VRST, MM)的情况。其中MM后来改名为MULTIMEDIA(多媒体会议),SCG会议在10年后改名为SOCG。
多媒体会议是中国在ACM会议中几个少见的强项之一,2005年前就有100多篇论文,近10年增长了3.65倍,占比超过21%。但这个领域的发展也极不平衡,5个会议中有两个会议的占比低于0.5%。图形学会议(SIGGRAPH)的中国论文数有8倍的增长,但占比仅为1.67%。总体而言,这个领域的发展速度是384%,平均占比5.97%。
程序语言
如表9所示,在2005年前,程序语言是所有领域中最薄弱的一个领域,9个会议中累计有7篇论文(体系结构是第二个薄弱领域,8个会议中有14篇论文)。不过,程序语言发展比较快,增长率达到900%,发展速度超过软件工程领域,居于第二名。但是其论文数占ACM总数之比依然是所有领域中最差的一个,仅为2%。
在各个会议中,发展速度最快的是面向对象程序设计会议(OOPSLA)、并行编程原理和实践会议(PPOPP)、以及代码生成与优化会议(CGO),分别有10~13倍的增长。POPL、PPDP和PERM有了零的突破,但3个会议论文总数仅为6篇,论文占比基本上在1%以下。函数式程序会议(ICFP)近10年没有论文。行业内两个*会议PLDI和POPL,偏应用的PLDI发展速度增长了三倍,占比达到1.67%;偏理论的POPL稍差一点,占比为0.67%。
新兴研究方向
2006年被列为新兴研究方向的会议,现在已经不算新了。但为了进行比较,下面的分析中还继续沿用了原来的分类名称。在这批会议中,DL会议在2000年之后没有记录。AGENTS会议2002年之后变成了AAMAS42。C&C会议数据收集不齐。因此,这里仅分析余下的几个会议。
互联网会议(WWW)的发展情况很好,占比达到11%以上,这同中国互联网的蓬勃发展有关。但是其他6个会议的占比均在1.5%以下,显示出发展不平衡的情况。这个领域平均发展速度是所有领域中最快的,达到1116%,但是这一发展速度主要来自互联网会议。如果去掉这一会议,则发展速度仅为393%,不到4倍,在所有领域中又是最慢的。
其他骨干会议
在其他骨干会议的分类中,包含了著名的操作系统会议(SOSP)、离散算法会议(SODA)、侧重于算法和计算复杂性等方面内容的计算机理论会议(STOC)和分布式计算会议(PODC)等。总体而言,论文增长幅度是509%,超过5倍。目前论文数占ACM论文总数的3%。
除了SAC和ISSAC两个会议之外,其他9个会议在2005年前的情况都很差,这9个会议历年来累计只有3篇文章,中国有6个会议的论文数是0;2006年以后,中国只有2个会议论文数是0。这9个会议中,中国论文累计数达到92篇,有30倍的增长。进步幅度最大的是计算机与通讯安全会议(CCS),有50倍的增长;其次是离散算法会议,增长了18倍。分布式计算会议和计算机理论会议也有比较好的增长幅度,但是占比均不到1%,依然是中国的弱项。
计算机各领域发展情况比较
将2006年以后的论文累计数同2005年以前的论文累计数进行比较,各领域的增长情况如下(见图7)。
每个领域的发展速度是指用这个领域2006年以后论文累计数除以2005年之前的论文累计数之后得到的百分比。其中,新兴领域发展速度最快,超过了11倍。这当中贡献最大的是互联网会议,发展速度为13倍。如果去掉互联网会议,这一领域其他会议的发展速度只有4倍。
除去新兴领域,发展速度最快的是程序语言,其次是软件工程。但是我国在这两个领域的研究实力却是相反的。程序语言的总体实力最弱,而软件工程实力最强。不过软件工程内部的各个会议情况并不均衡,论文大量集中在ICIS, SIGSOFT, SIGIR和KDD四个会议上。
总体而言,体系结构、程序语言、集成电路和其他骨干领域中各个会议的中国论文增长速度相对而言比较均匀。而软件工程、新兴领域、图形图像这几个领域中会议之间的增长速度差异很大,发展不均衡。
我们把2006年以后的论文总数同2005年以前的论文总数进行比较,各领域中的中国论文占ACM论文总数的比例情况如图8所示。
图8从一个侧面反映出计算机各个领域中,中国的研究水平在国际上的高低以及各个领域之间发展水平的相对强弱。从图8可见,在软件工程方面,中国发展最好,其次是新兴领域和图形图像。然而,这三个领域又恰好是发展最不平衡的领域。在所有领域中,最弱的是程序语言和体系结构,这两个领域的研究工作,不到软件工程的1/3。操作系统方面的会议被归在其他骨干领域的范围内,如果单独抽出来,那么操作系统方面会议的论文占比数不到1%。
由此可见,中国在应用领域中的研究工作较强,而在基础领域(体系结构、程序语言、操作系统和计算理论等方面)的研究工作较弱。与此同时,基础领域的发展速度比较快,比如程序语言的发展速度超过9倍。
分析和讨论
根据这次得到的数据以及统计分析结果,可以初步得出下面几个结论。
近十年来中国计算机科学发展突飞猛进
2000年是论文数量变化的第一个转折点,当年中国在ACM会议上发表的论文总数仅18篇,2014年达到353篇,相当于2000年的近20倍。在CiteSeer影响因子前500名的会议中,2000年前中国每年论文数在6篇以下,其中有3年是0篇。而2014年达到了279篇,增长46倍。2005~2006年是第二个转折点,此前,在影响因子前500名的会议中,中国每年的ACM论文数在100篇以下,此后迅速上升到250~300篇之间,增长2.5~3倍,并且连续5年在这个范围内波动。从中国论文数占论文总数的比例来看,也具有三级跳模式。2000年之前,中国论文所占比例在0.5%以下,2006年上升到1.4%,之后很快上升到一个新的台阶。在2008年之后,每年中国论文占论文总数的比例在5%左右波动,同2000年相比,增长了10倍。
与2006年写文章时的情形进行比较,几个主要的研究领域(体系结构、软件工程、程序语言、图形图像、新兴领域以及其他骨干领域)平均发展速度在4~11倍之间。
在这些领域中,2006年之后,中国论文累计数占ACM论文累计数之比已经达到2%~7%。这个数字看上去不大,但是同2006年统计的情况相比,发展是惊人的。2005年之前,只有图形图像和新兴领域的占比数分别达到2.29%和1.22%,其他几个领域的占比数都不到0.5%。尤其是程序语言领域,7篇论文仅占论文总数的0.19%,而且这7篇论文基本上都是国外单位、外国人或合作撰写的。从占比数看,软件工程增长最快,达到15倍的增长;其次是体系结构和程序语言,分别有10倍的增长。
中国计算机学会制定了《CCF推荐国际学术会议和期刊目录》(下面简称《目录》),各机构对论文数和质量也给予了充分重视,这些措施对中国论文的激增起到了重要的推动作用。
论文数量同国际水平之间依然有较大的差距
如果按2006年以来的累计数计算,中国ACM论文数仅占全球论文总数的4%。虽然总体而言中国论文数呈上升趋势,但近5年每年占比数大体上在5%左右徘徊。2015年,中国人口占世界人口的比例超过18%,因此,每年ACM论文数量应该达到现在的4倍以上,才能达到国际平均水平。如果同发达国家的人均论文数相比,差距更大。
此外在ACM的1392种会议中,中国仅参加了其中的539种,占38%。在历年举行的ACM会议中,有近3/4的会议中国没有参加。在2010~2014年这5年当中,中国有3次以上没有参加的会议总计207个,其中包括一批在计算机核心领域的一流国际会议。在67个有15年以上历史的会议中,2000~2014年,中国有10次以上没有参加过的会议总计有23个,超过1/3。
各学科发展不平衡
笔者认为,计算机的各个领域可以粗略地划分成基础领域和应用领域。体系结构、操作系统、数据库基础、理论计算机科学、程序语言以及集成电路电子设计自动化(Electronic Design Automation, EDA)工具均属于基础领域。软件工程、知识工程、大数据、互联网、图形学、集成电路设计和管理系统大体上属于应用领域。应用领域主要是指能够为最终用户直接提供服务的领域,基础领域主要是为应用领域提供服务的领域。
就中国在ACM会议上发表论文的情况来看,有两个特点值得注意。一个是基础领域的论文发表弱于应用领域,在体系结构、程序语言以及其他骨干(包括了操作系统和计算理论等基础性学科)会议中,中国论文占比平均在2%~3%。而软件工程、图像处理、新兴领域(包括互联网等方面的会议)这三个领域中,中国论文占比是6%~7%。集成电路行业介于两者之间,占比接近4%。集成电路行业包含了基础性的EDA行业以及开发最终产品的设计和验证行业。这也可以解释为什么这方面的论文发表情况处于一个中间状态。见图9。
第二个特点是,在软件工程、图形图像和新兴领域这几个应用领域中,中国的论文分布非常不平衡。比如在软件工程领域,有一个会议占比数高达21%,但是15个会议中有6个会议,占比数在1.1%以下。在新兴领域中,如前面所述,不平衡情况更为突出。根据上述分析,我们对相关问题进行如下讨论。
论文发表中的矛盾数据显示学科发展不平衡
文献根据国际论文数据库的资料得到的数据显示,中国计算机科学每年发表的论文数自2008年后就一直超越美国,位居世界第一。2014年中国计算机论文数占全球论文数的20%。在CCF A类期刊(《目录》中的*期刊)上,中国近年发表的论文数占总数的26%。从这两个数字上看,中国无论是在论文的总量上,还是在优秀论文的数量上都取得了很好的成绩。然而,本文的统计显示,2006年以后中国论文数仅占ACM会议论文总数的4%,主要会议上的占比是2%~7%。为什么两种统计结果会有那么大的差异?
一个原因可能是我们在做数据抽取时要从论文单位来判定是否是中国论文,由于信息不全,会少算一部分,但这之中的误差不会严重影响到占比数的计算。另一个可能的原因是国内学者更倾向于在杂志上发表论文,这样做可以减少论文发表费用,有较多的反馈修改时间,同时避免了英语表达方面的不足。
笔者认为数据上的矛盾现象主要反映了发展的不平衡。一方面,大量论文集中在低端会议和杂志中,所以论文总量很大;而优秀论文又过度集中在一部分杂志和会议当中,很多同样重要的会议和杂志缺少中国论文。因此,虽然CCF A类期刊上的中国论文所占比重很高,但ACM会议的中国论文所占比重却很低。
笔者认为,我国依然需要提高在国际会议和杂志上的论文发表量,但是重点要放在过去相对忽视的方向上面。
关于CCF《目录》以及论文导向的科研
最近《中国计算机学会通讯》连续两期(2015年第7、8期)讨论了关于《目录》的问题。几位学者从各个角度做了有深度的分析[3~6],在肯定了《目录》积极作用的同时,指出了《目录》的一些负面影响。对论文数量的过度重视,引起了学术界广泛的担忧。中国科学院院士梅宏教授的文章从六个不同角度分析了《目录》所带来的问题。当我在写这篇文章的时候,也强烈感到论文驱动的科研模式恐怕已经走过头了。
大量事实显示,科研成绩并不一定从论文数量上表现出来。比如,韩京洋等人的论文指出,图灵奖获得者中有三位从未发表过CCF A类论文。中国工程院院士李国杰教授引用了一个案例,英国帝国理工大学破格提拔郭毅教授时,他尚未在一流杂志上发表过文章。这说明,一流学者不能仅仅依靠量化考核。据我所知,法国有些著名学者在获得博士学位时也没有在一流会议、杂志上发表过文章,但是他们的博士学位论文被广泛引用。
毫无疑问,应该鼓励科研人员做有价值的研究工作,不管这些工作是否能够在短期内发表到一流杂志或一流会议上。但是,要想破除论文导向*的弊端,就需要用更好的机制来取代它。如果找不到更好的机制,我们就很难避免论文导向的管理方法。这就同高考一样,我们明知它有弊端,但是不得不继续使用。在计算机领域中,论文是评估工作成绩的一个重要方式,难点在于如何寻找建设性的方案去补充这一方式的不足。
值得注意的是,在同一个领域中,《目录》可以对科研评价起到很好的指导作用。但是,如果在不同领域之间比较,它的参考价值就会降低。
把填补国内薄弱环节作为科研评估的一个重要因素
除了基于论文的科研评价模式之外,还有多种其他方式可以进行科研评估。比如,依靠权威人士评估、项目鉴定会、国家需要和市场效果的检验等等。本文的分析结果主要有两方面,一方面是论文数量大幅增长,另一方面是各学科发展不平衡。这两个结果大体上都是在《目录》的推动下产生的。
在进行了论文分类之后,国内大量科研力量涌入了CCF A类期刊和会议中,以及国内基础较好或者论文发表相对容易的期刊和会议上。论文的成功发表又反过来使相关领域的学者得到更多的经费,从而能够发表更多的论文。由此造成部分领域的期刊和会议里中国论文激增,而大部分其他领域的中国论文依然稀少的情况。
由此造成的结果是学科发展严重不平衡。在本次统计中,有1/10左右的ACM会议,中国论文占比超过10%;而接近1/3的会议中,中国论文占比在1%以下;接近一半的会议,中国论文的占比在1%~5%之间。见图10。
学科发展不平衡是目前我国计算机科学面临的一个严重问题。
在集成电路的设计中,电路的速度取决于时间最长的那条路径,其他路径无论怎样优化都不能提高电路的整体速度。同样,从计算机科学发展的全局来看,需要各个学科均衡发展,否则,某些薄弱学科就可能影响整体效果的发挥。
要弥补这一缺陷,并不需要放弃《目录》。《目录》本身相当于我们对计算机科学全局状况的一种认知,我们应该完善和补充这种认知,而不是抛弃这种认知。
建议把弥补国内薄弱环节作为科研考核的一项重要因素,鼓励科研人员将论文投到国内论文发表较少的会议和杂志上。在科研评估时,把论文发表量同弥补国内薄弱环节两个因素结合考虑。
此外,基础性学科的研究难度较高,研发周期较长,影响长远,建议采用特殊的鼓励措施。不同的学科可以采用不同的论文发表量作为评估标准。
重视有影响的基础性研究项目
许多学者都明确指出,论文不是科研的最终目的。科研人员和科研管理机构都应该重视有长远影响的科研课题和科研产品,论文只是研发工作的副产品。重要的科研成果可以通过论文表现出来,也可以不通过论文表现出来,比如发明一个鼠标。
在基础性研究中,笔者认为对软件工具的开发需要给予特别的重视。
整个工业可以划分成重工业和轻工业。重工业是机器制造业,是支持轻工业发展的基础性工业。建国以后的几十年,中国重点发展重工业,虽然那时人民的生活水平比较低,但是为近几十年的经济起飞奠定了基础。
软件工具是用于软件开发和硬件设计的软件,相当于计算机行业的“重工业”。长期以来,我国发展比较快的是应用性软件、嵌入式系统和集成电路芯片。这些领域相当于计算机行业的“轻工业”。能够担当起计算机“重工业”的还有CPU、操作系统、编译器和理论计算机科学等领域,这些领域相对而言得到了一定的重视。但是在软件工具方面,除了管理系统软件的开发工具之外,其他方面的受重视程度还相当不够。
最难开发的软件工具可以分成两大类,一类是需要雄厚理论基础的软件工具,另一类是跨领域的软件工具。前一类的例子有各种自动的和半自动的定理证明工具以及领域专用语言等等。后一类的例子有用于集成电路设计的几十种EDA工具,用于机械设计、发动机设计、新医药研制的各种软件工具等等。这些工具的开发者既要具备高水平的软件开发能力,同时又必须成为相关行业的专家。为此,需要十几年甚至几十年的积累。这些工具也凝聚了各个专业领域的核心技术。
例如,Isabelle定理证明器在1989年之前就开始研发,至今已超过25年。2009年,澳大利亚ICTRC用这个定理证明器证明了一个嵌入式操作系统核心seL4的正确性,并且挖掘出C代码中150个错误。同步语言Esterel自1983年开始研发,至今32年,目前该语言发展成为一个商业化的嵌入式系统建模工具Scade,全套软件售价百万美元以上。
在软件工具以及其他一些基础性研发工作方面,虽然中国已经有了一些具有影响力的开发工作,但同国外还存在巨大差距。这种差距很难使用类似论文数量这种简单方式进行衡量,也难以使用类似《目录》的方式去激励。
计算机发展的机遇
通常认为,1946年完成的ENIAC是第一台计算机,但是第一台能够用存储器保存并运行程序的计算机是1950年完成的UNIVAC 1101或
ERA
1101[10]。1952年,华罗庚呼吁国内开展计算机研究;1960年,夏培肃先生带领的团队研制出中国第一台通用计算机。从当时的情况看,中国计算机同国外的差距似乎只有10年左右。自那时以来,中国一直在努力缩短同国外的差距。半个世纪过去了,中国计算机的总体水平同国外的差距至少还有10年以上。
为什么这个差距始终无法缩短呢?一个原因是,计算机的发展不是单一学科的问题,它同一个国家的科研和工业的整体水平密切相关。从理论基础、软硬件技术、计算机应用,一直到材料科学和机械工业,方方面面都影响着计算机的发展。中国计算机事业还有很多薄弱环节:绝大部分有影响力的计算机理论模型(除了区段演算等少数研究以外)都不是国内提出的,有影响力的程序语言和定理证明工具也不是国内发明的,大部分体系结构创新并非来自中国,价值较高的系统软件和工具软件基本上都是国外开发的,中国还远未掌握芯片的制造技术等。要解决这些问题,既需要让计算机的各个分支都能够全面发展起来,也要让计算机专业同其他学科有更紧密的交叉互动。
另一方面,我们还需要反思一下“追赶”导向的科研模式。“追赶”一词同模仿紧密相关。在很多行业中(也包括计算机自身的一些领域),人们可以做到先模仿后超越,但是对于计算机核心技术,这一策略常常是失败的。计算机的发展历史表明,成功的策略往往是先创新后超越。微软并没有模仿IBM操作系统,英特尔也没有模仿IBM计算机,但是前者都超越了后者。在计算机领域中,关键是要让有重大前景的小技术获得发展机会。这种机会可能像早期英特尔、微软那样,找到一个能够让他们发展壮大的市场;也可能像谷歌、也可能像阿里巴巴,找到一个有眼光的投资人。
“追赶”是一种向后看的思维模式,它所看到的是过去的成功;“创新”是一种向前看的思维模式,它看到的是未来有前景的技术。过去是很清晰的,未来是不清晰的。在计算机历史上不断地出现各种机遇,大部分人都无法抓住这些机遇,因为看不清未来。IBM如果能看清个人计算机的未来,绝不会把机会留给英特尔和微软。
英特尔和微软的时代已经过去,但是计算机的发展历程中还会不断地涌现新的机遇。怎样识别和抓住机遇,是我们需要认真对待的问题。■
致谢:
感谢《中国计算机学会通讯》专栏编委包云岗的热情邀请和鼓励,本文最终写成。感谢吕延田先生为本文的数据采集提供了重要的帮助。感谢北京京航计算通讯研究所领导和同事对我工作的支持。感谢人社部组织的海南专家行活动,通过这些专家,了解到各行业对工具性软件的迫切需求。尤其感谢同屈凌波教授和李雪琳老师的有益讨论。感谢李国杰院士对我研究工作的重视。
脚注:
1 International Conference on Functional
Programming, 函数编程会议。
2 New Security Paradigms Workshop。
3 International Conference on Pattern
Recognition。
4 Principles of
Programming Languages,程序语言理论会议。
5 International Conference on Architectural
Support for Programming Languages and Operating Systems,对编程语言和操作系统得体系结构支持国际会议。
6 Conference on Principles of DB
Systems,数据库系统理论会议。
7 ACM SIGPLAN Symposium on Partial Evaluation
and Semantics Based Programming Manipulation。
8 ACM SIGACCESS Conference on Computers and
Accessibility。
9 Microarchitecture。
10 ACM Symposium on Parallelism in Algorithms
and Architectures。
11 ACM Symposium on Principles of Distributed
Computing。
12 ACM Symposium on Theory of
Computing。
13 the International Conference on
Hardware-Software Co-design and System Synthesis,国际软硬件协同设计综合会议
14 International Conference on Compilers,
Architectures, and Synthesis for Embedded Systems。
15 Super Computing,高性能计算年会。
16 ACM International Conference on Information
and Knowledge Management。
17 International Conference on Research on
Development in Information Retrieval。
18 Knowledge Discovery and Data
Mining。
19 Selected Areas in Cryptography。
20 Design, Automation & Test in Europe
Conference。
21 Design Automation Conference。
22 International Conference on Computer-Aided
Design。
23 International Symposium on Low Power
Electronics and Design。
24 ACM/SIGDA International Symposium on
Field-Programmable Gate Arrays。
25 International Symposium on Physical
Design。
26 Great Lakes Symposium on VLSI
Systems。
27 International Symposium on Computer
Architecture。
28 Parallel Architectures and Compilation
Techniques。
29 International Conference on
Supercomputing。
30 Aspect Oriented Software
Development。
31 Designing Interactive Systems。
32 International Symposium on Software Testing
and Analysis。
33 International Conference on Very Large Data
Bases。
34 ACM Conference on Human Factors in
Computing Systems。
35 ACM SIGMOD Conference on Management of
Data,数据管理国际会议。
36 ACM SIGGRAPH Annual Conference。
37 Virtual Reality Software &
Technology,虚拟现实软件与技术年会。
38 International Conference on Languages,
Compilers, Tools and Theory for Embedded Systems, 嵌入式系统语言和编译。
39 Conference on Object-Oriented Programming
Systems, Languages, and Applications。
40 Conference on Programming Language Design
and Implementation,程序语言设计与实现会议。
41 Code Generation and
Optimization。
42 Autonomous Agents and Multi-Agent
Systems。
43 ACM Symposium on Access Control Models and
Technologies。
44 International World Wide Web
Conferences。
45ACM Symposium on Access Control Models and
Technologies。
46ACM Symposium on Operating Systems
Principles。
47ACM-SIAM Symposium on Discrete
Algorithms。
48ACM Conference on Computer and
Communications Security。
作者:
陈 钢
CCF会员。北京京航计算通讯研究所国家千人计划专家。主要研究方向为高阶定理证明器、程序语言、类型理论、静态分析、硬件形式化验证、PLC程序测试以及函数式硬件语言等。
参考文献:
陈钢. 从ACM会议论文数量看差距.中国计算机学会通讯,
2006,2(5).
黄铁军.我国计算机学科国际期刊论文状况. 中国计算机学会通讯, 2015,
11(8).
梅宏.中国计算机学会发布《国际学术会议和期刊目录》得失谈. 中国计算机学会通讯,
2015,11(5).
张晓东.发表论文只是研究的一种形式而不是目的. 中国计算机学会通讯,
2015,11(7).
包云岗. CCF《国际学术会议和期刊目录》得大于失.中国计算机学会通讯, 2015,
11(8).
陈盈. 为CCF《国际学术会议和期刊目录》点赞, 中国计算机学会通讯, 2015,
11(8).
李国杰. 科技评价漫谈, 中国计算机学会通讯. 2014,
10(11).
韩京洋, 陆嘉恒, 杜小勇. 图灵奖得主CCF论文发表情况分析.中国计算机学会通讯, 2015,11(4):
48~52.
Klein, Gerwin et al. seL4: Formal verification of an
OS kernel, 22nd ACM Symposium on Operating System Principles, Big Sky, Montana,
US.
[10]
http://www.computerhope.com/issues/ch000984.htm.