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

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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

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?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Relationship Between API Refactoring and Bug Fixes