A Modular and Statically Typed Effectful Stack for Custom Graph Traversals

Conference contribution
(Original article)


Publication Details

Author(s): Tausch N, Philippsen M
Editor(s): Tichy, Matthias ; Westfechtel, Bernhard
Publication year: 2014
Title of series: Electronic Communications of the EASST
Journal issue: 68
Conference Proceedings Title: Proceedings of the 8th International Workshop on Graph-Based Tools (GraBaTs 2014)
Pages range: -
ISSN: 1863-2122
Language: English


Abstract


Programmers often have to implement custom graph traversals by hand as either there are no suitable text-book algorithms for their tasks, or their problems are too complex for a pure querying language that lacks modularity or static typing. Our new Scala-based graph traversal language uses an effectful stack that adapts monads and type classes. Arbitrary graph effect computations and graph processing rules can be defined and composed in a modular and statically typed way. Custom graph traversals become expressible in a concise notation, run both in-memory and on graph databases, and also allow for parallelization. We evaluate the usability of our approach by detecting occurences of an anti-pattern in a Java source code archive. Our approach outperforms the well-known Gremlin approach due to parallelization.



FAU Authors / FAU Editors

Philippsen, Michael Prof. Dr.
Lehrstuhl für Informatik 2 (Programmiersysteme)
Tausch, Norbert
Lehrstuhl für Informatik 2 (Programmiersysteme)


How to cite

APA:
Tausch, N., & Philippsen, M. (2014). A Modular and Statically Typed Effectful Stack for Custom Graph Traversals. In Tichy, Matthias ; Westfechtel, Bernhard (Eds.), Proceedings of the 8th International Workshop on Graph-Based Tools (GraBaTs 2014) (pp. -). York, UK, GB.

MLA:
Tausch, Norbert, and Michael Philippsen. "A Modular and Statically Typed Effectful Stack for Custom Graph Traversals." Proceedings of the 8th International Workshop on Graph-Based Tools (GraBaTs 2014), York, UK Ed. Tichy, Matthias ; Westfechtel, Bernhard, 2014. -.

BibTeX: 

Last updated on 2018-19-04 at 02:53