Publication:
Development of a search algorithms library in go using DOT language

Loading...
Thumbnail Image
Identifiers
Publication date
2018-10-18
Defense date
2018-10-18
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Impact
Google Scholar
Export
Research Projects
Organizational Units
Journal Issue
Abstract
The Go programming language, also known as Golang, is a powerful general purpose language used in high-performance concurrent tasks with a growing community of developers and open source contributors, known mostly for its unique parallel programming paradigm using channels. The language has a reputation for heavily opinionated architectural decisions and therefore inclusions and omissions in the specification. Notably, most established data structures included in traditional programming languages are purposefully excluded from it. Part of the reason for it is the lack of generics: programmers are encouraged instead to generate structures based on interface definitions and fulfill their needs per-implementation. The project of the thesis is hereby presented, with the following goals: providing a robust and flexible search algorithms library, contributing to the Go community with an open source library, and employing the state-of-the-art in search and heuristic search theory and underlying data structure optimizations, with the peculiarity of the inclusion of a module which enables the modeling and solving of problems using dot [1] files as input. The work details the entire process: formal specification, design, planning, development and testing, detailing justifications for any decisions taken and also analyzing the performance of several data structures along the way. Finally, the Appendix contains additional resources and project documentation, generated via godoc [2] (Appendix B).
Description
Keywords
Open source, Go, Programming language, Data structures, Interfaces
Bibliographic citation