Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Procedurers inverkan på kodförståelse i Java: En studie med eye-tracking
KTH, School of Electrical Engineering and Computer Science (EECS).
2018 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesisAlternative title
The impact of procedures in Java on code readability : A study with eye-tracking (English)
Abstract [sv]

I programvarans livscykel spenderas mycket tid i det sista steget, underhållsfasen. I detta stadie är mjukvaran färdigutvecklad och behöver kontinuerligt underhåll för att säkerställa programvarans ständiga funktionalitet och effektivitet [25]. Det är därför viktigt att programvaran är så läsbar som möjligt då nya programmerare oftast tillkommer till projekten och för att snabbt kunna felsöka koden. Procedurer (metoderi Java) lärs ut som ett sätt att hålla koden strukturerad och lättläst. Läsbarhet av kod har blivit mer och mer studerat under de senaste åren och med hjälp av eye-tracking har läsbarhet av kod kunnat studerats på ett konkret sätt. I denna rapport har procedurers inverkan på läsbarhet av kod undersökts vilket har gjorts genom att undersöka tio testpersoners ögonrörelser vid tolkning av ett antal problem i Java, där problemen skilt sig till användandet av procedurer eller ej. Metodiken som valts har varit ett kontrollerat experiment där de tilldelade problemen involverat tolkning av kod samtidigt som deltagarnas ögonrörelser studerats och presenteras som bilder och data i form av diagram över punkter där blicken fixerats i koden. Resultaten visar attnybörjare generellt sett tar längre tid på sig att läsa procedurer jämfört med monolitisk kod (sekventiell kod, motsatsen till proceduruppdelad kod), medan erfarna programmerare inte skilde sig i lika hög gradeller var till och med snabbare på att lösa de procedurellt uppdelade kodsegmenten. Man kan även tyda att erfarna programmerare har ett annat sätt att läsa kod jämfört med nybörjare vilket kan vara intressant att studera ytterligare. Slutsatsen för experimentet är att kontrollflödesabstraktioner i form av procedurer gör det lättare för programmerare att läsa kod men det krävs tid och vana för att ta del av de gynnsamma effekterna utav dem.

Abstract [en]

In the software life cycle, a great amount of time is spent on the final stage, the maintenance phase. At this stage, the software is fully developed and needs continuous maintenance to ensure constant functionality and efficiency of the software [25]. It is therefore important for the software to be as readable as possible since other programmers might start working on the software. It is also important to keep the code readable to quickly troubleshoot the code. Procedures are taught as a way to keep the code structured and easy to read among other abstractions. In recent years, the study of code readability has gained an increasing popularity and with the help of eye-tracking it has allowed for the study of readability in a more concrete way.

In this report, the impact of procedures on code readability has been investigated by conducting a controlled experiment, which has been done by examining the eye movements of ten test subjects who had been tasked with interpreting a number of problems in Java, where the problems ranged from the use of procedures or not (being plain monolithic code blocks). The assigned problems involve the interpretation of code while their eye movements are recorded and presented as images and as data in a spreadsheet.

The results show that beginners generally take longer to read methods compared to sequential code, while experienced programmers did not differ as much- or were even faster to resolve the procedural code segments. It can also be said that experienced programmers have a different way of reading code compared to beginners which may be interesting to study further. The conclusion is that control flow abstractions in the form of procedures make it easier for programmers to read code, but it takes time and experience to take advantage of their beneficial effects.

Place, publisher, year, edition, pages
2018. , p. 35
Series
TRITA-EECS-EX ; 2018:203
Keywords [en]
eye-tracking, procedure, method, java, readability
Keywords [sv]
eye tracking, procedur, metod, java, läsbarhet
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-229792OAI: oai:DiVA.org:kth-229792DiVA, id: diva2:1214475
Subject / course
Computer Science
Educational program
Master of Science in Engineering - Computer Science and Technology
Supervisors
Examiners
Available from: 2018-06-20 Created: 2018-06-06 Last updated: 2018-06-20Bibliographically approved

Open Access in DiVA

fulltext(2031 kB)2 downloads
File information
File name FULLTEXT02.pdfFile size 2031 kBChecksum SHA-512
412fc8189b4dba5c088d18e50691455a184f2e1fbf769f491a24dfc0e33b5829a4403c9c4a83dec42f026457953ceb7ca2372b15a978626b70ed7860a7004c56
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 2 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 14 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf