S 6 Semantikkbasert kodesøk; EWST Превод

Върнете се сред кодовете, които са предназначени за програмиране на програмата, която се съхранява от магазина за лагрена от отваряне на kildekode. Tradisjonelle kodesøkemotorer som Googles kodesøk, Koders eller Krugle gir tilgang til repositorier images, men forenkler ikke programmererens jobb i å bruke koden. De tar nøkkelord и povratnik potensielt hundrevis av kandatstykker av kode. Programmereren må da gå gjennom hver av disse returnnerte filene. De må da se om koden can være relevant. Hvis det er, må de lese det i detalj for å avgjøre om det er akkurat det de vil ha eller i det minste i nærheten av det. До момента, в който да се кодирате за for oppfylle deres spesielle krav до навигация, формиране, feilhåndtering и т.н.

превод

Vi føler at en bedre tilnærming ville være å få programme å gi mer presis informasjon om hva de vil ha, og så få systemet til å gjøre det grunne arbeidet med å sjekke de returnnerte kodefragmentene, å endre koden å gjkermere og, ø programmeren om forvandle koden до å passe inn i målrammen. Vår søkendefront е програмиран за дефиниране на семантични показатели до ønsker. Това включва нова форма под формата на подпис, подпис, тестов файл и изпълнител (чрез JML) за функционални спецификации, набор от натискания на клавиши (вижте помощта на модели, зададени от Java) и набор от инструкции (пълно изпълнение). I tillegg kan brukeren gi en contexte inn i hvilken koden vil pass. Frontenden forsøker å gjøre disse spesifikasjonene enkle å gi.

Systemet fungerer ved å bruke søkeordene for å få tilgang til en av de tilgjengelige kodesøkemotorer (eller en locales kode søkemotor for kode tilgjengelig på Brown), за å få candidatfiler. Hver klasse eller metode и disse filene (avhengig av hva brukeren søker etter) regnes som en potensiell løsning. Разгледайте най-добрите трансформатори за преотстъпване от hjelp av и уреждане на rundt 30 transformasjoner и други forsøk по å kartlegge код до новата програма за програмиране. Transformasjonene spenner fra det enkle (for eksempel å endre navnet på methoden for å matche signaturen) до комплекта (for eksempel å finne en linje and methoden som beregner en verdi av den returnnerte typen и deretter gjøre en bakoverskive til de eneste fri variane er verdier параметър). Всички най-важни трансформатори за подписване на мач, по-малко от тестера за отдалечаване от hpg за десктоп тестени, sikkerhetsbegrensninger и JML-реглер. Ytterligere transformasjoner can påføres basert på Resultene fra test tilfellene. Løsningene som pastrer testene blir formatert i henhold til brukerens spesifiserte stil, sortert etter størrelse, kompleksitet eller ytelse i testene, и presenteres tilbake til brukeren.

Системата може да бъде пусната (от време на време - ной гангер не е сервиран) на http://conifer.cs.brown.edu/s6 .

В случая на арфата S6 можете да използвате системното ръководство за по-фини brukergrensesnitt gitt en skiis av brukergrensesnitte og за å finne test tilfeller gitt kode som må testes.

папир

Semantikkbasert kodesøk, ICSE 2009, май 2009.

Hunter: Next Generator Code Gjenbruk за Java от Yuepeng Want, Yu Feng, Ruben Martins, Arati Kaushik, Isil DIllig og Steven Reiss, FSE 2016.

Søker brukergrensesnittet от Steven Reiss, Yun Miao и Qi Xin, Automated Software Engineering Journal, 2017.