search query: @keyword roles of variables / total: 4
reference: 2 / 4
Author: | Lampinen, Sakari |
Title: | Detecting roles of variables in an intermediate language |
Publication type: | Master's thesis |
Publication year: | 2010 |
Pages: | [9] + 52 + [11] Language: eng |
Department/School: | Informaatio- ja luonnontieteiden tiedekunta |
Main subject: | Ohjelmistotekniikka (T-106) |
Supervisor: | Korhonen, Ari |
Instructor: | Taherkhani, Ahmad |
OEVS: | Electronic archive copy is available via Aalto Thesis Database.
Instructions Reading digital theses in the closed network of the Aalto University Harald Herlin Learning CentreIn the closed network of Learning Centre you can read digital and digitized theses not available in the open network. The Learning Centre contact details and opening hours: https://learningcentre.aalto.fi/en/harald-herlin-learning-centre/ You can read theses on the Learning Centre customer computers, which are available on all floors.
Logging on to the customer computers
Opening a thesis
Reading the thesis
Printing the thesis
|
Location: | P1 Ark Aalto | Archive |
Keywords: | roles of variables teaching programming languages JVM bytecode JVM programming languages data flow analysis control flow analysis muuttujien roolit ohjelmointikielten opetus JVM bytekoodi JVM ohjelmointikielet tietovuoanalyysi |
Abstract (eng): | Learning new programming language requires a lot of effort. On top of syntax and semantics, experienced programmers have tacit knowledge on how certain problems are solved on the language, some knowledge on how programs should he written and also expect the code to have certain features when they read someone else's code. To aid in learning a new language and also to transport this tacit knowledge, several research reports offer roles of variables as solution. Several tools have also been written that try to detect roles of variables from source code. Two of these tools use variable usage properties, its usages and definitions location in code in relation to other code and deduce if the variable has certain role characteristic. In this thesis a mapping between the roles of variables usage properties and JVM byte code was made. The aim is to find the same or similar characteristics on lower level language. If properties can be detected on lower level language they can also be detected for numerous languages that are available and compile to JVM byte code. The mapping was tested by implementing a prototype. Variable usage properties seemed to be detected well, but the actual role identification did not work perfectly. Even though there are limitations to what prototype using the mapping was able to do well, it seems plausible that roles of variables can be detected in byte code and further research is certainly needed. |
Abstract (fin): | Uuden ohjelmointikielen opetteleminen on haastava tehtävä. Ohjelman lauseiden (syntaksi) ja niiden merkityksen (semantiikka) lisäksi kokeneilla ohjelmoijilla on tietoa siitä miten jotkin ongelmat ratkaistaan ko. ohjelmointikielellä, tietoa siitä miten ohjelmat pitäisi ko. kielellä kirjoittaa ja myös olettavat tiettyjä piirteitä muiden koodista jota lukevat. Uuden kielen opetteluun ja myös tämän hiljaisen tiedon välitykseen on useissa tutkimuksissa tarjottu apuna muuttujien roolimärityksiä. Useita työkaluja on rakennettu muuttujien roolien havainnointiin. Kaksi näistä työkaluista käyttää muuttujien käyttäytymisominaisuuksia, sitä missä kohtaa ohjelmakoodia. muuttuja määritellään ja missä sitä käytetään, muuttujan roolin päättelyyn. Tässä työssä yhdistetään muuttujien käyttäytymisominaisuudet Javan bytekoodiin. Tavoitteena on löytää samat tai samanlaiset käyttäytymisominaisuudet alemman tason kielestä Jos käyttäytymisominaisuudet voidaan tunnistaa bytekoodista, voidaan ne mahdollisesti tunnistaa kaikille tai suurelle osalle Java bytekoodiksi kääntävistä kielistä ja kääntäjistä. Liityntä muuttujien käytön ominaisuuksista bytekoodiin testattiin toteuttamalla. prototyyppi. Muuttujien käytön ominaisuudet tunnuttiin tunnistavan hyvin prototyypillä, mutta varsinaisten roolien tunnistaminen ei toiminut täydellisesti. Vaikka prototyypin kyky tunnistaa varsinaisia rooleja oli hyvin rajallinen, näyttää hyvinkin mahdolliselta että roolit pystytään tunnistamaan bytekoodista ja sen jatkotutkimus on hyvinkin tarpeen. |
ED: | 2010-08-27 |
INSSI record number: 40298
+ add basket
INSSI