代碼搜索技術(shù)的研究和實(shí)踐_第1頁(yè)
代碼搜索技術(shù)的研究和實(shí)踐_第2頁(yè)
代碼搜索技術(shù)的研究和實(shí)踐_第3頁(yè)
代碼搜索技術(shù)的研究和實(shí)踐_第4頁(yè)
代碼搜索技術(shù)的研究和實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

代碼搜索技術(shù)的研究和實(shí)踐Programming

ishard…?

Programming

is

largelyamanualeffort,

which

is

tediousandtime

consuming.?

Developersoftenwonderwhatcodetowriteinorder

to

complete

aprogramming

task?

Unfamiliar

problems?

Unfamiliar

APIs?

…?

Inasurvey

conductedatMicrosoft,

67.6%respondents

mentionedthattheyencounteredproblemsinlearning

APIs.(M.P.

Robillard,“Whatmakes

APIshard

to

learn?Answersfrom

developers,”

IEEE

Softw.,

vol.

26,no.

6,

pp.27–34,

2009)?

Vision:Improving

Developer

ProductivitybyCode

SearchSearching

forAPIUsageQuestion:

how

to

reuse

an

API?Ourwork:

Recommending

sample

codeabout

theAPI

usage?

Extract

API

usage

informationfromasoftware

repository?

SupportC/C++/C#/Java/JavaScriptlanguages.?

Supportnative

andthird-partyAPIs.?

Supporta

varietyofdatasources(including

GitHub,

MSDN,andMicrosoftinitiativeslike

Office

APIs,Azure

I

OT,UniversalWindowsPlatform,etc.)HongyuZhang,AnujJain,

Gaurav

Khandelwal,Chandrashekhar

Kaushik,ScottGeandWenxiang

Hu,Bing

Developer

Assistant

–ImprovingDeveloperProductivity

by

RecommendingSampleCode,To

appear:

FSE2016,

industrytrack,Seattle,

WA,USA,

November

2016.Static

analysis

ofaprogram:?

Parse

thesourcecode

andheaderfiles

into

anAST?

Performs

anin-ordertraversal

oftheAST?

Process

eachnode

accordingto

itstype?

Challenges:?

Third-party

APIs?

Type

inference

for

weaklytypedlanguagesAnExampleofanASTExtractedAPIUsageData?

We

construct

alarge-scalecodebaseby

crawling

projectsfromMSDN

andGitHub:

65,253projects,

437

GB,

3.5million

sourcecodefiles.?

Intotal,78

million

codesnippetsare

obtained.?

TheAPI

usage

dataandsamplecodeare

stored

inandmanagedbyMicrosoftAzure

Table.Thestatistics

oftheobtainedAPI

usagedataBingDeveloper

Assistant(BDA)http://aka.ms/devassistant?

Client

side:anextension

ofMicrosoftVisualStudio.?

Serverside:MicrosoftAzureservers

locatedaroundtheworld.?

TheAPIsprovidedbyIntelliSense

ofVS

triggerthebackend

BDA

service.?

Thereturnedsample

codeisdisplayedwithinVisualStudio.Technology

Transfer?

Transferred

to

Bing

DeveloperAssistant

(BDA)

in2015.?

StatusUpdates(as

ofJuly2016):?Receivedmore

than450Kdownloads???~2.1

million

queriespermonthBuild2016

presenceNewrelease

ofBDAon

July13,2016

(withC/C++

support)Availableat:http://aka.ms/devassistantVisualStudioBlogVisualC++Team

BlogCollaborators:BingTech

SegmentHyderabadVisualStudioRedmondDX

Audience

Online

EnginesRedmondSearching

for

Reusable

CodeWe

proposeCodeHow,

a

methodfor

searching

reusable

codebased

onfree-formqueries?

Given

auserquery,

CodeHow

searchescodebasesand

returns

therelevant

codesnippetsthat

match

the

query.?

Consider

bothtext

similarity

andprogramsemantics

incode

retrievalHow

to

use

SqlConnection.OpenHow

to

use

SSL.acceptHow

to

compute

MD5

HashHow

to

convert

a

string

to

int…..Open

SourceProjectsLocal

Projects?

Build

thetoolontop

of

ElasticSearch

andMicrosoftAzureQuery?

Indexed~50K

C#/Java/C++/VBprojectscollectedfromGitHuband

CodeplexCodebaseCode

SnippetsFei

Lv,

Hongyu

Zhang,Jian-guang

Lou,

Shaowei

Wang,

Dongmei

Zhang,andJianjun

Zhao,

"CodeHow:

Effective

CodeSearch

basedonAPIUnderstandingand

Extended

Boolean

Model",inProc.ASE2015,

Lincoln,Nebraska,

Nov

2015.Natural

Language

Query-

Query

Formulation?

Text

SimilarityQuery?

For

retrieving

code

snippetsthat

match

the

queryinterms

oftext

similarity?

API

Query?

Obtainthetop

kAPIs

thatare

potentiallyrelevant

to

thequery?

For

retrieving

codesnippetsthatcontaintheAPIs?

Expanded

Query:

incorporate

both

APIsimilarity

and

text

similarityNatural

Language

Query-

Retrieval?

Retrieve

code

snippets

basedon

thesimilarity

betweentheexpandedquery

qexpand

andacodesnippet

d:Thesimilarity

value

iscomputedusingExtended

Boolean

model:Fei

Lv,

Hongyu

Zhang,

Jian-guang

Lou,

Shaowei

Wang,Dongmei

Zhang,

and

JianjunZhao,

“CodeHow:

Effective

CodeSearch

basedon

APIUnderstanding

and

Extended

BooleanModel”,

Proc.

ASE’15,Lincoln,

USA,

Nov

2015.SystemStructure.

ElasticSearch(1

masterand4workers).

Azure

platformNatural

LanguageQueryQueryExamples:Enter

yourqueryhereredbl

溫馨提示

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

評(píng)論

0/150

提交評(píng)論