SlideShare a Scribd company logo
1 of 46
Miryung
Kim1,
Dongxiang
Cai2,
Sunghun
Kim2

The
University
of
Texas
at
Austin1


Hong
Kong
University
of
Science
&
Technology2

  It
is
believed
that
refactoring
improves

   software
quality
and
maintainability.



  The
role
of
refactoring
has
not
been

   systematically
investigated
using
fine‐
   grained
revision
history
at
the
method
level.

    We
studied
the
relationships
between
API‐level

     refactorings,
bug
fixes,
the
time
taken
to
fix

     bugs,
and
release
cycles.


     •    The
number
of
bug‐fixes
increases
after
API‐level

          refactorings.

     •    A
large
number
of
refactoring
revisions
include

          bug
fixes
or
are
related
to
later
fixes.


     •    Bug
fix
time
tends
to
be
shorter
after
than
before.


     •    API‐level
refactorings
occur
more
frequently

          before
major
releases
than
after.


  Motivation
&
Related
Work


  Study
Approach
Overview

  Research
Questions
and
Results


  Limitations

  Conclusions

  Refactoring
improves
software
quality
and

   maintainability
[Opdyke,
Griswold,
Mens,
etc.]


  A
lack
of
refactoring
incurs
technical
debt.

   [Cunningham,
Lehman]

  Refactor
mercilessly
[Beck,
eXtreme

   Programming]

  Productivity
improves
after
re‐architecting
a

   system
[Carriere
et
al.]


  Defect
density
decreases
after
refactoring

   [Ratzinger
et
al.]


  The
number
of
bug
reports
increases
after

   refactorings
[Weißgerber
&
Diehl]


  Incomplete
or
inconsistent
refactorings
cause

   bugs
[Görg
and
Weißgeber]

  Code
churns
are
correlated
with
defect

   density
[Nagappan
&
Ball]

  Refactoring
tools
are
buggy
[Daniel
et
al.]

  Programmers
do
not
leverage
refactoring

   tools
effectively
[Murphy‐Hill
et
al.]

  API‐level
refactorings
break
client
code
[Dig

   et
al.]

  Motivation

  Study
Approach
Overview

  Research
Questions
and
Results


  Limitations

  Related
Work

  Conclusions

  Q1:
Are
there
more
bug
fixes
after
API‐level

   refactorings?


  Q2:
Are
API‐level
refactorings
correlated
to

   bug
fixes?

  Q3:
Do
API‐level
refactorings
reduce
the
time

   taken
to
fix
bugs?


  Q4:
Are
there
relatively
fewer
API‐level

   refactorings
before
release
dates?


API‐level

     Refactoring
                       
Fix
Revision


                                        [ICSE
2007,


    Reconstruction
                    S.
Kim
et
al.]


  [ICSE
2007,
M.
Kim
et
al.]



 Identify
Refactoring

                Identify

      Revisions
                    
Fix
Revisions

         
Introducing

                                    Change
Distilling

          Change
                       [TSE
2007,


         [MSR
2005,

                  B.
Fluri
et
al.]


       Sliwerski

et
al.]



Identify
Bug
Life
Time
          Map
line‐level
changes

                                      to
methods


Methods

                        Change

           Add
                   Delete





                                                              Revisions



     r1
   r2
    r3
     r4
     r5
       r6
   r7
   r8

API‐level

   Refactoring
                Rename,
move,
and
signature
changes


  Reconstruction
              at
or
above
the
method
header
level


[ICSE
2007,
M.
Kim
et
al.]




                                                       Foo.mA(int)
       Foo.mA()
                                                       Foo.mB(int)
       Foo.mB()
                                                         Foo.mC()
       Foo.mC()
                                                       Bar.mA(long)
    Boo.mA(long)
                                                       Baz.mA(int)
    Boo.mB(long)
                                                       Baz.mB(int)
Boo.mB(long)
=>
Baz.mB(int)

Foo.mA()
=>
Foo.mA(int)




               Foo.mB()
=>
Foo.mB(int)




   r1
   r2
      r3
   r4
    r5
       r6
   r7
   r8

Boo.mB(long)
=>
Baz.mB(int)

Foo.mA()
=>
Foo.mA(int)




               Foo.mB()
=>
Foo.mB(int)




   r1
   r2
      r3
   r4
    r5
       r6
    r7
   r8

         Ref
                                  Ref


Fix
Revision

      Use
heuristics
to
identify
bug
fix
revisions


   [ICSE
2007,


                           e.g.,
[bug]
[id
#],
[fixed]


  S.
Kim
et
al.]






r1
         r2
      r3
    r4
      r5
      r6
     r7
      r8

          Ref
              Fix
                    Ref/Fix
 Fix


Introducing

       Change
               Use
SVN
blame
(diff)
to
track
down


  [MSR
2005,

               the
changes
that
led
to
fixes.


Sliwerski

et
al.]






                       Bug‐introducing
changes





r1
        r2
         r3
    r4
     r5
     r6
     r7
     r8

          Ref
               Fix
                   Ref/Fix
 Fix

Bug
life
time

Bug‐Introduction
          Bug‐Fix





   r1
    r2
   r3
    r4
    r5
     r6
     r7
    r8

         Ref
          Fix
                 Ref/Fix
 Fix

Change
Distilling
            Map
line‐level
location
to
a
method
level
location


    [TSE
2007,

              Filter
out
meaningless
changes.


   B.
Fluri
et
al.]






  r1
        r2
        r3
     r4
      r5
     r6
      r7
     r8

            Ref
               Fix
                    Ref/Fix
 Fix

Eclipse
JDT
      jEdit
             Columba

                  core

Type
             IDE
              Text
editor
       Email
client

Period
           June
5th,
2001
to
 Sep
2,
2001
to
   July
9th,
2006
to

                  May
16th
2007
 Apr,
2009
            Jan
31st
2010

#
revisions
      15000
            11102
             421

#
of
API‐level
   6755
             3557
              424


refactorings

#
of
bug
fix
      3752
             1073
              150

revisions

#
of
refactoring
 1089
             423
               36

revisions

GT
               source
               #
    Prec.

   recall

    API
      14
 API‐level
refactoring
detection

   14
   0.93
     0.93

Refactoring

     [M.
Kim
et
al.
]


 revision

                  Inspection
of
change
logs
only
     2
    0.50
     0.07

                    Inspection
of
bug
reports
only
   5
    0.75
     0.21

   Fix

      62
 Fix‐revision
detection
[S.
Kim
     49
   0.96
     0.76

 Revision

       et
al.]


                    Inspection
of
change
logs
only
   55
   0.92
     0.81

                    Inspection
of
bug
reports
only
   49
   0.94
     0.74



          Automated
techniques
vs.
Manual
Inspection

  Motivation
and
Related
Work

  Study
Approach
Overview

  Research
Questions
and
Results


  Limitations

  Conclusions

  Study
Method
1:
We
measure
a
fix
rate
(#
fix

 revisions
/
K)
within
K
sliding
window
after

 each
refactoring
revision.


 K
revision
windows

     Ref
   Ref
   Fix
   Ref
 Fix
   Fix
 Ref
   Fix

  Study
Method
1:
We
measure
a
fix
rate
(#
fix

 revisions
/
K)
within
K
sliding
window
after

 each
refactoring
revision.


 K
revision
windows

     Ref
   Ref
   Fix
   Ref
 Fix
   Fix
 Ref
   Fix

  Study
Method
1:
We
measure
a
fix
rate
(#
fix

 revisions
/
K)
within
K
sliding
window
after

 each
refactoring
revision.


 K
revision
windows

     Ref
   Ref
   Fix
   Ref
 Fix
   Fix
 Ref
   Fix

  Study
Method
1:
We
measure
a
fix
rate
(#
fix

 revisions
/
K)
within
K
sliding
window
after

 each
refactoring
revision.


 K
revision
windows

     Ref
   Ref
   Fix
   Ref
 Fix
   Fix
 Ref
   Fix

  Study
Method
1:
We
measure
a
fix
rate
(#
fix

  revisions
/
K)
within
K
sliding
window
after

  each
refactoring
revision.

 K
revision
windows

      Ref
   Ref
   Fix
          Ref
 Fix
   Fix
 Ref
   Fix



  Study
Method
2:
We
measure
a
fix
rate
at

 the
method
level


   M.foo()=>M.bar()

                           Ref
       Fix
     Fix

  Results:
Fix
rates
increase
after
refactorings

  at
a
revision
level


             

             

             
                                                          
 average


                                                         
 fix
rate

                                                              
             

             
                                                Window
size
(K)

                         Refactoring
timing

  Results:
fix
rates
at
the
method
level
also

            increase
after
refactorings

Fix
rate
at
a
method
level

0.40%
                                   1.00%
                                   8.00%

0.30%
                                   0.80%
                                   6.00%

                                         0.60%

0.20%
                                                                            4.00%

                                         0.40%

0.10%
                                   0.20%
                                   2.00%

0.00%
                                   0.00%
                                   0.00%

         ‐30
 ‐20
 ‐10
 0
 10
 20
 30
            ‐30
 ‐20
 ‐10
 0
 10
 20
 30
            ‐30
 ‐20
 ‐10
 0
   10
 20
 30

                                                    Refactoring
timing

                    JDT
                                     jEdit
                                    Columba


            There
is
a
short
term
increase
in
the
number
of
bug
fixes

                                after
refactorings

20
revision
windows

             Ref
              Fix
 Fix





In
Eclipse,
208
refactoring
revisions
are
followed
by
at
least

one
bug
fix
to
the
same
method
location
within
20
revisions.


20
revision
windows

        Ref
              Fix
 Fix





We
randomly
sampled
50
revision
pairs
and
manually

               inspected
them.


R
          F





                            Types
                                Frequency

1.

 To
fix
several
related
bugs,
a
developer
first
refactors
            6%

     code.


2.

 Incorrect
refactorings
cause
a
bug,
inducing
a
later
fix.

         6%


3.

 After
a
developer
performs
refactorings,
she
discovers
a
          2%


     new
bug
and
fixes
it.


4
 Refactoring
with
a
bug
fix
is
incomplete.
A
developer
            50%


   applies
a
supplementary
fix
later.

5.

 A
bug
fix
happened
after
a
refactoring
in
the
same
             36%


     location,
but
they
are
not
related.


  Study
Method
1:
We
measure
the
extent
of

 revisions
that
include
both
refactorings
and

 bug
fixes
at
the
same
time.



  Study
Method
2:
We
measure
the

 percentage
refactoring
revisions
that
have
at

 least
one
bug
fix
applied
to
the
same
method

 location
within
K
revisions.




Probability
of
fixes
and
refactorings
at
the
revision
level



Project
         P(F)
     P(R)
    P(R|F)
 P(R|not
F)
 P(F|R)
 P(F|not
R)

 Eclipse
        25%
      7.3%
     12%
       5.7%
     41.5%
     23.7%

  JDT

  JEdit
        9.7%
      3.8%
    11.5%
      3.0%
     29.1%
      8.9%

Columba
        35.7%
     8.6%
    10.7%
      7.4%
     44.4%
     34.8%

Probability
of
fixes
and
refactorings
at
the
revision
level



Project
         P(F)
     P(R)
    P(R|F)
 P(R|not
F)
 P(F|R)
 P(F|not
R)

 Eclipse
        25%
      7.3%
     12%
       5.7%
     41.5%
     23.7%

  JDT

  JEdit
        9.7%
      3.8%
    11.5%
      3.0%
     29.1%
      8.9%

Columba
        35.7%
     8.6%
    10.7%
      7.4%
     44.4%
     34.8%





   Refactorings
and
bug
fixes
often
occur
together
in
the
same

                           revisions.



  Results:

 #
of
Ref‐revisions
that
were
            #
of
Non‐ref
revisions
that
were

 related
to
fix
within
(0,K]
              related
to
fix
within
(0,K]

                                                       2245

                                                           (14.0%)

                  495
 (32.0%)

         1053
                                  13847
(86.0%)

            (68.0%)

                                  K=20



Refactoring
revisions
are
followed
by
related
bug
fixes
more

           often
than
non‐refactoring
revisions.


  Study
Method:
We
estimate
the
time
taken

 to
fix
bugs
introduced
and
resolved
near
the

 refactoring
timing.


              K
revisions
       K
revisions
     K
revisions





                                           refactoring

 Bug
Introduction
           Bug
Fix
        revision

  Study
Method:
We
estimate
the
time
taken

 to
fix
bugs
introduced
and
resolved
near
the

 refactoring
timing.


              K
revisions
       K
revisions
     K
revisions


                                                      AA




                                           refactoring

 Bug
Introduction
           Bug
Fix
        revision

  Study
Method:
We
estimate
the
time
taken

 to
fix
bugs
introduced
and
resolved
near
the

 refactoring
timing.


              K
revisions
       K
revisions
        K
revisions


                                                         AA



                                        BB

                                              refactoring

 Bug
Introduction
           Bug
Fix
           revision

  Study
Method:
We
estimate
the
time
taken

 to
fix
bugs
introduced
and
resolved
near
the

 refactoring
timing.


              K
revisions
       K
revisions
        K
revisions


                                                         AA



                                        BB
           BA

                                              refactoring

 Bug
Introduction
           Bug
Fix
           revision

  Study
Method:
We
estimate
the
time
taken

 to
fix
bugs
introduced
and
resolved
near
the

 refactoring
timing.


              K
revisions
         K
revisions
      K
revisions


                                                         AA



                             XB
        BB
           BA

                                              refactoring

 Bug
Introduction
           Bug
Fix
           revision

  Results:

average
fix


                K=100

time
(days)

      25
                                 120
                                   250
                 230.2

                           19.7
                                 98.6

      20
                                 100
                                   200

                                           80
                                                                 149.6

      15
                                                                        150

                                           60
                           42.6

      10
                          7.3
                                          100

             5.6
                          40

                    4.4
                         21.5

                                                         12.2
                          38.4
 48.4

       5
                                  20
                                    50

       0
                                   0
                                     0

              BB
   AA
    XB
     BA
           BB
     AA
     XB
     BA
            BB
    AA
     XB
      BA

                            JDT
                            jEdit
                            Columba


            When
it
comes
to
fixing
bugs
introduced
near
the
time
of

            refactorings,
the
average
fix
time
tends
to
decrease
after

                                   refactorings

  Study
Method:
We
measure
refactoring

 rates
and
fix
rates
before
major
releases.



      K
revision
windows



     Ref
    Ref
   Fix
     Ref
 Fix
   Fix
 Ref
   Fix





                    Major
Release

  Results

                             30%
                    Eclipse
JDT


                             25%

         refactoring
rate




                             20%


                             15%


                             10%


                              5%


                              0%

                                    K=‐20
   K=20
    K=‐30
   K=30
    K=‐40
   K=40


                                                     window
size
(K)

There
are
more
refactorings
prior
to
major
version
releases.


  Study
intra‐method
refactorings
and

   complex
refactorings
(e.g.,
use
RefFinder

   [Prete
et
al.])

  Account
for
the
size
of
edits
and
the
number

   of
refactorings


  Phase
&
activity
level


  Micro‐commit
practices

  API‐level
refactoring
and
bug
fixes
are

   correlated
temporally
and
spatially.


  API‐level
refactoring
serves
the
role
of
both

   facilitating
bug
fixes
and
introducing
bugs.



  API‐level
refactoring
occurs
as
a
part
of

   behavior
correcting
edits

   Refactoring
engines
must
support
safe
application
of


   refactorings
and
semantic
changes
together.


   The
result
calls
for
an
in‐depth
study
on
the
cost
and

   benefit
of
refactorings.


  This
research
is
in
part
supported
by
National

   Science
Foundation,
CCF‐1043810.


  We
thank
anonymous
reviewers
and
UIUC

   reading
group
for
their
comments.



More Related Content

Similar to Relationship Between API Refactoring and Bug Fixes

Transformation-based Refactorings: a First Analysis
Transformation-based Refactorings: a First AnalysisTransformation-based Refactorings: a First Analysis
Transformation-based Refactorings: a First AnalysisESUG
 
A New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented SoftwareA New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented Softwarenewreusabilitymetric
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsOscar Chaparro
 
Life after Calc core change
Life after Calc core changeLife after Calc core change
Life after Calc core changeKohei Yoshida
 
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...Shinpei Hayashi
 
Approximating Change Sets at Philips Healthcare: A Case Study
Approximating Change Sets at Philips Healthcare: A Case StudyApproximating Change Sets at Philips Healthcare: A Case Study
Approximating Change Sets at Philips Healthcare: A Case StudyRahul Premraj
 
Maintaining Code
Maintaining CodeMaintaining Code
Maintaining CodeKelly Bauer
 

Similar to Relationship Between API Refactoring and Bug Fixes (10)

slides-josepcoves
slides-josepcovesslides-josepcoves
slides-josepcoves
 
Transformation-based Refactorings: a First Analysis
Transformation-based Refactorings: a First AnalysisTransformation-based Refactorings: a First Analysis
Transformation-based Refactorings: a First Analysis
 
A New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented SoftwareA New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented Software
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
 
Life after Calc core change
Life after Calc core changeLife after Calc core change
Life after Calc core change
 
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
 
Generator
GeneratorGenerator
Generator
 
SUBJECT
SUBJECTSUBJECT
SUBJECT
 
Approximating Change Sets at Philips Healthcare: A Case Study
Approximating Change Sets at Philips Healthcare: A Case StudyApproximating Change Sets at Philips Healthcare: A Case Study
Approximating Change Sets at Philips Healthcare: A Case Study
 
Maintaining Code
Maintaining CodeMaintaining Code
Maintaining Code
 

Recently uploaded

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Relationship Between API Refactoring and Bug Fixes