haku: @keyword staattinen analyysi / yhteensä: 8
viite: 6 / 8
Tekijä:Kuokkala, Juha
Työn nimi:Static analysis tools in software development
Staattisen analyysin työkalut ohjelmistokehityksessä
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2010
Sivut:53      Kieli:   eng
Koulu/Laitos/Osasto:Informaatio- ja luonnontieteiden tiedekunta
Oppiaine:Informaatiotekniikka   (T-115)
Valvoja:Simula, Olli
Ohjaaja:Seppänen, Jukka
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  8757   | Arkisto
Avainsanat:software
software development
software quality
static analysis
program analysis
ohjelmistot
ohjelmistokehitys
ohjelmiston laatu
staattinen analyysi
ohjelma-analyysi
Tiivistelmä (fin): Staattinen koodianalyysi käsittää erilaisia tekniikoita, jotka tutkivat ohjelmakoodia staattisesti ja tekevät sen pohjalta päätelmiä koodin dynaamisesta ei ajonaikaisesta käyttäytymisestä.
Staattisilla analyysimenetelmillä on laaja valikoima sovellutuksia ohjelmistojen laadunvarmistuksessa.
Merkittävä osa näistä on työkaluja, joilla ohjelmistokehittäjät voivat testata ja tarkistaa koodinsa ominaisuuksia sen toteutuksen aikana.

Tämä diplomityö antaa yleiskuvan automaattisen koodianalyysin tekniikoista, painottuen staattisiin analyysimenetelmiin ja niiden käyttöön ohjelmistokehityksen apuna.
Työssä luodaan katsaus staattisen analyysin työkalujen tämänhetkiseen tarjontaan samoin kuin erilaisiin kokemuksiin ja tutkimustuloksiin kyseisten menetelmien ja työkalujen hyödyllisyydestä.

Lopuksi kuvataan tapaustutkimus, jossa kaksi automaattista analysaattoria liitettiin kaupallisessa ohjelmistokehitysprojektissa käytössä olevaan jatkuvan integraation (Continuous Integration) palvelimeen.
Työkalujen etuja ja puutteita arvioidaan, ja tehdään ehdotuksia jatkokehityksestä.

Tutkielman tärkeimpiä tuloksia ovat:.

1.
Staattinen koodianalyysi voi olla hyödyllinen apuneuvo järkevästi käytettynä.
Automaattianalyysin tuloksia ei pidä ottaa kritiikittä vaan käyttää myös tervettä järkeä.

2.
Staattinen analyysi on tehokkainta, kun sitä sovelletaan säännöllisesti koko koodikantaan sen kehityksen alusta alkaen.
Kun analyyseja aletaan ajaa koodikannassa, jolla on jo pitkä historia, työkalun antamien varoitusten valtava määrä tekee hankalaksi päättää, mistä aloittaa korjausten tekeminen.

3.
Staattinen koodianalyysi tulisi toteuttaa mahdollisimman automatisoituna ja helppokäyttöisenä.
Tämä tarkoittaa esimerkiksi analyysiajojen sulauttamista osaksi jatkuvan integraation prosessia ja suoran palautteen automaattista lähettämistä ohjelmoijille, joiden äskeiset koodimuutokset ovat huonontaneet koodia.
Tiivistelmä (eng): Static code analysis comprises techniques which statically examine a piece of computer program code and make inferences about its dynamic, run-time behaviour.
Static analysis methods have a wide range of applications in software quality assurance.
A significant amount of these are tools which can be used by software developers to test and check their code during the implementation.

This thesis gives an overview of automatic code analysis techniques, with focus on static analysis methods and the use of them in assistance of software development.
A review is made on the current supply of static analysis tools as well as experiences and research on the usefulness of this kind of methods and tools in software development.

Finally, a case study is carried out with two automatic analysis tools attached to a Continuous Integration server used in a commercial software development process.
The benefits and shortcomings of the tools are assessed, and suggestions for future development are given.

The most important results of the study include:.

1.
Static code analysis can be a useful tool when used wisely.
The results of automated analysis should not be taken without critique, but common sense should be used.

2.
Static analysis is most efficient when applied regularly on all parts of a code base from the very beginning of its development.
When analysis runs are started on a code base with long history, the overwhelming number of warnings issued makes it difficult to find a starting point for making improvements.

3.
Static code analysis should be made as automated and easy-to-use as possible.
This involves making the analyses run as a part of the Continuous Integration process and send direct feedback to developers whose recent code changes have deteriorated the code.
ED:2010-08-26
INSSI tietueen numero: 40284
+ lisää koriin
INSSI