search query: @keyword java / total: 192
reference: 13 / 192
« previous | next »
Author:Vestola, Mikko
Title:Evaluating and enhancing FindBugs to detect bugs from mature software Case study in Valuatum
FindBugsin arviointi ja tehostaminen kehittyneissä ohjelmistoissa; Tapaustutkimus Valuatumilla
Publication type:Master's thesis
Publication year:2012
Pages:[10] + 81 s.      Language:   eng
Department/School:Tietotekniikan laitos
Main subject:Tietojenkäsittelyoppi   (T-76)
Supervisor:Lassenius, Casper
Instructor:Itkonen, Juha
Electronic version URL: http://urn.fi/URN:NBN:fi:aalto-201210043220
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 Centre

In 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

  • Aalto University staff members log on to the customer computer using the Aalto username and password.
  • Other customers log on using a shared username and password.

Opening a thesis

  • On the desktop of the customer computers, you will find an icon titled:

    Aalto Thesis Database

  • Click on the icon to search for and open the thesis you are looking for from Aaltodoc database. You can find the thesis file by clicking the link on the OEV or OEVS field.

Reading the thesis

  • You can either print the thesis or read it on the customer computer screen.
  • You cannot save the thesis file on a flash drive or email it.
  • You cannot copy text or images from the file.
  • You cannot edit the file.

Printing the thesis

  • You can print the thesis for your personal study or research use.
  • Aalto University students and staff members may print black-and-white prints on the PrintingPoint devices when using the computer with personal Aalto username and password. Color printing is possible using the printer u90203-psc3, which is located near the customer service. Color printing is subject to a charge to Aalto University students and staff members.
  • Other customers can use the printer u90203-psc3. All printing is subject to a charge to non-University members.
Location:P1 Ark Aalto     | Archive
Keywords:FindBugs
Java
SCA
static analysis
static code analysis
static program analysis
static code checking
false positives
FindBugs
Java
SCA
staattinen koodianalyysi
staattinen analyysi
väärät varoitukset
Abstract (eng): Static code analysis (SCA) is a popular bug detection technique.
However, several problems slow down the adoption of SCA.
First of all, when first applying SCA to a mature software system, the SCA tools tend to report a large number of alerts which developers do not act on.
Second, it is unclear how effective SCA is to find real defects.
Therefore, we decided to conduct a case study in Valuatum to evaluate and enhance the effectiveness of FindBugs, a popular SCA tool for Java.
The main goal of this thesis is to learn how to make FindBugs as an effective tool providing immediate, useful feedback for developers in Valuatum.

We have used several approaches to study FindBugs.
First, we have analyzed how many and what types of fixed defects could have been prevented with FindBugs.
Second, we have developed custom detectors for the most important defects missed by FindBugs.
Third, we have studied the precision of FindBugs to detect open defects.
Last, we have presented several approaches, such as defect differencing and IDE integration, to deal with the large number of alerts.

The results indicate that FindBugs is not very effective in detecting fixed defects.
We estimated that 9-16% of the fixed bugs should be feasible to detect with SCA.
However, only 0 - 2% of the reported fixed bugs and 1 - 6% of the unreported fixed bugs could have been prevented with FindBugs.
Moreover, only 18.5% of the high-priority open alerts are considered actionable.
Nevertheless, we think FindBugs is a cost-effective tool, because it detected several important open issues and can be enhanced with custom detectors.
Abstract (fin): Staattinen koodianalyysi (SCA) on suosittu menetelmä ohjelmistovirheiden eli bugien etsinnässä.
Sen käyttöönottoa kuitenkin haittaavat useat ongelmat.
Ensinnäkin SCA tuottaa kehittyneissä ohjelmistoissa paljon varoituksia, joihin käyttäjät eivät reagoi.
On myös epäselvää, kuinka tehokkaasti SCA löytää oikeita bugeja.
Siksi toteutimmekin tässä työssä tapaustutkimuksen Valuatumilla, jossa arvioimme ja parannamme FindBugsin tehokkuutta.
Työn päätarkoitus on oppia hyödyntämään FindBugsia niin, että se antaisi mahdollisimman hyödyllistä ja välitöntä palautetta Valuatumin ohjelmistokehittäjille.

Käytimme tutkimuksessa useita eri tapoja FindBugsin arviointiin.
Ensinnäkin analysoimme, mitä korjattuja ohjelmistovirheitä FindBugs olisi voinut estää.
Kirjoitimme myös omia bugi-ilmaisimia niille tärkeimmille virheille, joita FindBugs ei löytänyt.
Lisäksi tutkimme FindBugsin löytämiä avoimia bugeja sekä esitimme erilaisia tapoja, miten hallita suuria määriä varoituksia.

Tutkimustulokset viittaavat siihen, että FindBugs ei ole kovin tehokas löytämään korjattuja ohjelmistovirheitä.
Arvioimme, että SCA:lla pystyisi löytämään 9 - 16% korjatuista bugeista.
Kuitenkin vain 0 - 2 % raportoiduista ja 1 - 6 % raportoimattomista bugeista olisi voitu estää FindBugsilla.
Avoimista FindBugsin löytämistä korkeimman prioriteetin varoituksista vain 18,5 % luokiteltiin oleellisiksi.
FindBugs on kuitenkin mielestämme kustannustehokas työkalu bugien etsintään, koska sitä pystyy tehostamaan omilla bugi-ilmaisimilla ja sen avulla olemme löytäneet useita tärkeitä virheitä koodista.
ED:2012-08-23
INSSI record number: 45086
+ add basket
« previous | next »
INSSI