Objavljeno: Uto, Ruj 7th, 2010

‘Smrzavanje’ računalnih programa moglo bi postati prošlost

Računalni znanstvenik Andrey Rybalchenko jedan je od najboljih 35 inovatora mlađih od 35 godina na svijetu, prema časopisu MIT Technology Review čija je prestižna “TR35″ lista za 2010. godinu objavljena u dvobroju za rujan/listopad.

Rybalchenko, profesor na Technische Universitaet Muenchen (TUM), dobio je to priznanje za svoj rad na softveru provjere. Od teorijskih iskoraka do praktičnih razvojnih alata, doprinosi ovoga 32-godišnjaka imaju potencijal da naprave softver koji će u 21. stoljeću raditi mnogo pouzdanije.

Kada se računalni znanstvenici slažu da je nešto nemoguće, što to znači u tehnički specifičnom smislu, kao strogi matematički dokaz. Dakle, kada se obećavajući novi pristup problemu koji je dugo smatran nemogućim dokaže teorijski – i tada se prikaže na praktičnom programu – to u sebi otkriva ne jedno nego dva velika dostignuća. A kad se ti uvidi i inovacije bave problemom koji potencijalno utječe više ili manje na sve i to svaki dan, onda je osoba koja je odgovorna za to učinila nešto doista izvanredno. To, u biti, opisuje posao za koji je prof Andrey Rybalchenko uočen i priznat.

Najpoznatiji oblik problema koji Rybalchenko nastoji riješiti, a s kojim ljudi susreću jednako često i kod kuće kao i u uredu, je da računani program ne reagira. Računalo još uvijek radi, program se nije srušio, ali je zamrznut usred nekih operacija bez da pruži razloge zašto se to dogodilo. Iako je računalo možda u mogućnosti obavljati neke druge funkcije, ne može učiniti ono što želite da učini. Svaki računalni korisnik vjerojatno ima neki svoj izbor riječi kojima opisuje iskustvo buljenja u beskrajno rotirajući pješčani sat koji se javlja uz ovu vrstu kvara, no tehnički izraz za to je kršenje životnosti (liveness violation). Program ne odgovori na zahtjev korisnika ili nekog drugog programa i ulazi smrznuto stanje, bez da prikaže poruku o pogrešci. Koliko god to bilo neugodno pojedinom korisniku kad se takav kvar pojavi kod rada na osobnom računalu, posljedice bi mogle biti i mnogo ozbiljnije. Danas većina osnovnih elemenata naše infrastrukture, od energetske mreže i komunikacija do zračnog i željezničkog prijevoza, od proizvodnje do zdravstva, ovisi o pouzdanosti programskih sustava. Isto vrijedi i za područja sigurnosti, nadzora i mjera u slučaju nesreća.

Iako je golem napredak postignut od 1960-ih godina u provjeri automatiziranog softvera – to jest, dokazujući da određene vrste propusta ne vrebaju unutar milijuna linija računalnog koda – kvarovi smrzavanja su ostali izvan tog dosega. Zapravo, od 1930-ih “svi su znali” da nemoguće opće rješenje za ono što je pionir računarstva Alan Turing nazvao problemom zaustavljanja. Andrej Rybalchenko riješio je ovaj zastoj u teoriji otkrićem “tranzicije invarijanti,” novim načelom za razumijevanje smrzavanja. U biti, on je sa suradnikom prof. Andreasom Podelskim (Albrecht-Ludwigs-Universitaet Freiburg) pronašao način da se smrzavanje, tj. problem životnosti obavljanja programa stavi u okvir pristupa podijeli-pa-vladaj. Kao i druge probleme u računarstvu i programskom inženjerstvu, rasuđivanje životnosti moglo se sada podijeliti na pod-zadatke. Tzv. aproksimacijske tehnike mogu se sada primijeniti na svaki pod-zadatak, a rezultati se mogu kombinirati kako bi potvrdili svojstva životnosti za softver.

Rybalchenko je pokazao praktičnu snagu tih uvida razvijanjem alata provjere koji je nazvao Terminator. Primijenjen na softver za drivere u Windowsima, Terminator je bio u mogućnosti pokazati hoće li rutine drivera – funkcije koje se izvršavaju kad računalo komunicira s pisačem ili bilo kojim drugim uređajem – uvijek reagirati u operacijskom sustavu kada se pozovu. Kroz suradnju s Byronom Cookom iz tvrtke Microsoft Research, Rybalchenkov inovativni pristup sada brzo prelazi put od istraživanja do industrijske demonstracije programskog alata, što ga uvjerava da će, prema njegovim riječima, “smrzavanje u rasprostranjenim programima vremenom izumrijeti.”

Izvor: Technische Universitaet Muenchen

Tražili ste na google-u:

  • smrzavanje (2)
  • smrzovanje (1)
  • zasto se kompjutor smrzava (1)

Napiši komentar

XHTML: Možete se koristiti HTML tagovima: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>