• DocumentCode
    3364434
  • Title

    Fast flow analysis to compute fuzzy estimates of risk levels

  • Author

    Merlo, Ettore ; Antoniol, Giuliano ; Brunelle, Pierre-Luc

  • Author_Institution
    Comput. Eng. Dept, Ecole Polytech. de Montreal, Que., Canada
  • fYear
    2003
  • fDate
    26-28 March 2003
  • Firstpage
    351
  • Lastpage
    360
  • Abstract
    In the context of software quality assessment, this paper proposes original flow analyses which propagate numerical estimates of blocking risks along an inter-procedural control flow graph (CFG) and which combine these estimates along the different CFG paths using fuzzy logic operations. Two specialized analyses can be further defined in terms of definite and possible flow analysis. The definite analysis computes the minimum blocking risk levels that statements may encounter on every path, while the possible analysis computes the highest blocking risk levels encountered by statements on at least one path. This paper presents original flow equations to compute the definite and possible blocking risk levels for statements in source code. The described fix-point algorithm presents a linear execution time and memory complexity and it is also fast in practice. The experimental context used to validate the presented approach is described and results are reported and discussed for eight publicly available systems written in C whose total size is about 300 KLOC Results show that the analyses can be used to compute, identify, and compare definite and possible blocking risks in software systems. Furthermore, programs which are known to be synchronized like "samba" show a relatively high level of blocking risks. On the other hand, the approach allows to identify even low levels of blocking risks as those presented by programs like "gawk".
  • Keywords
    C language; data flow analysis; data flow graphs; fuzzy logic; software maintenance; software quality; C language; blocking risks; fast flow analysis; fix-point algorithm; fuzzy estimates; fuzzy logic operations; inter-procedural control flow graph; linear execution time; memory complexity; risk levels; software quality assessment; source code; Communication system software; Equations; Flow graphs; Fuzzy logic; Information analysis; Performance analysis; Risk analysis; Software quality; Software standards; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2003. Proceedings. Seventh European Conference on
  • ISSN
    1534-5351
  • Print_ISBN
    0-7695-1902-4
  • Type

    conf

  • DOI
    10.1109/CSMR.2003.1192443
  • Filename
    1192443