SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
ImpactScale:
Quantifying Change Impact to Predict Faults
in Large Software Systems

 Kenichi Kobayashi           Akihiko Matsuo               Katsuro Inoue
      Fujitsu Laboratories         Fujitsu Laboratories           Osaka University


 Yasuhiro Hayase             Manabu Kamimura              Toshiaki Yoshino
     University of Tsukuba         Fujitsu Laboratories                    Fujitsu
Overview
1.     Background and Goal
2.     Definition of ImpactScale
3.     Measuring ImpactScale in Real Systems
4.     Fault Prediction and Evaluation
5.     Summary




ICSM2011 @ Williamsburg, 2011-09-27   1   Copyright 2011 FUJITSU LABORATORIES LIMITED
Background
  Fault prediction in maintenance is a difficult task, and
   predictive performance is not enough only with product
   metrics.
       Product Metrics are metrics extracted from software product such as
        source code.


  Therefore, process metrics, such as code churn and logical
   coupling, have been combined to product metrics.
       Process Metrics are metrics extracted from software process such as
        change histories.

                                      Practitioners’ Point of View
  However, in enterprise scenes of maintenance, documents,
   change histories, bug reports, and specialists’ knowledge
   are often lost, out-of-date, or unable to be used.

ICSM2011 @ Williamsburg, 2011-09-27                2                 Copyright 2011 FUJITSU LABORATORIES LIMITED
Goals
 Problem
      Process metrics cannot be always obtained.


 Motivation
      To achieve high predictive performance only with product
       metrics extractable from source code


 Goals
      To define a new product metric
      To show the effectiveness of the metric



ICSM2011 @ Williamsburg, 2011-09-27   3          Copyright 2011 FUJITSU LABORATORIES LIMITED
Basic Idea
Software dependency is one of                         We assumed Change Impact
surviving factors of faults even                      Analysis enables us to extract implicit
after release.                                        dependency.
                             暗黙の依存関係
                          implicit dependency
                                                                   Change Impact Analysis
                                                                   Technique to solve the
                                                                   affected areas when some
                                                                   part of software is changed.
             修
            fix
                                                      Weakness
                                 修
                               fix
                                                      High computational cost
     修
    fix                                  修正忘れ
                                         missed fix

                                                      Need not to solve the affected areas.
                                                      Only need to solve the scale of them.

                                                      Hypothesis
                                                      A metric that quantifies the scale of
          ImpactScale                                 change impact can improve the
                  (abbrev. IS)
                                                      performance of fault prediction.
ICSM2011 @ Williamsburg, 2011-09-27                   4                  Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview
1.     Background and Goal
2.     Definition of ImpactScale
3.     Measuring ImpactScale in Real Systems
4.     Fault Prediction and Evaluation
5.     Summary




ICSM2011 @ Williamsburg, 2011-09-27   5   Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview of ImpactScale Definition
  Dependencies are extract              Propagation Graph
   from target software, and
                                           Quantity of
   Propagation Graph is built.            Change Impact                     Code Node
                                            from C to A



  Propagation Model
       Probabilistic propagation                         Change!
       Relation-sensitive propagation


  ImpactScale is sum of all
   Quantities of Change Impact.


                                                                              Dependency
                                                  Data Node



ICSM2011 @ Williamsburg, 2011-09-27   6                       Copyright 2011 FUJITSU LABORATORIES LIMITED
Propagation Graph
   ① Build dependency graph
    extracted from target software

                                      《Dependency Graph》                       Code Node
                                                                                module, class,
                                                                                   function,
                                                                                 source code




                                      Data Node               Dependency Edge
                                        DB table,              with relation type
                                      global variable          CALL, READ, WRITE




ICSM2011 @ Williamsburg, 2011-09-27                     7-1                     Copyright 2011 FUJITSU LABORATORIES LIMITED
Propagation Graph
   ① Build dependency graph                                   ② Add reverse edges
    extracted from target software                             to build Propagation Graph

                                      《Dependency Graph》
                                      《Propagation Graph》                        Code Node
                                                                                  module, class,
                                                                                     function,
                                                                                   source code




                                      Data Node                 Dependency Edge
                                        DB table,                with relation type
                                      global variable            CALL, READ, WRITE


  Change impact analysis for ImpactScale is performed on
  Propagation Graph.
ICSM2011 @ Williamsburg, 2011-09-27                     7-2                       Copyright 2011 FUJITSU LABORATORIES LIMITED
Probabilistic Propagation
 We assume that change impact probabilistically propagates
  from a node to another node
  as some Ripple Effect studies. [Hanny72] [Tsantalis05] [Sharafat07]

                          Propagation
                           Probability
                                                                               Quantity of change
                                                                                     impact
                                              ×0.5                            from the source node
                Change!

                                      ×0.5             ×0.5




                                         In this presentation, propagation probability is always 0.5.
ICSM2011 @ Williamsburg, 2011-09-27                    8                      Copyright 2011 FUJITSU LABORATORIES LIMITED
Relation-sensitive Propagation
 To avoid overestimation, we used context information to
  eliminate unlikely propagation.
      We use an edge’s relation type as minimal context information in
         point of computational time.


 Cut Rules determine whether propagation from one node to its
  next node is cut or not, referring its previous and next edge’s
  relation type.    previous              next
                                      relation type   current relation type   next
                                                       node refer             node
                                           refer                  Cut Rule


 We call such controlled propagation relation-sensitive
  propagation.

 Computational complexity is practically low.
ICSM2011 @ Williamsburg, 2011-09-27                          9                   Copyright 2011 FUJITSU LABORATORIES LIMITED
Example of Cut Rules
   Example from “C”                                     Example from “F”
        Cut Rule 2
   During finding callers,
    don’t find callees.



                        Change!                                     Change!




                                           Cut Rule 1                 Cut Rule 3
                                      During finding callees,      Don’t find beyond
                                        don’t find callers.         READ edges.

ICSM2011 @ Williamsburg, 2011-09-27                10               Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview
1.     Background and Goal
2.     Definition of ImpactScale
3.     Measuring ImpactScale in Real Systems
4.     Fault Prediction and Evaluation
5.     Summary




ICSM2011 @ Williamsburg, 2011-09-27   11   Copyright 2011 FUJITSU LABORATORIES LIMITED
Data Sets for Evaluations
Two enterprise accounting systems in different companies
                                                                          Faulty                Term
   Data Set                                                  #Faulty
                      #Modules        Total LOC   #Faults                 Module                Fault-
    Name                                                     Modules
                                                                           Rate                Collected
                                                                                                 40
       DS1                5.8k          1.6M       269         215          3.7%
                                                                                                months
                                                                                                 40
       DS2                7.6k          3.7M       250         208          2.7%
                                                                                                months

  Common Properties                                  Collected Metrics
       Language: COBOL                                   7 Existing Metrics
       Age: Over 20 years                                    LOC, WMC, MaxVG,
                                                               Sections, Calls,
                                                               Fan-in, Fan-out
                                                          ImpactScale


ICSM2011 @ Williamsburg, 2011-09-27                 12                   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-1   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-2   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-3   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-4   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-5   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-6   Copyright 2011 FUJITSU LABORATORIES LIMITED
Real Example of Calculating ImpactScale
DS1

#modules
 5.8k



Each square-
shaped
group of
modules is a
sub-system.




ICSM2011 @ Williamsburg, 2011-09-27   13-7   Copyright 2011 FUJITSU LABORATORIES LIMITED
Measurement Results
 Distribution of ImpactScale

                              4000
          Number of Modules


                                                                                     Data Set                      Mean IS                            Max IS
                              3000                Long-tailed
                                                                                     DS1                                        86.0                         2989.6
                              2000                                                   DS2                                       156.5                         3338.2

                              1000


                                 0
                                     ~50

                                           ~100

                                                  ~150

                                                         ~200

                                                                ~250

                                                                       ~300

                                                                              ~350

                                                                                     ~400

                                                                                            ~450

                                                                                                   ~500

                                                                                                          ~550

                                                                                                                 ~600

                                                                                                                        ~650

                                                                                                                                ~700

                                                                                                                                        ~750

                                                                                                                                               ~800

                                                                                                                                                      ~850

                                                                                                                                                              ~900

                                                                                                                                                                     ~950
                                                                                     ImpactScale
 Calculation Time                                                        Practically                                                  Spike:
      DS1: about 10 sec.                                                   short                                                      • system-wide dispatcher
                                                                                                                                                 or
      DS2: about 30 sec.                                                                                                              • symptom of bad smell



ICSM2011 @ Williamsburg, 2011-09-27                                                          14                                            Copyright 2011 FUJITSU LABORATORIES LIMITED
ImpactScale and Faults


   First 20% of
     modules
      contain
   48.8% faults.




     IS highly
    correlates
    with faults.



        Module
        Database Table



          ImpactScale

High       10-quartile          Low
ICSM2011 @ Williamsburg, 2011-09-27   15   Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview
1.     Background and Goal
2.     Definition of ImpactScale
3.     Measuring ImpactScale in Real Systems
4.     Fault Prediction and Evaluation
5.     Summary




ICSM2011 @ Williamsburg, 2011-09-27   16   Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview of Evaluations
 Evaluation Procedure
      100 times random sub-sampling validation


 Evaluations
            Fault Prediction
            RQ1         Does adding ImpactScale to existing product metrics
                          improve predictive performance?

        •      Predicting Faulty or Not Faulty
        •      Effort-aware Fault Prediction
            RQ2
        •      Comparison between ImpactScale and Network Measures

            Validating ImpactScale Definition
            RQ3


ICSM2011 @ Williamsburg, 2011-09-27              17           Copyright 2011 FUJITSU LABORATORIES LIMITED
Predicting Faulty or Not Faulty
  Faults are predicted using logistic regression.
  MET = Model without ImpactScale / MET+IS = Model with ImpactScale
     Performance        DS1            DS1   Improvem           Performance      DS2         DS2   Improvem
      Measure           MET           MET+IS ent by IS           Measure         MET        MET+IS ent by IS
     Precision         0.148          0.168   +0.020            Precision       0.139         0.162           +0.020
        Recall         0.315          0.392   +0.077              Recall        0.253         0.334           +0.077
          F1           0.200          0.234   +0.034                 F1         0.177         0.216           +0.034
                                                   All improvements are significant in Wilcoxon’s signed rank test.

     Adding IS improves all performance measures  supports RQ1 is YES.

                                        Practitioners’ Point of View
  Practically, these Precision/Recall/F1 evaluations are not very useful.
  Because in maintenance, high fault-estimated modules tend to be large.
  Actually, in the case of DS2, the top 10% of high fault-estimated modules
   has 24% LOC. It is not effort-effective.

ICSM2011 @ Williamsburg, 2011-09-27                       18                           Copyright 2011 FUJITSU LABORATORIES LIMITED
Effort-aware Fault Prediction Model
 Problem
      In maintenance, modules estimated as faulty tend to be large.
      A large module needs large effort to be reviewed or tested.


 Practitioners’ Opinion
      “Budget and schedule are very demanding. We want to find more faults
       with less effort.”
      Therefore, effort-effectiveness is our main concern.


 We use “Effort-aware model” [Arisholm06] [Menzies10] [Mende10]
                                                           # errors( x)
      It prioritize modules in the order of relative risk
       to maximize effort-effectiveness.                   Effort ( x )

      Poisson Regression is used to learn relative risk.
ICSM2011 @ Williamsburg, 2011-09-27         19                  Copyright 2011 FUJITSU LABORATORIES LIMITED
Results of Effort-aware Evaluation
《Effort-based Cumulative Lift Chart of DS1》
                                                                             AUC is the Area Under the Curve of
                                                                           lift chart. AUC shows overall predictive
                                                                             performance. High AUC means high
  Faults detected




                                                                                         performance.


                                                                            ddr10 is “detected defect rate in first
           0.296                           DS1-MET                         10% effort”. ddr10 shows the predictive
           0.186                           DS1-MET+IS                        performance in the limited effort.
                                           Optimal                          High ddr10 means high performance.


                            Effort (LOC inspected)
                                                                             Practitioners’ Point of View
     Performance              DS1-      DS1-  Improvem
      Measure                 MET      MET+IS ent by IS                    In maintenance, budget, schedule
                    AUC       0.635     0.680        +0.045                and effort is always limited,
                                                                           therefore, ddr10 is more important.
                    ddr10     0.186     0.296        ×1.60
                                      All improvements are significant in Wilcoxon’s signed rank test.

ICSM2011 @ Williamsburg, 2011-09-27                                 20-1                          Copyright 2011 FUJITSU LABORATORIES LIMITED
Results of Effort-aware Evaluation
《Effort-based Cumulative Lift Chart of DS1》                                《Effort-based Cumulative Lift Chart of DS2》
 RQ1                         Does adding ImpactScale to existing product
                            metrics improve predictive performance?                                                               is YES.
  Faults detected




                                                                            Faults detected
                                                                           0.343
           0.296                           DS1-MET                                                                       DS2-MET
                                           DS1-MET+IS                      0.225                                         DS2-MET+IS
           0.186
                                           Optimal                                                                       Optimal



                            Effort (LOC inspected)                                                    Effort (LOC inspected)

     Performance              DS1-      DS1-  Improvem                         Performance              DS2-         DS2-  Improvem
      Measure                 MET      MET+IS ent by IS                         Measure                 MET         MET+IS ent by IS
                    AUC       0.635     0.680        +0.045                                   AUC       0.669        0.714           +0.045
                    ddr10     0.186     0.296        ×1.60                                    ddr10     0.225        0.343            ×1.53
                                      All improvements are significant in Wilcoxon’s signed rank test.

ICSM2011 @ Williamsburg, 2011-09-27                                 20-2                                     Copyright 2011 FUJITSU LABORATORIES LIMITED
Comparison with Network Measures
 Network Measures
      Recently, [Zimmermann et al. ICSE08] applied Social Network Analysis
       (SNA) on a software dependency graph representing relationships
       between binary modules of software systems.
      Over 50 network measures were used. For example,
          • in/out Degrees
          • Network Diameter               a.k.a. Page Rank
          • Closeness
          • Eigenvector Centrality, etc.
      They and some replication studies [Tosun09][Nguyen10] reported they
       work well in some cases.


  RQ2
  “Does adding ImpactScale to existing product metrics and network
  measures improve predictive performance?”

ICSM2011 @ Williamsburg, 2011-09-27               21          Copyright 2011 FUJITSU LABORATORIES LIMITED
ImpactScale vs. Network Measures
Hierarchical Model Comparison based on Effort-aware Model
      Model with
    existing metrics

                  +ImpactScale                   +network measures




                                                                                        Adding
                                                                                     ImpactScale
                                                                                       improves
             +network measures                   +ImpactScale                        performance.

                                            All improvements and deterioration are significant in
  Models are learned by using Principal                 Wilcoxon’s signed rank test.
  Component Poisson Regression.              *: P<0.05, **: P<0.01, unmarked: P<0.001
ICSM2011 @ Williamsburg, 2011-09-27       22-1                         Copyright 2011 FUJITSU LABORATORIES LIMITED
ImpactScale vs. Network Measures
Hierarchical Model Comparison based on Effort-aware Model
      Model with
    existing metrics

                  +ImpactScale                           +network measures




                                                                                            Adding
                                                                                         ImpactScale
                                                                                           improves
             +network measures                           +ImpactScale                    performance.
    RQ2
                                             All improvements and deterioration are significant in
  Models are learned by ImpactScale to existing product metrics and test. YES.
    “Does adding using Principal                         Wilcoxon’s signed rank is
    network measures improve predictive performance?”unmarked: P<0.001
  Component Poisson Regression.               *: P<0.05, **: P<0.01,
ICSM2011 @ Williamsburg, 2011-09-27               22-2                     Copyright 2011 FUJITSU LABORATORIES LIMITED
Validating ImpactScale
 RQ3                   Is considering distant nodes meaningful?

  《Test method》 Compare Models with ImpactScale variants with limited
                maximum distance of path-finding.
                         ddr10
                         0.40                                            ddr10
                                                                         0.45


                         0.35                                            0.40

                                                                         0.35
                         0.30
                                                                         0.30
                         0.25
    “Limit=1”                                                            0.25
 variant means
                         0.20
     almost                                                              0.20
fan-in + fan-out.
                         0.15                                            0.15
                                                              DS1                                                DS2
                         0.10                                            0.10
                                  1   2   3   4   5   6   7   8   9 10           1   2   3    4    5    6    7   8    9 10
                                              Limit of Maximum Distance of Path-finding

 Answer              YES.
ICSM2011 @ Williamsburg, 2011-09-27                               23                         Copyright 2011 FUJITSU LABORATORIES LIMITED
Overview
1.     Background and Goal
2.     Definition of ImpactScale
3.     Measuring ImpactScale in Real Systems
4.     Fault Prediction and Evaluation
5.     Summary




ICSM2011 @ Williamsburg, 2011-09-27   24   Copyright 2011 FUJITSU LABORATORIES LIMITED
Summary of Evaluations
       RQ1                                                                            YES
       Does adding ImpactScale to existing product metrics
       improve predictive performance?                                                YES

       RQ2
       “Does adding ImpactScale to existing product metrics and                       YES
       network measures improve predictive performance?”

       RQ3                  Is considering distant nodes meaningful?                  YES




       Hypothesis
       A metric that quantifies the scale of change impact can                       TRUE
       improve the performance of fault prediction.
ICSM2011 @ Williamsburg, 2011-09-27              25                Copyright 2011 FUJITSU LABORATORIES LIMITED
Threats to Validity
 Language
      ImpactScale has no language-specific feature, but the evaluations are
       done in only COBOL systems. COBOL has a lot of difference from other
       languages.


 Application Domain
      The evaluated systems are only in accounting business domain.


 Call Graph Analysis
      The impact of dynamic dispatching (e.g. polymorphism and reflection) is
       not assessed.




ICSM2011 @ Williamsburg, 2011-09-27     26                Copyright 2011 FUJITSU LABORATORIES LIMITED
Conclusion
 We defined a new product metric quantifying change impact,
  called ImpactScale.
      Probabilistic propagation
      Relation-sensitive propagation
      Practical computational time even for large-scale software systems


 We evaluated its predictive performance in enterprise systems.
      Adding ImpactScale improves the performance
          • Over 1.5 times in first 10% effort (LOC).
      Additional Finding
          • Considering distant nodes in dependency graph is meaningful for fault
            prediction.




ICSM2011 @ Williamsburg, 2011-09-27            27                 Copyright 2011 FUJITSU LABORATORIES LIMITED
Future Works
 Extending supported languages
      Java, C, C++


 Expanding use cases
      Rapid risk assessment
      Watching violations of modularity
      Measuring software decay




ICSM2011 @ Williamsburg, 2011-09-27        28   Copyright 2011 FUJITSU LABORATORIES LIMITED
Thank you!
                                       Kenichi Kobayashi
                                         Fujitsu Labs




ICSM2011 @ Williamsburg, 2011-09-27            29          Copyright 2011 FUJITSU LABORATORIES LIMITED
ICSM2011 @ Williamsburg, 2011-09-27

Contenu connexe

Tendances

Interfacing In Form To Argus Safety
Interfacing In Form To Argus SafetyInterfacing In Form To Argus Safety
Interfacing In Form To Argus Safetydhiria00
 
2010 01 lecture SIG UM MFES 3 - Reverse engineering
2010 01 lecture SIG UM MFES 3 - Reverse engineering2010 01 lecture SIG UM MFES 3 - Reverse engineering
2010 01 lecture SIG UM MFES 3 - Reverse engineeringjstvssr
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UMLRandy Connolly
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
An agent based approach for building complex software systems
An agent based approach for building complex software systemsAn agent based approach for building complex software systems
An agent based approach for building complex software systemsIcaro Santos
 
Good code-isnt-enough
Good code-isnt-enoughGood code-isnt-enough
Good code-isnt-enoughSkills Matter
 
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1Benton "Ben" Bovée
 

Tendances (11)

08 component level_design
08 component level_design08 component level_design
08 component level_design
 
Vb
VbVb
Vb
 
Interfacing In Form To Argus Safety
Interfacing In Form To Argus SafetyInterfacing In Form To Argus Safety
Interfacing In Form To Argus Safety
 
2010 01 lecture SIG UM MFES 3 - Reverse engineering
2010 01 lecture SIG UM MFES 3 - Reverse engineering2010 01 lecture SIG UM MFES 3 - Reverse engineering
2010 01 lecture SIG UM MFES 3 - Reverse engineering
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
An agent based approach for building complex software systems
An agent based approach for building complex software systemsAn agent based approach for building complex software systems
An agent based approach for building complex software systems
 
Good code-isnt-enough
Good code-isnt-enoughGood code-isnt-enough
Good code-isnt-enough
 
05 architectural design
05 architectural design05 architectural design
05 architectural design
 
Automotive UI 2011
Automotive UI 2011Automotive UI 2011
Automotive UI 2011
 
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
 

En vedette

Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...ICSM 2011
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsICSM 2011
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...ICSM 2011
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...ICSM 2011
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM 2011
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...ICSM 2011
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ICSM 2011
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical DebtICSM 2011
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...ICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...ICSM 2011
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...ICSM 2011
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...ICSM 2011
 

En vedette (20)

Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API Limitations
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical Debt
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
 

Similaire à Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in Large Software Systems

Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Michel Wermelinger
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework EngineeringYoungSu Son
 
On the Relationship Between Change Coupling and Software Defects
On the Relationship Between Change Coupling and Software DefectsOn the Relationship Between Change Coupling and Software Defects
On the Relationship Between Change Coupling and Software DefectsMarco D'Ambros
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Dataopenservices
 
Introduction to Unit Testing
Introduction to Unit TestingIntroduction to Unit Testing
Introduction to Unit TestingSwanky Hsiao
 
Survey paper
Survey paperSurvey paper
Survey paperIJASCSE
 
IRJET- Face Recognition using Landmark Estimation and Convolution Neural Network
IRJET- Face Recognition using Landmark Estimation and Convolution Neural NetworkIRJET- Face Recognition using Landmark Estimation and Convolution Neural Network
IRJET- Face Recognition using Landmark Estimation and Convolution Neural NetworkIRJET Journal
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed Misbhauddin
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
Dependency Inversion Principle
Dependency Inversion PrincipleDependency Inversion Principle
Dependency Inversion PrincipleShahriar Hyder
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionLuca Berardinelli
 
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent Systems
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent SystemsNew Fault Tolerance Approach using Antecedence Graphs in Multi Agent Systems
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent SystemsIDES Editor
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewAnh Nguyen Duc
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_FinalYoungSu Son
 
Ports adapters architecture (hexagonal architecture)
Ports adapters architecture (hexagonal architecture)Ports adapters architecture (hexagonal architecture)
Ports adapters architecture (hexagonal architecture)Farhad Taran
 
Software Reliability Engineering
Software Reliability EngineeringSoftware Reliability Engineering
Software Reliability Engineeringguest90cec6
 

Similaire à Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in Large Software Systems (20)

Of Bugs and Men
Of Bugs and MenOf Bugs and Men
Of Bugs and Men
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
 
On the Relationship Between Change Coupling and Software Defects
On the Relationship Between Change Coupling and Software DefectsOn the Relationship Between Change Coupling and Software Defects
On the Relationship Between Change Coupling and Software Defects
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Data
 
Introduction to Unit Testing
Introduction to Unit TestingIntroduction to Unit Testing
Introduction to Unit Testing
 
Survey paper
Survey paperSurvey paper
Survey paper
 
IRJET- Face Recognition using Landmark Estimation and Convolution Neural Network
IRJET- Face Recognition using Landmark Estimation and Convolution Neural NetworkIRJET- Face Recognition using Landmark Estimation and Convolution Neural Network
IRJET- Face Recognition using Landmark Estimation and Convolution Neural Network
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
Dependency Inversion Principle
Dependency Inversion PrincipleDependency Inversion Principle
Dependency Inversion Principle
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent Systems
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent SystemsNew Fault Tolerance Approach using Antecedence Graphs in Multi Agent Systems
New Fault Tolerance Approach using Antecedence Graphs in Multi Agent Systems
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic review
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_Final
 
Ports adapters architecture (hexagonal architecture)
Ports adapters architecture (hexagonal architecture)Ports adapters architecture (hexagonal architecture)
Ports adapters architecture (hexagonal architecture)
 
Software Reliability Engineering
Software Reliability EngineeringSoftware Reliability Engineering
Software Reliability Engineering
 
Software design
Software designSoftware design
Software design
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in Large Software Systems

  • 1. ImpactScale: Quantifying Change Impact to Predict Faults in Large Software Systems Kenichi Kobayashi Akihiko Matsuo Katsuro Inoue Fujitsu Laboratories Fujitsu Laboratories Osaka University Yasuhiro Hayase Manabu Kamimura Toshiaki Yoshino University of Tsukuba Fujitsu Laboratories Fujitsu
  • 2. Overview 1. Background and Goal 2. Definition of ImpactScale 3. Measuring ImpactScale in Real Systems 4. Fault Prediction and Evaluation 5. Summary ICSM2011 @ Williamsburg, 2011-09-27 1 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 3. Background  Fault prediction in maintenance is a difficult task, and predictive performance is not enough only with product metrics.  Product Metrics are metrics extracted from software product such as source code.  Therefore, process metrics, such as code churn and logical coupling, have been combined to product metrics.  Process Metrics are metrics extracted from software process such as change histories. Practitioners’ Point of View  However, in enterprise scenes of maintenance, documents, change histories, bug reports, and specialists’ knowledge are often lost, out-of-date, or unable to be used. ICSM2011 @ Williamsburg, 2011-09-27 2 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 4. Goals  Problem  Process metrics cannot be always obtained.  Motivation  To achieve high predictive performance only with product metrics extractable from source code  Goals  To define a new product metric  To show the effectiveness of the metric ICSM2011 @ Williamsburg, 2011-09-27 3 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 5. Basic Idea Software dependency is one of We assumed Change Impact surviving factors of faults even Analysis enables us to extract implicit after release. dependency. 暗黙の依存関係 implicit dependency Change Impact Analysis Technique to solve the affected areas when some part of software is changed. 修 fix Weakness 修 fix High computational cost 修 fix 修正忘れ missed fix Need not to solve the affected areas. Only need to solve the scale of them. Hypothesis A metric that quantifies the scale of ImpactScale change impact can improve the (abbrev. IS) performance of fault prediction. ICSM2011 @ Williamsburg, 2011-09-27 4 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 6. Overview 1. Background and Goal 2. Definition of ImpactScale 3. Measuring ImpactScale in Real Systems 4. Fault Prediction and Evaluation 5. Summary ICSM2011 @ Williamsburg, 2011-09-27 5 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 7. Overview of ImpactScale Definition  Dependencies are extract Propagation Graph from target software, and Quantity of Propagation Graph is built. Change Impact Code Node from C to A  Propagation Model  Probabilistic propagation Change!  Relation-sensitive propagation  ImpactScale is sum of all Quantities of Change Impact. Dependency Data Node ICSM2011 @ Williamsburg, 2011-09-27 6 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 8. Propagation Graph ① Build dependency graph extracted from target software 《Dependency Graph》 Code Node module, class, function, source code Data Node Dependency Edge DB table, with relation type global variable CALL, READ, WRITE ICSM2011 @ Williamsburg, 2011-09-27 7-1 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 9. Propagation Graph ① Build dependency graph ② Add reverse edges extracted from target software to build Propagation Graph 《Dependency Graph》 《Propagation Graph》 Code Node module, class, function, source code Data Node Dependency Edge DB table, with relation type global variable CALL, READ, WRITE Change impact analysis for ImpactScale is performed on Propagation Graph. ICSM2011 @ Williamsburg, 2011-09-27 7-2 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 10. Probabilistic Propagation  We assume that change impact probabilistically propagates from a node to another node as some Ripple Effect studies. [Hanny72] [Tsantalis05] [Sharafat07] Propagation Probability Quantity of change impact ×0.5 from the source node Change! ×0.5 ×0.5 In this presentation, propagation probability is always 0.5. ICSM2011 @ Williamsburg, 2011-09-27 8 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 11. Relation-sensitive Propagation  To avoid overestimation, we used context information to eliminate unlikely propagation.  We use an edge’s relation type as minimal context information in point of computational time.  Cut Rules determine whether propagation from one node to its next node is cut or not, referring its previous and next edge’s relation type. previous next relation type current relation type next node refer node refer Cut Rule  We call such controlled propagation relation-sensitive propagation.  Computational complexity is practically low. ICSM2011 @ Williamsburg, 2011-09-27 9 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 12. Example of Cut Rules Example from “C” Example from “F” Cut Rule 2 During finding callers, don’t find callees. Change! Change! Cut Rule 1 Cut Rule 3 During finding callees, Don’t find beyond don’t find callers. READ edges. ICSM2011 @ Williamsburg, 2011-09-27 10 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 13. Overview 1. Background and Goal 2. Definition of ImpactScale 3. Measuring ImpactScale in Real Systems 4. Fault Prediction and Evaluation 5. Summary ICSM2011 @ Williamsburg, 2011-09-27 11 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 14. Data Sets for Evaluations Two enterprise accounting systems in different companies Faulty Term Data Set #Faulty #Modules Total LOC #Faults Module Fault- Name Modules Rate Collected 40 DS1 5.8k 1.6M 269 215 3.7% months 40 DS2 7.6k 3.7M 250 208 2.7% months  Common Properties  Collected Metrics  Language: COBOL  7 Existing Metrics  Age: Over 20 years  LOC, WMC, MaxVG, Sections, Calls, Fan-in, Fan-out  ImpactScale ICSM2011 @ Williamsburg, 2011-09-27 12 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 15. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-1 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 16. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-2 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 17. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-3 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 18. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-4 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 19. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-5 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 20. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-6 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 21. Real Example of Calculating ImpactScale DS1 #modules 5.8k Each square- shaped group of modules is a sub-system. ICSM2011 @ Williamsburg, 2011-09-27 13-7 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 22. Measurement Results  Distribution of ImpactScale 4000 Number of Modules Data Set Mean IS Max IS 3000 Long-tailed DS1 86.0 2989.6 2000 DS2 156.5 3338.2 1000 0 ~50 ~100 ~150 ~200 ~250 ~300 ~350 ~400 ~450 ~500 ~550 ~600 ~650 ~700 ~750 ~800 ~850 ~900 ~950 ImpactScale  Calculation Time Practically Spike:  DS1: about 10 sec. short • system-wide dispatcher or  DS2: about 30 sec. • symptom of bad smell ICSM2011 @ Williamsburg, 2011-09-27 14 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 23. ImpactScale and Faults First 20% of modules contain 48.8% faults. IS highly correlates with faults. Module Database Table ImpactScale High 10-quartile Low ICSM2011 @ Williamsburg, 2011-09-27 15 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 24. Overview 1. Background and Goal 2. Definition of ImpactScale 3. Measuring ImpactScale in Real Systems 4. Fault Prediction and Evaluation 5. Summary ICSM2011 @ Williamsburg, 2011-09-27 16 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 25. Overview of Evaluations  Evaluation Procedure  100 times random sub-sampling validation  Evaluations  Fault Prediction RQ1 Does adding ImpactScale to existing product metrics improve predictive performance? • Predicting Faulty or Not Faulty • Effort-aware Fault Prediction RQ2 • Comparison between ImpactScale and Network Measures  Validating ImpactScale Definition RQ3 ICSM2011 @ Williamsburg, 2011-09-27 17 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 26. Predicting Faulty or Not Faulty  Faults are predicted using logistic regression.  MET = Model without ImpactScale / MET+IS = Model with ImpactScale Performance DS1 DS1 Improvem Performance DS2 DS2 Improvem Measure MET MET+IS ent by IS Measure MET MET+IS ent by IS Precision 0.148 0.168 +0.020 Precision 0.139 0.162 +0.020 Recall 0.315 0.392 +0.077 Recall 0.253 0.334 +0.077 F1 0.200 0.234 +0.034 F1 0.177 0.216 +0.034 All improvements are significant in Wilcoxon’s signed rank test. Adding IS improves all performance measures  supports RQ1 is YES. Practitioners’ Point of View  Practically, these Precision/Recall/F1 evaluations are not very useful.  Because in maintenance, high fault-estimated modules tend to be large.  Actually, in the case of DS2, the top 10% of high fault-estimated modules has 24% LOC. It is not effort-effective. ICSM2011 @ Williamsburg, 2011-09-27 18 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 27. Effort-aware Fault Prediction Model  Problem  In maintenance, modules estimated as faulty tend to be large.  A large module needs large effort to be reviewed or tested.  Practitioners’ Opinion  “Budget and schedule are very demanding. We want to find more faults with less effort.”  Therefore, effort-effectiveness is our main concern.  We use “Effort-aware model” [Arisholm06] [Menzies10] [Mende10] # errors( x)  It prioritize modules in the order of relative risk to maximize effort-effectiveness. Effort ( x )  Poisson Regression is used to learn relative risk. ICSM2011 @ Williamsburg, 2011-09-27 19 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 28. Results of Effort-aware Evaluation 《Effort-based Cumulative Lift Chart of DS1》 AUC is the Area Under the Curve of lift chart. AUC shows overall predictive performance. High AUC means high Faults detected performance. ddr10 is “detected defect rate in first 0.296 DS1-MET 10% effort”. ddr10 shows the predictive 0.186 DS1-MET+IS performance in the limited effort. Optimal High ddr10 means high performance. Effort (LOC inspected) Practitioners’ Point of View Performance DS1- DS1- Improvem Measure MET MET+IS ent by IS In maintenance, budget, schedule AUC 0.635 0.680 +0.045 and effort is always limited, therefore, ddr10 is more important. ddr10 0.186 0.296 ×1.60 All improvements are significant in Wilcoxon’s signed rank test. ICSM2011 @ Williamsburg, 2011-09-27 20-1 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 29. Results of Effort-aware Evaluation 《Effort-based Cumulative Lift Chart of DS1》 《Effort-based Cumulative Lift Chart of DS2》 RQ1 Does adding ImpactScale to existing product metrics improve predictive performance? is YES. Faults detected Faults detected 0.343 0.296 DS1-MET DS2-MET DS1-MET+IS 0.225 DS2-MET+IS 0.186 Optimal Optimal Effort (LOC inspected) Effort (LOC inspected) Performance DS1- DS1- Improvem Performance DS2- DS2- Improvem Measure MET MET+IS ent by IS Measure MET MET+IS ent by IS AUC 0.635 0.680 +0.045 AUC 0.669 0.714 +0.045 ddr10 0.186 0.296 ×1.60 ddr10 0.225 0.343 ×1.53 All improvements are significant in Wilcoxon’s signed rank test. ICSM2011 @ Williamsburg, 2011-09-27 20-2 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 30. Comparison with Network Measures  Network Measures  Recently, [Zimmermann et al. ICSE08] applied Social Network Analysis (SNA) on a software dependency graph representing relationships between binary modules of software systems.  Over 50 network measures were used. For example, • in/out Degrees • Network Diameter a.k.a. Page Rank • Closeness • Eigenvector Centrality, etc.  They and some replication studies [Tosun09][Nguyen10] reported they work well in some cases. RQ2 “Does adding ImpactScale to existing product metrics and network measures improve predictive performance?” ICSM2011 @ Williamsburg, 2011-09-27 21 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 31. ImpactScale vs. Network Measures Hierarchical Model Comparison based on Effort-aware Model Model with existing metrics +ImpactScale +network measures Adding ImpactScale improves +network measures +ImpactScale performance. All improvements and deterioration are significant in Models are learned by using Principal Wilcoxon’s signed rank test. Component Poisson Regression. *: P<0.05, **: P<0.01, unmarked: P<0.001 ICSM2011 @ Williamsburg, 2011-09-27 22-1 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 32. ImpactScale vs. Network Measures Hierarchical Model Comparison based on Effort-aware Model Model with existing metrics +ImpactScale +network measures Adding ImpactScale improves +network measures +ImpactScale performance. RQ2 All improvements and deterioration are significant in Models are learned by ImpactScale to existing product metrics and test. YES. “Does adding using Principal Wilcoxon’s signed rank is network measures improve predictive performance?”unmarked: P<0.001 Component Poisson Regression. *: P<0.05, **: P<0.01, ICSM2011 @ Williamsburg, 2011-09-27 22-2 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 33. Validating ImpactScale RQ3 Is considering distant nodes meaningful? 《Test method》 Compare Models with ImpactScale variants with limited maximum distance of path-finding. ddr10 0.40 ddr10 0.45 0.35 0.40 0.35 0.30 0.30 0.25 “Limit=1” 0.25 variant means 0.20 almost 0.20 fan-in + fan-out. 0.15 0.15 DS1 DS2 0.10 0.10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 Limit of Maximum Distance of Path-finding Answer YES. ICSM2011 @ Williamsburg, 2011-09-27 23 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 34. Overview 1. Background and Goal 2. Definition of ImpactScale 3. Measuring ImpactScale in Real Systems 4. Fault Prediction and Evaluation 5. Summary ICSM2011 @ Williamsburg, 2011-09-27 24 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 35. Summary of Evaluations RQ1 YES Does adding ImpactScale to existing product metrics improve predictive performance? YES RQ2 “Does adding ImpactScale to existing product metrics and YES network measures improve predictive performance?” RQ3 Is considering distant nodes meaningful? YES Hypothesis A metric that quantifies the scale of change impact can TRUE improve the performance of fault prediction. ICSM2011 @ Williamsburg, 2011-09-27 25 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 36. Threats to Validity  Language  ImpactScale has no language-specific feature, but the evaluations are done in only COBOL systems. COBOL has a lot of difference from other languages.  Application Domain  The evaluated systems are only in accounting business domain.  Call Graph Analysis  The impact of dynamic dispatching (e.g. polymorphism and reflection) is not assessed. ICSM2011 @ Williamsburg, 2011-09-27 26 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 37. Conclusion  We defined a new product metric quantifying change impact, called ImpactScale.  Probabilistic propagation  Relation-sensitive propagation  Practical computational time even for large-scale software systems  We evaluated its predictive performance in enterprise systems.  Adding ImpactScale improves the performance • Over 1.5 times in first 10% effort (LOC).  Additional Finding • Considering distant nodes in dependency graph is meaningful for fault prediction. ICSM2011 @ Williamsburg, 2011-09-27 27 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 38. Future Works  Extending supported languages  Java, C, C++  Expanding use cases  Rapid risk assessment  Watching violations of modularity  Measuring software decay ICSM2011 @ Williamsburg, 2011-09-27 28 Copyright 2011 FUJITSU LABORATORIES LIMITED
  • 39. Thank you! Kenichi Kobayashi Fujitsu Labs ICSM2011 @ Williamsburg, 2011-09-27 29 Copyright 2011 FUJITSU LABORATORIES LIMITED