IBM mécht CodeNet op fir Maschinnléieresystemer déi Code iwwersetzen a verifizéieren

IBM huet seng CodeNet Initiativ enthüllt, déi zielt d'Fuerscher mat engem Datesaz ze bidden, deen hinnen erlaabt mat der Benotzung vu Maschinnléiertechniken ze experimentéieren fir Programméierungssprooch Iwwersetzer, Code Generatoren an Analysatoren ze kreéieren. CodeNet enthält eng Sammlung vu 14 Millioune Code Beispiller déi 4053 gemeinsame Programméierungsproblemer léisen. Am Ganzen enthält d'Sammlung ongeféier 500 Millioune Zeilen Code an deckt 55 Programméierungssproochen, souwuel modern Sprooche wéi C++, Java, Python a Go, an Legacy Sproochen dorënner COBOL, Pascal a FORTRAN. D'Entwécklunge vum Projet ginn ënner der Apache 2.0 Lizenz verdeelt, an d'Datesätz si geplangt a Form vum Public Domain ze verdeelen.

D'Beispiller sinn annotéiert an implementéieren identesch Algorithmen a verschiddene Programméierungssproochen. Et gëtt erwaart datt de proposéierte Set hëlleft Maschinn Léiersystemer ze trainéieren an Innovatiounen am Beräich vun der Iwwersetzung a Maschinncode Parsing z'entwéckelen, ähnlech wéi d'ImageNet annotéiert Bilddatebank d'Entwécklung vu Mustererkennung a Computervisiounssystemer gehollef huet. Verschidde programméiere Concoursen sinn als eng vun den Haaptquellen vun Kollektioun Formatioun zitéierten.

Am Géigesaz zu traditionellen Iwwersetzer, déi op Basis vun Iwwersetzungsregelen implementéiert ginn, kënnen Maschinnléieresystemer de Kontext vum Codenotzung erfaassen an berücksichtegen. Wann Dir vun enger Programméierungssprooch an eng aner konvertéiert, ass de Kontext grad esou wichteg wéi wann Dir vun enger mënschlecher Sprooch an eng aner iwwersetzt. Dëse Mangel u Kontext Iwwerleeung ass wat verhënnert datt Code aus Legacy Sprooche wéi COBOL ëmgewandelt gëtt.

Eng grouss Datebank vun Algorithmus-Implementatiounen a verschiddene Sproochen ze hunn hëlleft universell Maschinnléieresystemer ze kreéieren déi, amplaz vun enger direkter Iwwersetzung tëscht spezifesche Sproochen, eng méi abstrakt Duerstellung vum Code manipuléieren, onofhängeg vu spezifesche Programméierungssproochen. Sou e System kann als Iwwersetzer benotzt ginn, deen iwwerdroe Code an enger vun de ënnerstëtzte Sproochen an seng intern abstrakt Representatioun iwwersetzt, aus deem Code dann a verschidde Sprooche generéiert ka ginn.

De System wäert och fäeg sinn bidirektional Transformatiounen auszeféieren. Zum Beispill, Banken a Regierungsagenturen weider Projeten an der aler COBOL Sprooch ze benotzen. E Maschinnléiere-baséiert Iwwersetzer wäert fäeg sinn COBOL Code an eng Java Representatioun ëmzewandelen, an, wann néideg, d'Java Fragment zréck an de COBOL Code iwwersetzen.

Zousätzlech zu der Iwwersetzung tëscht Sproochen, sinn esou Beräicher vun der Applikatioun vum CodeNet wéi d'Schafe vu Smart Code Sichsystemer an d'Automatiséierung vun der Klonerkennung, souwéi d'Entwécklung vun Optimisateuren an automatesche Codekorrektursystemer ernimmt. Besonnesch d'Beispiller, déi am CodeNet presentéiert ginn, si mat Metadaten ausgestatt, déi d'Resultater vum Leeschtungstest beschreiwen, déi resultéierend Programmgréisst, Erënnerungsverbrauch a Staat, wat eis erlaabt de richtege Code vu Code mat Feeler z'ënnerscheeden (fir de richtege Code vum falschen Code z'ënnerscheeden, de Sammlung enthält speziell Beispiller mat Feeler, den Undeel vun deenen ass 29.5%). E Maschinnléieresystem kann dës Metadaten berücksichtegen fir den optimalste Code ze generéieren oder Regressiounen am analyséierten Code z'identifizéieren (de System kann verstoen datt den Algorithmus am proposéierte Code net optimal ëmgesat ass oder Feeler enthält).

Source: opennet.ru

Setzt e Commentaire