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 verkossa

Oppimiskeskuksen 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

  • Aalto-yliopistolaiset kirjautuvat asiakaskoneille Aalto-tunnuksella ja salasanalla.
  • Muut asiakkaat kirjautuvat asiakaskoneille yhteistunnuksilla.

Opinnäytteen avaaminen

  • Asiakaskoneiden työpöydältä löytyy kuvake:

    Aalto Thesis Database

  • Kuvaketta klikkaamalla pääset hakemaan ja avaamaan etsimäsi opinnäytteen Aaltodoc-tietokannasta. Opinnäytetiedosto löytyy klikkaamalla viitetietojen OEV- tai OEVS-kentän linkkiä.

Opinnäytteen lukeminen

  • Opinnäytettä voi lukea asiakaskoneen ruudulta tai sen voi tulostaa paperille.
  • Opinnäytetiedostoa ei voi tallentaa muistitikulle tai lähettää sähköpostilla.
  • Opinnäytetiedoston sisältöä ei voi kopioida.
  • Opinnäytetiedostoa ei voi muokata.

Opinnäytteen tulostus

  • Opinnäytteen voi tulostaa itselleen henkilökohtaiseen opiskelu- ja tutkimuskäyttöön.
  • Aalto-yliopiston opiskelijat ja henkilökunta voivat tulostaa mustavalkotulosteita Oppimiskeskuksen SecurePrint-laitteille, kun tietokoneelle kirjaudutaan omilla Aalto-tunnuksilla. Väritulostus on mahdollista asiakaspalvelupisteen tulostimelle u90203-psc3. Väritulostaminen on maksullista Aalto-yliopiston opiskelijoille ja henkilökunnalle.
  • Ulkopuoliset asiakkaat voivat tulostaa mustavalko- ja väritulosteita Oppimiskeskuksen asiakaspalvelupisteen tulostimelle u90203-psc3. Tulostaminen on maksullista.
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