Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • 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
Exploring the Design of Compiler Feedback.
KTH, School of Computer Science and Communication (CSC).
2012 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Nowadays, programmers willing to start optimising their code must undergo a lengthy interaction with dedicated profiling tools. This Degree Thesis proposes as an alternative to make compilers generate feedback messages aimed at explaining how they understand the code, and how it could be improved. The study aims at foreseeing the technical integration of feedback notifications in modern compilers, as well as sketching how Integrated Development Environments (IDE) would display them.

A first comparison of three related works enables the core differentiators to be highlighted: letting the compiler inform where code is actually fine and does not need any refinement, displaying the notifications along the relevant source lines rather than in a separate interface, insisting on the absence of artificial intelligence, and introducing a filter heuristic to take into account the less significant messages. Then, a preparatory user study is carried to observe different programmers and poll their receptiveness to a compiler feedback. The findings relate the usefulness of optimisations' suggestions to fit where users lack expert knowledge, the existence of dormant interrogations calling for serendipitous information retrieval, and the mistakes inherent to Message of the Day windows which should be avoided.

Three prototypes are designed to embody three different approaches, using Web tools to provide a close appearance to code editors along with decent interactivity. With the help of a new user study with the prototypes, a final set of refinements is discussed so as to shape a coherent result and differentiate it further: users can create and share sets of feedback messages to supplement the ones included in their compiler, a list of rules is provided to help designers compose the messages, an emphasis is laid on transparency to help exhibit the absence of artificial intelligence, and the heuristic used to sort and filter the displayable notifications is sketched.

Abstract [sv]

Programmerare som vill optimera sin kod måste normalt genomgå en ganska omständlig process med hjälp av ett dedikerat profileringsverktyg. Detta examensarbete diskuterar olika alternativ där kompilatorn mer direkt genererar återkoppling på hur den tolkat koden, och hur den kan förbättras. Studien syftar till att ge ökad insikt i utvecklingen mot teknisk integrering av feedback-tillämpningar i moderna kompilatorer, samt att skissa på hur det skulle kunna se ut om de visades i integrerade utvecklingsmiljöer (IDE).

En första jämförelse av tre relaterade arbeten ledde fram till några utmärkande egenskaper att arbeta för, kompilatorernas nuvarande sätt att informera om koden är redan bra och behöver inte någon förfining, att visa notifieringar längs den berörda källrader stället i ett separat gränssnitt, att undvika lösningar som bygger på artificiell intelligens, och att införa ett filter som heuristisk tar hänsyn till mindre viktiga meddelanden. Därefter tillsattes en förstudie där inställningen till kompilatorfeedback undersöktes bland en grupp programmerare. Resultaten relaterade nyttan med förslag på optimeringar när användarna saknar expertkunskap, slumpartat informationssökning, och problem som t ex att "dagens meddelande" bör undvikas.

Tre prototyper utformades för att förkroppsliga tre olika metoder för hur detta skulle kunna ta form, dessa presenteras online för att ge ett nära utseende av verkliga kodbehandlare och erbjuda enkel interaktivitet. Efter en slutlig användarstudie med dessa prototyper reviderades uppsättningen med finesser och förslag med en ytterligare specialisering, dvs att låta användare skapa och dela lämpliga feedback-meddelanden som kompletterar de som ingår i kompilatorn själv, en förteckning över regler för att hjälpa konstruktörer skriva meddelanden, med en betoning på öppenhet för att uppvisa avsaknad av artificiell intelligens, samt utarbetning av tumregler för att sortera och filtrera visningsbara notifikationer.

Place, publisher, year, edition, pages
2012.
Series
Trita-CSC-E, ISSN 1653-5715 ; 2012:084
National Category
Computer Science
Identifiers
URN: urn:nbn:se:kth:diva-130979OAI: oai:DiVA.org:kth-130979DiVA: diva2:654425
Educational program
Master of Science in Engineering - Computer Science and Technology
Uppsok
Technology
Supervisors
Examiners
Available from: 2013-10-07 Created: 2013-10-07

Open Access in DiVA

No full text

Other links

http://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2012/rapporter12/raffaillac_thibault_12084.pdf
By organisation
School of Computer Science and Communication (CSC)
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

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

Direct link
Cite
Citation style
  • apa
  • harvard1
  • 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