Seminarium: Semantyki, systemy typów i analizy statyczne dla Javascriptu

Język wykładowy Polski
Semestr Nieokreślony
Status W ofercie
Opiekun Marek Materzok
Liczba godzin 30 (sem.)
Rodzaj Seminarium
ECTS 3
Polecany dla I roku Nie
Egzamin Nie
Tagi JP (języki programowania i logika)

Opis przedmiotu:

Javascript jest obecnie wyjątkowo popularnym językiem programowania. Jest wykorzystywany w bardzo wielu zastosowaniach: oprócz skryptów na stronach internetowych i aplikacji webowych stosuje się go do m.in. programowania usług sieciowych, zarządzania bazami danych, programowania aplikacji mobilnych, systemów wbudowanych. Coraz bardziej istotna staje się kwestia poprawności programów napisanych w Javascripcie, ponieważ powierza się im coraz częściej informacje poufne - np. bankowe, urzędowe, medyczne. Niestety, Javascript ze względu na swą naturę (brak typów, skomplikowana semantyka) sprzyja powstawaniu błędnych programów. Celem seminarium jest zapoznanie się z formalnymi semantykami, systemami typów i analizami statycznymi opracowanymi dla języka Javascript. Sugerowane tematy do omówienia: * [JSCert](http://www.jscert.org/) * [KJS](http://fsl.cs.illinois.edu/index.php/KJS:_A_Complete_Formal_Semantics_of_JavaScript) * [S5](http://www.jswebtools.org/s5) i [LambdaJS](http://www.jswebtools.org/lambdajs) * [ADsafety](http://www.jswebtools.org/adsafety/), [TeJaS](http://www.jswebtools.org/tejas/) * [TAJS](http://www.brics.dk/TAJS/) * [SAFE](https://github.com/sukyoung/safe) * [Flow](http://flowtype.org) * [PureScript](http://www.purescript.org/)