Abstract-Utvecklare söker ofta efter relevanta kodexempel på webben för sina programmeringsuppgifter. Tyvärr står de inför två stora problem. För det första är sökningen nedsatt på grund av ett lexikalt gap mellan deras fråga (task beskrivning) och den information som är förknippad med lösningen. För det andra kanske den återvunna lösningen inte är heltäckande, dvs. kodsegmentet kan missa en kortfattad förklaring. Dessa problem gör att utvecklarna bläddrar dussintals dokument för att syntetisera en lämplig lösning. För att ta itu med dessa två problem, föreslår vi CROKAGE (Crowd Knowledge Svarsgenerator), ett verktyg som tar beskrivningen av en programmeringsuppgift (förfrågan) och ger en omfattande lösning för uppgiften. Våra lösningar innehåller inte bara relevanta kodexempel utan också deras kortfattade förklaringar. Vårt föreslagna tillvägagångssätt utökar uppgiftsbeskrivningen med relevanta API-klasser från Stack Overflow Q&A-gängor och lindrar sedan de lexikala gapproblemen. Dessutom utför vi bearbetning av naturligt språk på de bästa kvalitetssvaren och returnerar sedan sådana programmeringslösningar som innehåller kodexempel och kodförklaringar till skillnad från tidigare studier. Vi utvärderar vårt tillvägagångssätt med 97 programmeringsfrågor, varav 50% användes för utbildning och 50% användes för testning, och visar att det överträffar sex baslinjer inklusive state-of-art med en statistiskt signifikant marginal. Dessutom bekräftar vår utvärdering med 29 utvecklare som använder 24 uppgifter (kvitton) CROKAGEs överlägsenhet över det toppmoderna verktyget när det gäller relevansen av de föreslagna kodexempelen, nyttan av kodförklaringarna och den övergripande lösningens kvalitet (kod + förklaring).
CROKAGE av Silva et al. REF tar beskrivningen av en programmeringsuppgift och ger en heltäckande lösning för denna uppgift genom att söka igenom flera trådar.
Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge
{'venue': '2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)', 'journal': '2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)', 'mag_field_of_study': ['Computer Science']}