Neuralnim mrežama do mašina koje će se samostalno kodirati
Nedavno je počelo da se priča o novim alatima koji detektuju sličnosti između programa, te programerima pomažu da brže kreiraju efikasniji softver.
Programiranje nikada nije bilo lako, pa su prvi programeri kod ispisivali rukom, da bi ga tek kasnije otpremali u računare. Danas je malo lakše, budući da mnogi alati automatizuju najveći deo posla, te lociraju greške i testiraju kod pre nego što se primeni. Ipak, nije se mnogo promenilo, pa i najsitnija greška može da ugrozi čitav proces. Što su sistemi kompleksniji, to je složeniji i kod, pa je samim tim teže i pronalaženje grešaka.
Mašine koje same kodiraju?
Sve je veći broj onih koji veruju u mašine koje bi se samostalno kodirale, a automatizacija procesa eksperte interesuje već neko vreme. Tako Microsoft nudi bazično generisanje koda u okviru najviše korišćenih softverskih alata, Facebook je napravio sistem po imenu Aroma koji automatski generiše jednostavnije programe, dok je DeepMind razvio neuralnu mrežu koja nudi verzije jednostavnih algoritama koje su efikasnije od onih koje razvija ljudska ruka.
Eksperti su nedavno razvili i Machine Inferred Code Similarity, ili MISIM, koji može da protumači deo koda, slično kao što natural-language processing (NLP) sistemi mogu da protumače delove teksta ispisanog na engleskom jeziku. MISIM potom može da predloži i druge načine na koje bi kod mogao da se ispiše, te ponudi ispravke koje ubrzavaju kodiranje i čine ga efikasnijim. Nova alatka tako „razume“ čemu služi deo koda koji tumači i zahvaljujući tome identifikuje slične programe koji funkcionišu na isti način. To u teoriji znači da su mašine na putu da samostalno kodiraju sopstveni softver, a uz minimalno učešće ljudskih eksperata.
MISIM u rekordnom roku može da jedan kod uporedi sa milionima drugih programa, što je veliki korak napred, te možda i nismo toliko daleko od mašina koje bi mogle da samostalno rastu i evoluiraju, nezavisne od ljudske pomoći.
Izvor: MIT