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/)