2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、程序設(shè)計是軟件工程的基礎(chǔ),離不開程序設(shè)計語言的支持。受薩丕爾-沃爾夫假說(自然語言影響人的思維)的影響,計算機領(lǐng)域眾多科學家認為“程序設(shè)計語言影響開發(fā)者的思維”。在最近幾十年中,大量程序設(shè)計語言被設(shè)計出來,試圖用它們內(nèi)在的設(shè)計哲學影響開發(fā)者。然而,不同于自然語言,程序設(shè)計語言是人設(shè)計的,受語言設(shè)計者所關(guān)注的審美藝術(shù)和直覺驅(qū)動,富有藝術(shù)感,充滿偏好,他們可能無法完全了解開發(fā)者的真實想法,這使得大部分程序設(shè)計語言并沒有得到廣泛的使用。究其原

2、因,“程序設(shè)計語言會影響開發(fā)者的行為”這種單向影響往往會帶來認知的片面性。本文認為:開發(fā)者的行為應(yīng)該受到程序設(shè)計語言(能做什么)的影響;開發(fā)者的思維(想做什么)也應(yīng)該影響程序設(shè)計語言的設(shè)計。本文將構(gòu)建雙向關(guān)系,通過用戶的反饋影響程序設(shè)計語言的設(shè)計。
  開發(fā)者的思維反映在其具體行為之中,即如何使用程序設(shè)計語言完成程序設(shè)計任務(wù)。當下隨著眾多軟件資源(特別是開源軟件庫)對研究者開放,使得通過經(jīng)驗研究的方式理解程序設(shè)計語言在實際開發(fā)中的

3、運用變得可能。本文分別通過定量和定性的方式對程序設(shè)計語言的實際使用情況進行分析,并利用從統(tǒng)計結(jié)果中抽取出來的“思維”反向影響程序設(shè)計語言,即以數(shù)據(jù)驅(qū)動的方法優(yōu)化程序設(shè)計語言的設(shè)計。具體來說,在使用單種程序設(shè)計語言的場景下,本文從詞法、語法和API(Application ProgrammingInterface)三個層次對程序設(shè)計語言進行分析;在使用多種程序設(shè)計語言的場景下,本文探討語言之間的協(xié)同演化。論文的主要成果包含如下幾個方面:<

4、br>  (1)研究了程序設(shè)計語言的詞法可識別性,發(fā)現(xiàn)“代碼單元在詞法上是可識別的”。定義并形式化最小集問題,嚴格地檢驗了有關(guān)Wheat-Chaff的假設(shè);證明了最小集問題是NP難問題,并提供了以貪心算法為基礎(chǔ)的解決方案;通過分析大規(guī)模Java開源程序,證實了源代碼包含很多Chaff,海量代碼中的任何一個代碼單元可以通過規(guī)模極小的特有子集進行唯一標示。在此基礎(chǔ)上,進一步探討了詞法可識別性在相關(guān)領(lǐng)域的應(yīng)用,包括代碼搜索、代碼概述和基于關(guān)鍵

5、字的程序設(shè)計等。
  (2)研究了在實際開發(fā)中程序設(shè)計語言語法規(guī)則的使用情況。通過對超過5,000個當下流行的Java開源程序進行詳細的經(jīng)驗研究,著重探討了如下問題:Java語法規(guī)則如何在實踐中得到使用;語法規(guī)則的使用如何隨著時間變化;語法規(guī)則的使用如何依賴于上下文環(huán)境。實驗結(jié)果顯示,語法規(guī)則的使用遵循齊普夫定律;它們的使呈現(xiàn)出非平凡的“依賴性”;部分語法規(guī)則逐步被開發(fā)者遺棄,新引入語法規(guī)則會影響現(xiàn)有語法規(guī)則的使用,但并不是所有新

6、引入語法規(guī)則均受到開發(fā)者青睞;基于經(jīng)驗研究的數(shù)據(jù)與結(jié)論,探討了相關(guān)應(yīng)用場景,包括語法規(guī)則的優(yōu)化與限制使用、語法糖的識別和基于語法規(guī)則的代碼補全等。
  (3)研究了在實際開發(fā)中程序設(shè)計語言API的使用情況。定義了一系列系統(tǒng)化的API使用度量準則,包括頻繁度、流行度和覆蓋率。通過對開源程序的經(jīng)驗研究,分析了核心API庫的使用情況,發(fā)現(xiàn)大量API實體(包括包、類、方法和屬性)并沒有得到充分使用;分析了第三方API庫的使用,發(fā)現(xiàn)它們的使

7、用符合冪次定律。與此同時,深入討論了棄用API的使用情況、精簡運行環(huán)境的利用率和第三方API庫多版本使用等三個重要問題?;诮?jīng)驗研究的數(shù)據(jù),探討了相關(guān)應(yīng)用場景,包括API庫的優(yōu)化、API庫使用約束、精簡運行環(huán)境的構(gòu)建、API庫及版本推薦和API教育等。
  (4)研究了多程序設(shè)計語言環(huán)境下語言協(xié)作的使用情況。以數(shù)據(jù)庫應(yīng)用系統(tǒng)為例,著重分析了數(shù)據(jù)庫schema演化對應(yīng)用程序端代碼的影響。通過對當下流行的10個數(shù)據(jù)庫應(yīng)用系統(tǒng)進行的大規(guī)

8、模經(jīng)驗研究,重點探討如下問題:schema的演化是否頻繁劇烈;schema是如何進行演化的;schema演化是如何影響代碼演化的?;诮?jīng)驗研究的數(shù)據(jù),提供了一些指導性意見,幫助開發(fā)一款自動化數(shù)據(jù)庫應(yīng)用系統(tǒng)演化工具,協(xié)助schema與代碼協(xié)同演化。
  本論文的工作,即分析程序設(shè)計語言的使用情況,挖掘語言的實踐特性,能積極影響程序設(shè)計語言的設(shè)計與優(yōu)化,探索代碼搜索和補全技術(shù)等應(yīng)用領(lǐng)域的新技術(shù),啟發(fā)新型程序設(shè)計模型,以達到提升程序設(shè)計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論