haku: @keyword roles of variables / yhteensä: 4
viite: 2 / 4
| Tekijä: | Lampinen, Sakari |
| Työn nimi: | Detecting roles of variables in an intermediate language |
| Julkaisutyyppi: | Diplomityö |
| Julkaisuvuosi: | 2010 |
| Sivut: | [9] + 52 + [11] Kieli: eng |
| Koulu/Laitos/Osasto: | Informaatio- ja luonnontieteiden tiedekunta |
| Oppiaine: | Ohjelmistotekniikka (T-106) |
| Valvoja: | Korhonen, Ari |
| Ohjaaja: | Taherkhani, Ahmad |
| OEVS: | Sähköinen arkistokappale on luettavissa Aalto Thesis Databasen kautta.
Ohje Digitaalisten opinnäytteiden lukeminen Aalto-yliopiston Harald Herlin -oppimiskeskuksen suljetussa verkossaOppimiskeskuksen suljetussa verkossa voi lukea sellaisia digitaalisia ja digitoituja opinnäytteitä, joille ei ole saatu julkaisulupaa avoimessa verkossa. Oppimiskeskuksen yhteystiedot ja aukioloajat: https://learningcentre.aalto.fi/fi/harald-herlin-oppimiskeskus/ Opinnäytteitä voi lukea Oppimiskeskuksen asiakaskoneilla, joita löytyy kaikista kerroksista.
Kirjautuminen asiakaskoneille
Opinnäytteen avaaminen
Opinnäytteen lukeminen
Opinnäytteen tulostus
|
| Sijainti: | P1 Ark Aalto | Arkisto |
| Avainsanat: | 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 |
| Tiivistelmä (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. |
| Tiivistelmä (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. |
| ED: | 2010-08-27 |
INSSI tietueen numero: 40298
+ lisää koriin
INSSI