Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15778
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΥπατία Τσαβλίρη
dc.date.accessioned2018-07-23T16:31:17Z-
dc.date.available2018-07-23T16:31:17Z-
dc.date.issued2010-7-27
dc.date.submitted2010-12-16
dc.identifier.urihttp://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15778-
dc.description.abstractAs parallel platforms, like multi-core machines, become mainstream, the need to efficiently parallelize existing serial applications has become pressing. Erlang is a programming language designed for concurrency from the ground up so one might expect that parallelization of Erlang programs is a relatively easy task. This thesis is concerned with investigating methods to effectively parallelize a big and non-trivial single-threaded application written in Erlang, called Dialyzer. Dialyzer is an open source software defect detection tool, that automatically discovers software bugs in big applications written in Erlang. After identifying which parts of the analyses Dialyzer performs can be run in parallel, we describe coarse-grained parallelization schemes which take advantage of the tree-based nature of these analyses. We also describe ways of dealing with memory issues that emanate from many concurrent processes needing efficient concurrent access to large data structures. We implemented all these schemes and we report experimental results showing that the parallel implementation of Dialyzer manages to significantly speed up its execution, even on 2-core or 4-core machines which are very common nowadays. Beyond this particular application, this thesis offers useful experience as well as important conclusions concerning both the advantages and the obstacles a programmer is likely to encounter when parallelizing a serial Erlang application.
dc.languageEnglish
dc.subjectparallelization
dc.subjectconcurrency
dc.subjectspeed up
dc.subjectperformance
dc.subjectdialyzer
dc.subjectanalysis
dc.subjectshared data
dc.subjecterlang
dc.titleParallelizing Dialyzer: A Static Analyzer That Detects Bugs In Erlang Programs
dc.typeDiploma Thesis
dc.description.pages63
dc.contributor.supervisorΣαγώνας Κωστής
dc.departmentΤομέας Τεχνολογίας Πληροφορικής & Υπολογιστών
dc.organizationΕΜΠ, Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2010-0191.pdf448.43 kBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.