Národní úložiště šedé literatury Nalezeno 7 záznamů.  Hledání trvalo 0.01 vteřin. 
Truffle based .NET IL interpreter and compiler: run C# on Java Virtual Machine
Gocník, Jan ; Šindelář, Štěpán (vedoucí práce) ; Petříček, Tomáš (oponent)
Pro dosažení vysokého výkonu při spouštění dynamických programovacích jazyků byl tradičně vyžadován ručně napsaný Just-In-Time (JIT) kompilátor. Ta- kové kompilátory však přináší spoustu nevýhod, včetně bezpečnostních nedo- statků způsobených ručně implementovanými spekulativními optimalizacemi. Naše práce se zaměřuje na fakt, že nejmodernější projekty mohou být příliš kom- plikované pro studenty, akademiky a nadšence se zájmem o návrh programova- cích jazyků a jejich implementaci. Moderní projekt nazvaný " Truffle Language Implementation Framework" používá tzv. " částečné vyhodnocení" (partial eva- luation) pro převedení kódu napsaného jako interpreter na optimizující kompi- látor. Autoři tvrdí, že snížená náročnost implementace jazyků nabízená projek- tem Truffle umožní více jazykům využívat vysoce výkonné kompilace. Abychom toto tvrzení ověřili, implementujeme BACIL: prostředí pro spouštění programů na platformě .NET (CLI) založené na projektu Truffle. I když byl BACIL vytvořen v akademickém prostředí s jeho inherentně omezenými prostředky, ve výsledku dosahuje při plném výkonu méně než desetinásobného zpomalení oproti oficiál- nímu prostředí .NET. Výslednou implementaci jsme zveřejnili jako open-source a doufáme, že poslouží další propagaci experimentování s programovacími jazyky.
Podpora návrhových vzorů ve vývojových prostředích
Šindelář, Štěpán ; Zavoral, Filip (vedoucí práce) ; Stárka, Jakub (oponent)
Návrhový vzor je popis komunikujících objektů a tříd, které jsou přizpůsobeny tak, aby řešily obecný návrhový problém v konkrétním kontextu. Hlavním cílem návrhových vzorů je dosáhnout znovu použitelnosti a flexibility návrhu. Této flexibility je ovšem většinou dosaženo pomocí tvorby nových tříd. Členové vývojového týmu často nemají dost času pro tvorbu klasické textové dokumentace, a tedy vazba mezi třídami a návrhovým vzorem, který implementují, je ztracena. Navíc nesprávné pochopení podstaty návrhového vzoru může způsobit komunikační chyby mezi programátory nebo dokonce chyby v softwaru. V této práci je představena sada nástrojů nazvaná Patters4Net určená pro platformu .NET. Programátoři mohou za pomoci Patters4Net označit návrhové vzory ve svém kódu pomocí speciálních atributů. Tato dokumentace může být následně využita pro verifikaci správné implementace některých vzorů a ke generování interaktivních diagramů podobných UML třídním diagramům, které ale zohledňují vazbu mezi třídami a implementovanými vzory.
Implementing control flow resolution in dynamic language
Šindelář, Štěpán ; Zavoral, Filip (vedoucí práce) ; Ježek, Pavel (oponent)
S dynamickými programovacími jazyky je možné psát kód bez typové informace a typy proměnných se mohou měnit za běhu. Přestože se dynamické typování snadněji používá a je vhodné pro rychlé prototypování, dynamicky typovaný kód může být více náchylný k programátorským chybám a představuje nelehký úkol pro překladače nebo interpretry. Vývojáři často používají dokumentační komentáře pro explicitní uvedení typové informace, nicméně dostupné nástroje většinou nekontrolují shodu mezi komentáři a vlastním kódem. V této práci se zaměřujeme na jeden z nejpopulárnějších dynamických programovacích jazyků: PHP. V rámci této práce jsme vyvinuli framework pro statickou analýzu PHP kódu jako část projektu Phalanger -- překladače PHP do .NET. I když, tento framework podporuje jakýkoliv druh statické analýzy, implementovali jsme především typovou analýzu za účelem odhalení typových chyb a nekonzistence kódu s dokumentačními komentáři. S pomocí této analýzy jsme odhalili několik reálých chyb a nekonzistencí s dokumentací v kódu několika reálných PHP projektů s dobrým poměrem falešně pozitivních chyb. Powered by TCPDF (www.tcpdf.org)
ALTREP Data Representation in FastR
Marek, Pavel ; Šindelář, Štěpán (vedoucí práce) ; Horký, Vojtěch (oponent)
R je dynamický programovací jazyk, používaný zejména v oborech statistika a datová analýza, rozšiřitelný pomocí balíčků. GNU-R, což je standardní interpreter jazyka R, přidal ve verzi 3.5.0 nové nativní API (ALTREP) pro vývojáře balíčků. Cílem této práce je implementovat ALTREP API pro FastR, což je interpreter jazyka R postavený na GraalVM a Truffle, a prozkoumat možnosti optimalizací FastR v kontextu tohoto API. Motivací je zejména zvýšení počtu balíčků, které bude FastR schopné nainstalovat a spustit. 1
ALTREP Data Representation in FastR
Marek, Pavel ; Šindelář, Štěpán (vedoucí práce) ; Horký, Vojtěch (oponent)
R je dynamický programovací jazyk, používaný zejména v oborech statistika a datová analýza, rozšiřitelný pomocí balíčků. GNU-R, což je standardní interpreter jazyka R, přidal ve verzi 3.5.0 nové nativní API (ALTREP) pro vývojáře balíčků. Cílem této práce je implementovat ALTREP API pro FastR, což je interpreter jazyka R postavený na GraalVM a Truffle, a prozkoumat možnosti optimalizací FastR v kontextu tohoto API. Motivací je zejména zvýšení počtu balíčků, které bude FastR schopné nainstalovat a spustit. 1
Implementing control flow resolution in dynamic language
Šindelář, Štěpán ; Zavoral, Filip (vedoucí práce) ; Ježek, Pavel (oponent)
S dynamickými programovacími jazyky je možné psát kód bez typové informace a typy proměnných se mohou měnit za běhu. Přestože se dynamické typování snadněji používá a je vhodné pro rychlé prototypování, dynamicky typovaný kód může být více náchylný k programátorským chybám a představuje nelehký úkol pro překladače nebo interpretry. Vývojáři často používají dokumentační komentáře pro explicitní uvedení typové informace, nicméně dostupné nástroje většinou nekontrolují shodu mezi komentáři a vlastním kódem. V této práci se zaměřujeme na jeden z nejpopulárnějších dynamických programovacích jazyků: PHP. V rámci této práce jsme vyvinuli framework pro statickou analýzu PHP kódu jako část projektu Phalanger -- překladače PHP do .NET. I když, tento framework podporuje jakýkoliv druh statické analýzy, implementovali jsme především typovou analýzu za účelem odhalení typových chyb a nekonzistence kódu s dokumentačními komentáři. S pomocí této analýzy jsme odhalili několik reálých chyb a nekonzistencí s dokumentací v kódu několika reálných PHP projektů s dobrým poměrem falešně pozitivních chyb. Powered by TCPDF (www.tcpdf.org)
Podpora návrhových vzorů ve vývojových prostředích
Šindelář, Štěpán ; Zavoral, Filip (vedoucí práce) ; Stárka, Jakub (oponent)
Návrhový vzor je popis komunikujících objektů a tříd, které jsou přizpůsobeny tak, aby řešily obecný návrhový problém v konkrétním kontextu. Hlavním cílem návrhových vzorů je dosáhnout znovu použitelnosti a flexibility návrhu. Této flexibility je ovšem většinou dosaženo pomocí tvorby nových tříd. Členové vývojového týmu často nemají dost času pro tvorbu klasické textové dokumentace, a tedy vazba mezi třídami a návrhovým vzorem, který implementují, je ztracena. Navíc nesprávné pochopení podstaty návrhového vzoru může způsobit komunikační chyby mezi programátory nebo dokonce chyby v softwaru. V této práci je představena sada nástrojů nazvaná Patters4Net určená pro platformu .NET. Programátoři mohou za pomoci Patters4Net označit návrhové vzory ve svém kódu pomocí speciálních atributů. Tato dokumentace může být následně využita pro verifikaci správné implementace některých vzorů a ke generování interaktivních diagramů podobných UML třídním diagramům, které ale zohledňují vazbu mezi třídami a implementovanými vzory.

Chcete být upozorněni, pokud se objeví nové záznamy odpovídající tomuto dotazu?
Přihlásit se k odběru RSS.