IBM CodeNet ji bo pergalên fêrbûna makîneyê ku kodê wergerîne û verast dike vedike

IBM însiyatîfa xwe ya CodeNet eşkere kir, ku armanc dike ku lêkolîneran bi databasek peyda bike ku dihêle wan bi karanîna teknîkên fêrbûna makîneyê biceribîne da ku wergêrên zimanê bernamekirinê, çêkerên kod û analîzeran biafirîne. CodeNet berhevokek ji 14 mîlyon nimûneyên kodê vedihewîne ku 4053 pirsgirêkên bernamekirinê yên hevpar çareser dike. Bi tevahî, berhevok bi qasî 500 mîlyon xetên kodê vedihewîne û 55 zimanên bernamekirinê vedihewîne, hem zimanên nûjen ên wekî C++, Java, Python û Go, û zimanên mîras di nav de COBOL, Pascal û FORTRAN. Pêşveçûnên projeyê di bin lîsansa Apache 2.0 de têne belav kirin, û daneyên daneyan têne plan kirin ku di forma qada gelemperî de bêne belav kirin.

Nimûne têne şîrove kirin û di zimanên bernamesaziyê yên cihêreng de algorîtmayên yekane bicîh dikin. Tê payîn ku seta pêşniyarkirî dê alîkariya perwerdekirina pergalên fêrbûna makîneyê bike û nûbûnên di warê werger û parkirina koda makîneyê de pêşve bibe, mîna ku çawa databasa wêneya şîrovekirî ya ImageNet alîkariya pêşkeftina pergalên nasîna nimûne û dîtina komputerê kir. Pêşbaziyên cûrbecûr yên bernamekirinê wekî yek ji çavkaniyên sereke yên damezrandina berhevokê têne destnîşan kirin.

Berevajî wergêrên kevneşopî, yên ku li ser bingeha qaîdeyên veguherînê têne bicîh kirin, pergalên fêrbûna makîneyê dikarin çarçoweya karanîna kodê bigirin û hesab bikin. Dema ku ji zimanek bernamesaziyê ji zimanek din veguherîne, rewş bi qasî ku ji zimanek mirovî ji zimanek din re tê wergerandin girîng e. Ev nebûna berçavgirtina çarçoweyê ew e ku rê li ber veguhertina kodê ji zimanên mîras ên wekî COBOL digire.

Hebûna danegehek mezin a pêkanînên algorîtmayê yên bi zimanên cihêreng dê bibe alîkar ku pergalên fêrbûna makîneya gerdûnî biafirînin ku, li şûna wergera rasterast di navbera zimanên taybetî de, nûneriyek razbertir a kodê, serbixwe ji zimanên bernamesaziyê yên taybetî, manipul bikin. Pergalek wusa dikare wekî wergêrek were bikar anîn, koda ku hatî veguheztin bi yek ji wan zimanên piştgirî werdigerîne nûnertiya xweya razber a hundurîn, ku ji wê derê kod dikare paşê bi gelek zimanan were çêkirin.

Pergal jî dê bikaribe veguherînên dualî pêk bîne. Mînakî, bank û saziyên hukûmetê berdewam dikin ku projeyên bi zimanê COBOL-ê kevnar bikar bînin. Wergêrek-based fêrbûna makîneyê dê bikaribe koda COBOL-ê veguhezîne nûnertiyek Java-yê, û heke hewce be, perçeya Java-yê dîsa vegerîne koda COBOL-ê.

Digel wergerandina di navbera zimanan de, deverên weha yên serîlêdana CodeNet-ê wekî afirandina pergalên lêgerîna koda aqilmend û otomatîkkirina tespîtkirina klone, û her weha pêşkeftina optimîzator û pergalên rastkirina koda otomatîkî têne destnîşan kirin. Bi taybetî, mînakên ku di CodeNet de têne pêşkêş kirin bi metadata ku encamên ceribandina performansê, mezinahiya bernamê ya encam, xerckirina bîranînê û rewşa diyar dikin, ku rê dide me ku koda rast ji kodê bi xeletî veqetînin (ji bo koda rast ji koda xelet cuda bikin, berhevok bi taybetî mînakên bi xeletî vedihewîne, ku rêjeya wan %29.5 e. Pergalek fêrbûna makîneyê dikare vê metadata bihesibîne da ku koda herî çêtirîn çêbike an jî paşveçûnên di koda analîzkirî de nas bike (pergal dikare fêm bike ku algorîtmaya di koda radestkirî de bi rengek çêtirîn nayê bicîh kirin an xeletiyan vedihewîne).

Source: opennet.ru

Add a comment