Examining the mental representations formed by programmers during parallel program comprehension
dc.contributor.advisor | Aubanel, Eric | |
dc.contributor.advisor | Voyer, Daniel | |
dc.contributor.author | Bidlake, Leah | |
dc.date.accessioned | 2024-07-18T17:21:48Z | |
dc.date.available | 2024-07-18T17:21:48Z | |
dc.date.issued | 2024-06 | |
dc.description.abstract | Modifying, debugging, optimizing, and extending existing code are common tasks programmers perform that require them to understand code by forming mental representations. Understanding these mental representations is important for informing instructional practices and the development of visualizations and tools that are effective in assisting programmers with these tasks. This work represents the first published empirical research on mental representations formed during program comprehension using parallel code. The systematic literature review conducted in Article I found that no empirical research on mental representations formed during program comprehension had previously been conducted using parallel code. Prior work on mental representations using sequential code found that programmers form a program model and a situation model of varying strengths depending on the task, expertise, and programming language. Given the considerable differences between sequential and parallel programming, it was not possible to determine if the results of the research using sequential code would resemble the mental representations formed during parallel program comprehension. An execution model had been proposed but had not previously been empirically studied. Due to the lack of prior work on program comprehension using parallel code, a pilot study was conducted in Article II involving expert parallel programmers. The pilot study determined that the level of difficulty of the stimuli and parameters of the study were appropriate for the target population. The pilot study was followed by the main study in Article III. The results of this study provided the first empirical evidence that programmers form an execution model during the comprehension of parallel code. Article IV studied the progression of mental representations of experienced programmers while they were learning parallel programming. This study also introduced a novel method for externalizing and analyzing mental representations formed during program comprehension. Article IV found that as programmers learn parallel programming they form a stronger execution model while their situation model becomes weaker. Article III and IV also identified themes related to the components of code programmers use to determine the presence of data races in parallel code. This work forms a basis for future research on program comprehension in the parallel programming paradigm. | |
dc.description.copyright | © Leah Bidlake, 2024 | |
dc.format.extent | xi, 178 | |
dc.format.medium | electronic | |
dc.identifier.uri | https://unbscholar.lib.unb.ca/handle/1882/38053 | |
dc.language.iso | en | |
dc.publisher | University of New Brunswick | |
dc.rights | http://purl.org/coar/access_right/c_abf2 | |
dc.subject.discipline | Computer Science | |
dc.title | Examining the mental representations formed by programmers during parallel program comprehension | |
dc.type | doctoral thesis | |
oaire.license.condition | other | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | University of New Brunswick | |
thesis.degree.level | doctorate | |
thesis.degree.name | Ph.D. |