40多年的軟體工程研究是失敗的 - iansommerville

banq發表於2022-04-11

作者背景從1981年左右到2014年退休,我一直從事軟體工程或相關學科的研究。從1984年到2014年,我的所有研究都涉及與英國和整個歐洲的工業界合作。我有幸與來自不同行業和國家的許多人一起工作,我從這些經歷中學到了很多東西。

這篇文章反映了我在英國和歐洲的研究經驗。我認為,其他國家的情況在細節上有所不同,但都存在著相同的基本問題:

這篇文章是由我寫的一條推文引起的,這條推文是對提交給2022年ICSE會議(軟體工程研究的旗艦會議)的論文的研究領域的分析。這些導致我對軟體工程研究進行了普遍的反思。我很遺憾地說,我認為我們這個群體在40多年的研究中,並沒有真正交出多少實質性的東西。

從根本上說,我認為有三個相關的根源造成了這種情況。
  1. 短期主義。
  2. 還原主義思維
  3. 競爭而非合作

1. 短期主義
短期主義現在在軟體工程(乃至所有電腦科學)研究中普遍存在。這在一定程度上是20世紀70年代開始的 "不發表就滅亡 "的文化的結果,這種文化現在在大多數國家都很流行。
研究人員必須不斷地寫論文以保持可信度,怎麼能責怪他們呢?
他們專注於短期專案,發表中期成果,不願意投資於生產穩健和可重複使用的示範系統,並傾向於跳上某一特定時間段的時尚浪潮(例如80年代的形式化方法,現在的機器學習)。

這種短期行為的直接後果是:許多軟體工程研究都缺乏雄心。
注重成功指標的研究人員不願意去處理長期的困難專案。在英國,在21世紀初,有一項建議是確定 "計算科學的大挑戰"。提出了一些有趣的專案,如驗證性編譯器,但沒有一個實現。

許多資助機構(如歐盟委員會)的政策加劇了短期行為,即學術研究應該與工業界合作。可以理解的是,工業界不認為自己的角色是一個長期的研究資助者,而是專注於短期或最多是中期的研究。不幸的是,由於好的和壞的原因,這種研究對許多公司來說都是不太優先的。我30多年來的經驗是,它往往資金不足,在短時間內被取消,而且人員不足。

2. 還原論
在還原論的世界裡,小規模、短期專案的工作可以是合理的(也許),可以說這些專案可以形成一些更大的系統的組成部分。
然而,現實情況是,還原主義的方法根本無法擴充套件到大規模、複雜的IT系統的建設。
我以前寫過這方面的文章,這裡就不多說了,簡單地說,還原論的方法依賴於系統各部分之間相對簡單和可理解的關係。大規模的軟體系統根本不是這樣的。

太多的研究人員仍然不明白這一點,他們認為我們只需要找到一些神奇的方法,軟體工程的問題就會得到解決。他們在解決研究 "問題 "時,根本不知道他們的工作可能會如何擴充套件。因此,就軟體工程實踐而言,他們所做的大部分工作實際上是無用的。

3. 競爭而非合作
這些問題的背後是人類的問題,即我們有一個支離破碎的社群,在許多情況下未能共同行動,對競爭而不是合作更感興趣。競爭環境的現實是,那些已經有充足資金的人處於獲得更多資金的最佳位置。新加入的人很難為創新的想法獲得資金,因此,如果他們要取得任何進展,他們必須提出已經建立的增量研究。他們必須依靠富人桌上的麵包屑生活。

作為一個社群,高階成員(這裡麵包括我自己)未能創造一個包容性的環境,使來自傳統精英之外的新想法得到支援。在與政策制定者和資助機構打交道時,我們沒有共同行動,除了極少數例外,我們沒有大聲反對阻礙我們領域發展的徒勞的短期行為。


未來有希望嗎?坦率地說,我並不樂觀,因為變革將依賴於已經擁有終身職位的資深成員的利他行為,放棄短期研究,從競爭中退縮,讓年輕的研究人員蓬勃發展。個人的努力是很重要的(我想我在職業生涯的最後幾年裡已經努力過了),但實際上,只有當社群的大多數人都希望發生這種變化時,才有可能實現。

 

相關文章