Show simple item record

Analyze Scala Code Using Graph Database

dc.contributor.advisorKřikava Filip
dc.contributor.authorOtakar Vinklář
dc.date.accessioned2020-06-25T22:53:58Z
dc.date.available2020-06-25T22:53:58Z
dc.date.issued2020-06-25
dc.identifierKOS-862366065305
dc.identifier.urihttp://hdl.handle.net/10467/88805
dc.description.abstractAby bylo možné vyvinout takový programovací jazyk, který budou lidé rádi využívat, je nutné znát, jak je tento jazyk používaný. V článku [KŘIKAVA, Filip; MILLER, Heather; VITEK, Jan. Scala implicits are everywhere: a large-scale study of the use of Scala implicits in the wild. Proceedings of the ACM on Programming Languages. 2019, vol. 3, no.OOPSLA, pp. 1-28.] Křikava a jeho kolegové provádí rozsáhlou studii použití implicitních konverzí a implicitních parametrů v jazyce Scala. Poslední část řešení této analýzy je ale těžkopádná, protože relační datový model není vhodný pro reprezentaci dat s velkým množstvím vzájemných vazeb. Tato práce se snaží zlepšit řešení této analytické části. Za úkol si dává především zjednodušit vyváření nových dotazů. Tyto problémy řeší za použití grafové databáze, která umožňuje ukládat data s velkým množstvím propojení. V této práci byla vybrána grafová databáze Neo4j s jejím dotazovacím jazykem Cypher. Tato práce ukazuje, že grafová databáze a její dotazovací jazyk nabízí vysokoúrovňové rozhraní pro statickou analýzu kódu.cze
dc.description.abstractFor a programming language to become as convenient as possible and to evolve it is necessary to understand how the language is used by the programmers. In paper [KŘIKAVA, Filip; MILLER, Heather; VITEK, Jan. Scala implicits are everywhere: a large-scale study of the use of Scala implicits in the wild. Proceedings of the ACM on Programming Languages. 2019, vol. 3, no.OOPSLA, pp. 1-28.] Krikava et al colleagues conduct large scale study on Implicits -- Scala programming language feature. The analysis part of the underlying solution proves to be cumbersome, as the relational data model is not suitable for highly connected data. This thesis follows the underlying implementation with the aim to improve the analysis part, in terms of flexibility to support the creation of new queries. This thesis confronts these challenges with the use of graph database, which supports storing data with high amount of relationships. Particularly Neo4j graph database implementation with its Cypher query language is chosen for this purpose. This thesis shows, that the graph database with its query language offers a high-level interface for static code analysis.eng
dc.publisherČeské vysoké učení technické v Praze. Vypočetní a informační centrum.cze
dc.publisherCzech Technical University in Prague. Computing and Information Centre.eng
dc.rightsA university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html.eng
dc.rightsVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html.cze
dc.subjectstatická analýza kóducze
dc.subjectScala Implicitscze
dc.subjectScalacze
dc.subjectgrafové databázecze
dc.subjectNeo4jcze
dc.subjectCyphercze
dc.subjectstatic code analysiseng
dc.subjectScala Implicitseng
dc.subjectScalaeng
dc.subjectgraph databaseeng
dc.subjectNeo4jeng
dc.subjectCyphereng
dc.titleAnalýza Scala programů pomocí Grafových Databázícze
dc.titleAnalyze Scala Code Using Graph Databaseeng
dc.typeBAKALÁŘSKÁ PRÁCEcze
dc.typeBACHELOR THESISeng
dc.contributor.refereeValenta Michal
theses.degree.disciplineTeoretická informatikacze
theses.degree.grantorkatedra teoretické informatikycze
theses.degree.programmeInformatikacze


Files in this item




This item appears in the following Collection(s)

Show simple item record