SlideShare a Scribd company logo
1 of 49
Download to read offline
Studying the Impact of Social
Structures on Software Quality
     Nicolas Bettenburg and Ahmed E. Hassan
        Queen’s University, Kingston, Canada




                         1
“If software developers
                     were angels, debugging
                     would be unnecessary!”
                        (in ‘Why programs fail’, Elsevier 2009)

James Larus
Microsoft Research




                                                                  2
Software errors cost
companies millions of dollars
        each year!




                                3
Where will the errors be?




                            4
Measure the
source code...
  complexity
   cohesion
   coupling
    churn
      ...
     bugs


                 5
...and create a Prediction Model




                                   6
New Source Code


 Measurements




                  Risk of Bugs


                                 7
We can also use a
     prediction model to
     understand factors!
 We can look inside the
Box and study the model!




                    vs
                           8
                               8
In this work:
SOCIAL
STRUCTURES



                9
CASE STUDY



             10
300,000 Bug Reports (BugZilla)


         Linked through
       Change-Log Analysis


224,643 Transactions (CVS)



                                 11
Measure           Measure
Discussion       Post-Release
Metrics             Bugs



 6 months             6 months
                                 time
        Eclipse 3.0


                                        12
Discussion         Social
 CONTENT         STRUCTURES


         4 Dimensions
          of Measures


Measures of     Communication
WORKFLOW         DYNAMICS

                                13
Bug 137808
 Summary:            Exceptions from createFromString lock-up the editor
 Product:            [Modeling] EMF       Reporter:            Patrick Sodre <psodre@gmail.com>
 Component:          Core                 Assignee:            Marcelo Paternostro <marcelop@ca.ibm.com>


                                                                                                           Metadata
 Status:             VERIFIED FIXED       QA Contact:
 Severity:           normal
 Priority:           P3                   CC:                  merks@ca.ibm.com
 Version:            2.2
 Target Milestone:   ---
 Hardware:           PC
 OS:                 Windows XP
 Whiteboard:


                                                                           Opened: 2006-04-20 14:25 -
Description:
                                                                           0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")
                                                                                                        Source Code
has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.

Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java    21 Mar 2006
16:42:30 -0000    1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java    20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }
               }
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
                                                                                                    Patch
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.
                                                                                               Stack Trace
Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.
Discussion         Social
 CONTENT         STRUCTURES


         4 Dimensions
          of Measures


Measures of     Communication
WORKFLOW         DYNAMICS

                                16
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:




                                                                                                                                # PARTICIPANTS IN
 Severity:            normal
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2




                                                                                                                                   DISCUSSION
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")

has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.

Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0



                                                                                                                                    ROLE OF
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v


                                                                                                                                  PARTICIPANTS
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }
               }
               Diagnostic diagnostic =


                                                                                                                                  REPUTATION
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.




                                                                                                                                  CENTRALITY
Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.                                                                     17
Discussion         Social
 CONTENT         STRUCTURES


         4 Dimensions
          of Measures


Measures of     Communication
WORKFLOW         DYNAMICS

                                18
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:
 Severity:            normal
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -


                                                                                                                                  # MESSAGES
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")

has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.




                                                                                                                                   MESSAGE
Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java


                                                                                                                                    LENGTH
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }


                                                                                                                                  REPLY TIME
               }
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.




                                                                                                                                INTERESTINGNESS
Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.                                                                   19
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:
 Severity:            normal
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks
                                                                                                                                  # MESSAGES
Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")

has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.

Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java
===================================================================
                                                                                                                                   MESSAGE
                                                                                                                                    LENGTH
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }
               }



                                                                                                                                  REPLY TIME
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.

Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
                                                                                                                                INTERESTINGNESS
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.                                                                   20
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:
 Severity:            normal
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -


                                                                                                                                  # MESSAGES
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")

has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.




                                                                                                                                   MESSAGE
Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java


                                                                                                                                    LENGTH
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }


                                                                                                                                  REPLY TIME
               }
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.




                                                                                                                                INTERESTINGNESS
Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.                                                                   21
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:
 Severity:            normal
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -


                                                                                                                                  # MESSAGES
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal("badvalue")

has a null message and the property editor relies on returning a non-null
message string to indicate there is an error.




                                                                                                                                   MESSAGE
Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java


                                                                                                                                    LENGTH
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }


                                                                                                                                  REPLY TIME
               }
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
"createFromString" the Editor locks-up until the user explicitly calls "restore
Default Value".
    Is this the expected behavior or could something better be done? For
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.




                                                                                                                                INTERESTINGNESS
Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.                                                                   22
Discussion         Social
 CONTENT         STRUCTURES


         4 Dimensions
          of Measures


Measures of     Communication
WORKFLOW         DYNAMICS

                                23
2.3 Life Cycle of Bug Reports



                                                  FIXED

                                               WORKSFORME

                                                WONTFIX

                                                 INVALID
          UNCONFIRMED
                                                DUPLICATE




          NEW / REOPEN   ASSIGNED   RESOLVED                VERIFIED




                                                CLOSED




                                                                       24
REGRESSION MODEL


the amount of post-release defects into relation of our pre-
release measures. The complete linear regression model has
the form
                       
          Def ects =       αi · ContentM easurei
                       i
                       
                  +        βj · StructuralM easurej
                       j
                       
                  +        γk · ComDynM easurek
                       k
                       
                  +        δl · W orkf lowM easurel + 
                       l

   Based on this model, we will investigate the statistical
relationships between the social interaction measures, which
are represented by the regression variables in the model, and
post release defects, represented by the dependent variable     25
REGRESSION MODEL


Dependentamount of post-release defects into relation of our pre-
       the Variable
(what is predicted)
       release measures. The complete linear regression model has
       the form
                              
                 Def ects =       αi · ContentM easurei
                              i
                              
                         +        βj · StructuralM easurej
                              j
                              
                         +        γk · ComDynM easurek
                              k
                              
                         +        δl · W orkf lowM easurel + 
                              l

          Based on this model, we will investigate the statistical
       relationships between the social interaction measures, which
       are represented by the regression variables in the model, and
       post release defects, represented by the dependent variable     25
REGRESSION MODEL

                        Regression
Dependentamount of post-release defects into relation of our pre-
       the Variable    Coefficients
(what is predicted)
       release measures. The complete linear regression model has
       the form
                               
                  Def ects =       αi · ContentM easurei
                               i
                               
                          +        βj · StructuralM easurej
                               j
                               
                          +        γk · ComDynM easurek
                               k
                               
                          +        δl · W orkf lowM easurel + 
                               l

          Based on this model, we will investigate the statistical
       relationships between the social interaction measures, which
       are represented by the regression variables in the model, and
       post release defects, represented by the dependent variable     25
REGRESSION MODEL

                        Regression
                                             Independent
Dependentamount of post-release defects into relation of our pre-
            Variable
       the             Coefficients
(what is predicted)                            Variables
       release measures. The complete linear regression model has
       the form
                               
                  Def ects =       αi · ContentM easurei
                               i
                               
                          +        βj · StructuralM easurej
                               j
                               
                          +        γk · ComDynM easurek
                               k
                               
                          +        δl · W orkf lowM easurel + 
                               l

          Based on this model, we will investigate the statistical
       relationships between the social interaction measures, which
       are represented by the regression variables in the model, and
       post release defects, represented by the dependent variable     25
APPROACH
    Hierarchical Analysis
    Successfully used in the past! (Cataldo, Mockus)


Goal: Investigate the effect of each
       variable on the model.

 (1) Eliminate variables with high correlation.

(2) Build linear model step-by-step, each time
      adding new independent variables.

(3) At each step, evaluate how well the set of
   independent variables explains the data.
                                                       26
APPROACH
                                   Hierarchical Analysis
                                   (1) Eliminate variables with high correlation.

        :0.


         :0     ;;;

        4(1.    ;;;   ;;;

         4(1    ;;;   ;;;   ;;;

       63.(.          ;;;   ;;;    ;;

        63.(          ;;;    ;;    ;;;    ;;;

      ,./39.          ;;;   ;;;           ;;;    ;;;

       ,./39    ;;    ;;;   ;;;    ;;;    ;;;    ;;;     ;;;

       (!)8           ;;;   ;;;    ;;;    ;;;    ;;;     ;;;      ;;;
                                                                                                                                                                                      !##
     )(0-.(1     ;    ;;;          ;;;    ;;;    ;;;     ;;;      ;;;    ;;;
                                                                                                                                                                                             =
                                                                                                                                                                                             =
      (+).,)     ;    ;;;   ;;;    ;;;    ;;;            ;;;      ;;      ;;      ;;;
!#




                                                                                                                                                                                             ==
       (6.7)          ;;;          ;;;    ;;;    ;;;     ;;;      ;;;    ;;;      ;;;        ;;;

       (/0,1     ;           ;;    ;;;           ;;;              ;;;    ;;;      ;;;        ;;;    ;;;

       (34(5     ;    ;;;   ;;;    ;;;    ;;;    ;;;      ;;      ;;;     ;       ;;;        ;;;    ;;;     ;;;

      1,0-.)                       ;;;    ;;;    ;;;     ;;;      ;;;             ;;;        ;;;    ;;;     ;;;     ;;;

      (1,0-.           ;           ;;;    ;;;    ;;;     ;;;      ;;;    ;;;      ;;;        ;;;    ;;;     ;;;     ;;;     ;;;

      /01-2)    ;;;   ;;;    ;      ;            ;;;     ;;;             ;;;      ;;                 ;                                ;

      (/01-2          ;;;                 ;;     ;;;     ;;;             ;;;      ;;;               ;;;                                       ;;;

      ()-*!     ;;;   ;;;          ;;;           ;;;     ;;;             ;;;      ;;;               ;;;      ;                                ;;;      ;;;

     ()*+,-.    ;;;   ;;;    ;;     ;            ;;;      ;;             ;;;      ;;;               ;;;              ;                                          ;;;

         $%'   ;;;   ;;;   ;;;    ;;;                                            ;;;                ;                                         ;                ;;;    ;;;

                :0.   :0    4(1.   4(1   63.(.   63.(   ,./39.   ,./39   (!)8   )(0-.(1 (+).,)     (6.7)   (/0,1   (34(5   1,0-.)   (1,0-.   /01-2)   (/01-2   ()-*! ()*+,-.   $%'
                                                                                        !
                                                                                                                                                                                                   27
APPROACH
                                   Hierarchical Analysis
                                   (1) Eliminate variables with high correlation.

        :0.


         :0     ;;;

        4(1.    ;;;   ;;;

         4(1    ;;;   ;;;   ;;;

       63.(.          ;;;   ;;;    ;;

        63.(          ;;;    ;;    ;;;    ;;;

      ,./39.


       ,./39    ;;
                      ;;;

                      ;;;
                            ;;;

                            ;;;    ;;;
                                          ;;;

                                          ;;;
                                                 ;;;

                                                 ;;;     ;;;
                                                                                         Correlogram shows
       (!)8


     )(0-.(1     ;
                      ;;;

                      ;;;
                            ;;;    ;;;

                                   ;;;
                                          ;;;

                                          ;;;
                                                 ;;;

                                                 ;;;
                                                         ;;;

                                                         ;;;
                                                                  ;;;

                                                                  ;;;    ;;;
                                                                                        correlation “hotspots”                                                                        !##
                                                                                                                                                                                             =
                                                                                                                                                                                             =
      (+).,)     ;    ;;;   ;;;    ;;;    ;;;            ;;;      ;;      ;;      ;;;
!#




                                                                                                                                                                                             ==
       (6.7)          ;;;          ;;;    ;;;    ;;;     ;;;      ;;;    ;;;      ;;;        ;;;

       (/0,1     ;           ;;    ;;;           ;;;              ;;;    ;;;      ;;;        ;;;    ;;;

       (34(5     ;    ;;;   ;;;    ;;;    ;;;    ;;;      ;;      ;;;     ;       ;;;        ;;;    ;;;     ;;;

      1,0-.)                       ;;;    ;;;    ;;;     ;;;      ;;;             ;;;        ;;;    ;;;     ;;;     ;;;

      (1,0-.           ;           ;;;    ;;;    ;;;     ;;;      ;;;    ;;;      ;;;        ;;;    ;;;     ;;;     ;;;     ;;;

      /01-2)    ;;;   ;;;    ;      ;            ;;;     ;;;             ;;;      ;;                 ;                                ;

      (/01-2          ;;;                 ;;     ;;;     ;;;             ;;;      ;;;               ;;;                                       ;;;

      ()-*!     ;;;   ;;;          ;;;           ;;;     ;;;             ;;;      ;;;               ;;;      ;                                ;;;      ;;;

     ()*+,-.    ;;;   ;;;    ;;     ;            ;;;      ;;             ;;;      ;;;               ;;;              ;                                          ;;;

         $%'   ;;;   ;;;   ;;;    ;;;                                            ;;;                ;                                         ;                ;;;    ;;;

                :0.   :0    4(1.   4(1   63.(.   63.(   ,./39.   ,./39   (!)8   )(0-.(1 (+).,)     (6.7)   (/0,1   (34(5   1,0-.)   (1,0-.   /01-2)   (/01-2   ()-*! ()*+,-.   $%'
                                                                                        !
                                                                                                                                                                                                   27
/01-2)     ;;;   ;;;    ;      ;             ;;;     ;;;             ;;;      ;;               ;                                ;

  (/01-2


   ()-*!     ;;;
                   ;;;

                   ;;;           ;;;APPROACH
                                        ;;     ;;;

                                               ;;;
                                                       ;;;

                                                       ;;;
                                                                       ;;;

                                                                       ;;;
                                                                                ;;;

                                                                                ;;;
                                                                                                ;;;

                                                                                                ;;;      ;
                                                                                                                                          ;;;

                                                                                                                                          ;;;      ;;;



                                Hierarchical Analysis
 ()*+,-.     ;;;   ;;;    ;;      ;            ;;;      ;;             ;;;      ;;;             ;;;              ;                                          ;;;

     $%'    ;;;   ;;;   ;;;     ;;;                                            ;;;              ;                                         ;                ;;;    ;;;

             :0.   :0    4(1.   (1) Eliminate variables with high correlation.
                                 4(1   63.(.   63.(   ,./39.   ,./39   (!)8   )(0-.(1 (+).,)
                                                                                      !
                                                                                               (6.7)   (/0,1   (34(5   1,0-.)   (1,0-.   /01-2)   (/01-2   ()-*! ()*+,-



igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio
olour intensities; negative correlations are marked with a dashed outline.

                            Variance Inflation Factor                                       model that have a variance inflation factor g
            log(Yi )      Model 1 Model 2 Model 3                                           (1) Build analysis with all
                                                                                           We start our model with a regression mode
            NSOURCE
            NSCOM
                             3.38
                             3.34
                                        3.38
                                        3.34
                                                   3.40
                                                   3.36                                      independent variables
                                                                                           all our variables. The variance inflation fa
            NPATCH           3.94       3.88       3.90                                    model are presented in Table II, Model 1. W
            PATCHS           3.84       3.82       3.84                                    variables that have a variance inflation facto
                                                                                           10. Measure VIF of each
                                                                                           (2) We remove the highest one (NMSG) from
            NTRACE           4.62       4.60       4.57
            TRACES           4.78       4.75       4.70
            NLINK            2.24       2.22       1.90                                    model and recompute the variance inflation f
                                                                                              independent variable
            NDEVS            9.32       9.27       1.91                                    reduced set of variables. The resulting mode
            NUSERS           4.55       4.54       2.30
            SNACENT         10.66      10.65         —                                     Table II) contains only one more variable w
            NMSG
            REPLY
                            11.63
                             1.17
                                          —
                                        1.17
                                                     —
                                                   1.17
                                                                                           (3) Remove variable remove the regre
                                                                                           factor larger than 10. We with
                                                                                           (SNACENT) from the model and recomput
                                                                                           factors. highest VIF
            REPLYE           2.04       1.91       1.90
            DLEN             4.21       1.91       1.87                                             In the resulting model (Model 3 in
            DLENE            4.65       1.98       1.96                                    variables have an inflation factor larger than 5
            INT              2.82       2.82       2.60                                    our analysis of multicollinearity.
            INTE             1.71       1.71       1.71
            WA
            WAE
                             2.26
                             2.08
                                        1.99
                                        2.06
                                                   1.96
                                                   2.02
                                                                                           Repeat until Analysis Design
                                                                                           C. Hierarchical all VIF below
                                                                                                threshold (t=10)
                                                                                             After having determined the reduced     set
                                 Table II                                                  variables with low multicollinearity, we pro
            S TEP - WISE ANALYSIS OF MULTICOLLINEARITY.                                                                                                           28
/01-2)     ;;;   ;;;    ;      ;             ;;;     ;;;             ;;;      ;;               ;                                ;

  (/01-2


   ()-*!     ;;;
                   ;;;

                   ;;;           ;;;APPROACH
                                        ;;     ;;;

                                               ;;;
                                                       ;;;

                                                       ;;;
                                                                       ;;;

                                                                       ;;;
                                                                                ;;;

                                                                                ;;;
                                                                                                ;;;

                                                                                                ;;;      ;
                                                                                                                                          ;;;

                                                                                                                                          ;;;      ;;;



                                Hierarchical Analysis
 ()*+,-.     ;;;   ;;;    ;;      ;            ;;;      ;;             ;;;      ;;;             ;;;              ;                                          ;;;

     $%'    ;;;   ;;;   ;;;     ;;;                                            ;;;              ;                                         ;                ;;;    ;;;

             :0.   :0    4(1.   (1) Eliminate variables with high correlation.
                                 4(1   63.(.   63.(   ,./39.   ,./39   (!)8   )(0-.(1 (+).,)
                                                                                      !
                                                                                               (6.7)   (/0,1   (34(5   1,0-.)   (1,0-.   /01-2)   (/01-2   ()-*! ()*+,-



igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio
olour intensities; negative correlations are marked with a dashed outline.

                            Variance Inflation Factor                                       model that have a variance inflation factor g
            log(Yi )      Model 1 Model 2 Model 3                                           (1) Build analysis with all
                                                                                           We start our model with a regression mode
            NSOURCE
            NSCOM
                             3.38
                             3.34
                                        3.38
                                        3.34
                                                   3.40
                                                   3.36                                      independent variables
                                                                                           all our variables. The variance inflation fa
            NPATCH           3.94       3.88       3.90                                    model are presented in Table II, Model 1. W
            PATCHS           3.84       3.82       3.84                                    variables that have a variance inflation facto
                                                                                           10. Measure VIF of each
                                                                                           (2) We remove the highest one (NMSG) from
            NTRACE           4.62       4.60       4.57
            TRACES           4.78       4.75       4.70
            NLINK            2.24       2.22       1.90                                    model and recompute the variance inflation f
                                                                                              independent variable
            NDEVS            9.32       9.27       1.91                                    reduced set of variables. The resulting mode
            NUSERS           4.55       4.54       2.30
            SNACENT         10.66      10.65         —                                     Table II) contains only one more variable w
            NMSG
            REPLY
                            11.63
                             1.17
                                          —
                                        1.17
                                                     —
                                                   1.17
                                                                                           (3) Remove variable remove the regre
                                                                                           factor larger than 10. We with
                                                                                           (SNACENT) from the model and recomput
                                                                                           factors. highest VIF
            REPLYE           2.04       1.91       1.90
            DLEN             4.21       1.91       1.87                                             In the resulting model (Model 3 in
            DLENE            4.65       1.98       1.96                                    variables have an inflation factor larger than 5
            INT              2.82       2.82       2.60                                    our analysis of multicollinearity.
            INTE             1.71       1.71       1.71
            WA
            WAE
                             2.26
                             2.08
                                        1.99
                                        2.06
                                                   1.96
                                                   2.02
                                                                                           Repeat until Analysis Design
                                                                                           C. Hierarchical all VIF below
                                                                                                threshold (t=10)
                                                                                             After having determined the reduced     set
                                 Table II                                                  variables with low multicollinearity, we pro
            S TEP - WISE ANALYSIS OF MULTICOLLINEARITY.                                                                                                           28
/01-2)     ;;;   ;;;    ;      ;             ;;;     ;;;             ;;;      ;;               ;                                ;

  (/01-2


   ()-*!     ;;;
                   ;;;

                   ;;;           ;;;APPROACH
                                        ;;     ;;;

                                               ;;;
                                                       ;;;

                                                       ;;;
                                                                       ;;;

                                                                       ;;;
                                                                                ;;;

                                                                                ;;;
                                                                                                ;;;

                                                                                                ;;;      ;
                                                                                                                                          ;;;

                                                                                                                                          ;;;      ;;;



                                Hierarchical Analysis
 ()*+,-.     ;;;   ;;;    ;;      ;            ;;;      ;;             ;;;      ;;;             ;;;              ;                                          ;;;

     $%'    ;;;   ;;;   ;;;     ;;;                                            ;;;              ;                                         ;                ;;;    ;;;

             :0.   :0    4(1.   (1) Eliminate variables with high correlation.
                                 4(1   63.(.   63.(   ,./39.   ,./39   (!)8   )(0-.(1 (+).,)
                                                                                      !
                                                                                               (6.7)   (/0,1   (34(5   1,0-.)   (1,0-.   /01-2)   (/01-2   ()-*! ()*+,-



igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio
olour intensities; negative correlations are marked with a dashed outline.

                            Variance Inflation Factor                                       model that have a variance inflation factor g
            log(Yi )      Model 1 Model 2 Model 3                                           (1) Build analysis with all
                                                                                           We start our model with a regression mode
            NSOURCE
            NSCOM
                             3.38
                             3.34
                                        3.38
                                        3.34
                                                   3.40
                                                   3.36                                      independent variables
                                                                                           all our variables. The variance inflation fa
            NPATCH           3.94       3.88       3.90                                    model are presented in Table II, Model 1. W
            PATCHS           3.84       3.82       3.84                                    variables that have a variance inflation facto
                                                                                           10. Measure VIF of each
                                                                                           (2) We remove the highest one (NMSG) from
            NTRACE           4.62       4.60       4.57
            TRACES           4.78       4.75       4.70
            NLINK            2.24       2.22       1.90                                    model and recompute the variance inflation f
                                                                                              independent variable
            NDEVS            9.32       9.27       1.91                                    reduced set of variables. The resulting mode
            NUSERS           4.55       4.54       2.30
            SNACENT         10.66      10.65         —                                     Table II) contains only one more variable w
            NMSG
            REPLY
                            11.63
                             1.17
                                          —
                                        1.17
                                                     —
                                                   1.17
                                                                                           (3) Remove variable remove the regre
                                                                                           factor larger than 10. We with
                                                                                           (SNACENT) from the model and recomput
                                                                                           factors. highest VIF
            REPLYE           2.04       1.91       1.90
            DLEN             4.21       1.91       1.87                                             In the resulting model (Model 3 in
            DLENE            4.65       1.98       1.96                                    variables have an inflation factor larger than 5
            INT              2.82       2.82       2.60                                    our analysis of multicollinearity.
            INTE             1.71       1.71       1.71
            WA
            WAE
                             2.26
                             2.08
                                        1.99
                                        2.06
                                                   1.96
                                                   2.02
                                                                                           Repeat until Analysis Design
                                                                                           C. Hierarchical all VIF below
                                                                                                threshold (t=10)
                                                                                             After having determined the reduced     set
                                 Table II                                                  variables with low multicollinearity, we pro
            S TEP - WISE ANALYSIS OF MULTICOLLINEARITY.                                                                                                           28
APPROACH
                      Hierarchical Analysis
                            (2) Build linear models step-by-step

log(Yi )        MB               M1              M2               M3               M4               M5
CHURN         4.996   ***      4.631   ***     4.658    ***     5.303    ***     3.688    ***     4.470    ***
NSOURCE                        1.694   ***     1.698    ***     1.772    ***     1.769    ***     1.667    ***
NTRACE                          0.79           0.768            0.864            0.881            1.115
NPATCH                         0.209   *       0.210    *       0.284    +       0.231    *       0.291
NSCOM                          1.218           1.194            1.246            1.208            1.244
PATCHS
TRACES
                              12.607
                               1.016
                                       *      12.626
                                               1.012
                                                        Baseline Model:
                                                        *      11.200
                                                                   *
                                                                1.004
                                                                          *     12.736
                                                                                 0.989
                                                                                                 18.207
                                                                                                  0.975
                                                                                                           **


                                                             Code Churn
NLINK                          1.764   ***     1.613    **      1.600
                                                                   **     **     1.666            1.596    +
NPART                                          2.481            2.888            4.480            4.542
NDEVS                                          0.475            0.582            0.385            0.274
NUSERS
REPLY
                                               0.749
                                                           (Ball, Naggapan)
                                                                0.803
                                                                1.019
                                                                                 0.692
                                                                                 0.986
                                                                                                  0.792
                                                                                                  0.982
REPLYE                                                          0.117    ***     0.082    ***     0.044    ***
DLEN                                                            0.936            0.898    *       0.876    +
DLENE                                                           2.499            1.251            2.044
INT                                                             0.829    **      0.821    **      0.963
INTE                                                            1.109            1.013            1.306
WA                                                                               1.432    ***     1.224    +
WAE                                                                              2.718    *       2.169
CON1-3                                                                                            Fig. 2   ***
χ2            559.01 ***        698.5 ***     700.15             731.5   ***      752.3   ***   1055.19    ***
Dev. Expl.   10.71%          13.38 %         13.41 %          14.02 %          14.41 %          26.07 %
∆χ2                            139.48           1.652          31.357             20.28          302.87
*** p0.001, ** p0.01, * p0.05, + p 0.1
                                                                                                                 29
APPROACH
                      Hierarchical Analysis
                            (2) Build linear models step-by-step

log(Yi )        MB               M1              M2               M3               M4               M5
CHURN         4.996   ***      4.631   ***     4.658    ***     5.303    ***     3.688    ***     4.470    ***
NSOURCE                        1.694   ***     1.698    ***     1.772    ***     1.769    ***     1.667    ***
NTRACE                          0.79           0.768            0.864            0.881            1.115
NPATCH                         0.209   *       0.210    *       0.284    +       0.231    *       0.291
NSCOM
PATCHS
                               1.218
                              12.607   *
                                               1.194
                                              12.626
                                                    Adding first dimension
                                                     *       *
                                                                1.246
                                                               11.200
                                                                    *      **
                                                                                 1.208
                                                                                12.736
                                                                                                  1.244
                                                                                                 18.207

                                                     ** Discussion Content
TRACES                         1.016           1.012            1.004            0.989            0.975
NLINK                          1.764   ***     1.613         ** 1.600
                                                                    **     +     1.666            1.596
NPART                                          2.481            2.888            4.480            4.542
NDEVS                                          0.475            0.582            0.385            0.274
NUSERS                                         0.749            0.803            0.692            0.792
REPLY
REPLYE                                            Increase in ***
                                                                explanatory power
                                                                1.019
                                                                0.117   ***
                                                                                 0.986
                                                                                 0.082
                                                                                ***
                                                                                                  0.982
                                                                                                  0.044
DLEN                                                            0.936   *       +0.898            0.876
DLENE
INT
                                                       statistically significant
                                                                2.499
                                                                0.829
                                                               **       **
                                                                                 1.251
                                                                                 0.821
                                                                                                  2.044
                                                                                                  0.963
INTE                                                            1.109            1.013            1.306
WA                                                                               1.432    ***     1.224    +
WAE                                                                              2.718    *       2.169
CON1-3                                                                                            Fig. 2   ***
χ2            559.01 ***        698.5 ***     700.15             731.5   ***      752.3   ***   1055.19    ***
Dev. Expl.   10.71%          13.38 %         13.41 %          14.02 %          14.41 %          26.07 %
∆χ2                            139.48           1.652          31.357             20.28          302.87
*** p0.001, ** p0.01, * p0.05, + p 0.1
                                                                                                                 30
APPROACH
                      Hierarchical Analysis
                            (2) Build linear models step-by-step

log(Yi )        MB               M1              M2               M3               M4               M5
CHURN         4.996   ***      4.631   ***     4.658    ***     5.303    ***     3.688    ***     4.470    ***
NSOURCE
NTRACE
                               1.694
                                0.79
                                       ***     1.698
                                               0.768
                                                        ***     1.772
                                                                0.864   Adding second
                                                                         ***     1.769
                                                                                 0.881
                                                                                          ***     1.667
                                                                                                  1.115
                                                                                                           ***

NPATCH                         0.209   *       0.210    *       0.284    +       0.231
                                                                                 *                0.291
NSCOM
PATCHS
                               1.218
                              12.607   *
                                               1.194
                                              12.626    *
                                                                1.246
                                                               11.200    *
                                                                            dimension **
                                                                                 1.208
                                                                                12.736
                                                                                 *
                                                                                                  1.244
                                                                                                 18.207
TRACES
NLINK
                               1.016
                               1.764   ***
                                               1.012
                                               1.613    **
                                                                1.004
                                                                1.600   Discussion Content
                                                                         **
                                                                                 0.989
                                                                                 1.666
                                                                                 **     +
                                                                                                  0.975
                                                                                                  1.596
NPART                                          2.481            2.888            4.480            4.542
NDEVS                                          0.475            0.582            0.385            0.274
NUSERS                                         0.749            0.803            0.692            0.792
REPLY
REPLYE
                                                                1.019
                                                                0.117     Increase in ***
                                                                         ***
                                                                                 0.986
                                                                                 0.082
                                                                                 ***
                                                                                                  0.982
                                                                                                  0.044
DLEN                                                            0.936            0.898
                                                                                 *           +    0.876
DLENE
INT
                                                                2.499
                                                                0.829
                                                                     explanatory power:
                                                                      **
                                                                                 1.251
                                                                                 0.821
                                                                                 **
                                                                                                  2.044
                                                                                                  0.963
INTE
WA
                                                                1.109
                                                                        not statistically+
                                                                                 1.013
                                                                                 1.432
                                                                                 ***
                                                                                                  1.306
                                                                                                  1.224
WAE                                                                              2.718
                                                                                 *                2.169
CON1-3
χ2            559.01 ***        698.5 ***     700.15            731.5 ***
                                                                          significant! ***
                                                                           752.3 *** 1055.19 ***
                                                                                                  Fig. 2

Dev. Expl.   10.71%          13.38 %         13.41 %          14.02 %          14.41 %          26.07 %
∆χ2                            139.48           1.652          31.357             20.28          302.87
*** p0.001, ** p0.01, * p0.05, + p 0.1
                                                                                                                 31
APPROACH
                      Hierarchical Analysis
                            (2) Build linear models step-by-step

log(Yi )        MB               M1              M2               M3               M4               M5
CHURN         4.996   ***      4.631   ***     4.658    ***     5.303    ***     3.688    ***     4.470    ***
NSOURCE
NTRACE
                               1.694
                                0.79
                                       ***     1.698
                                               0.768
                                                        ***     1.772
                                                                0.864
                                                                         ***     1.769
                                                                                 0.881 Adding
                                                                                          ***     1.667
                                                                                                  1.115
                                                                                                           ***

                               0.209           0.210            0.284            0.231
                                                                                          third **
NPATCH                                 *                *                +             *          0.291
NSCOM                          1.218           1.194            1.246            1.208            1.244
PATCHS                        12.607   *      12.626    *      11.200    *      12.736 *         18.207
TRACES
NLINK
                               1.016
                               1.764   ***
                                               1.012
                                               1.613    **
                                                                1.004
                                                                1.600    **          dimension
                                                                                 0.989
                                                                                 1.666 **       +
                                                                                                  0.975
                                                                                                  1.596
NPART                                          2.481            2.888            4.480            4.542
NDEVS                                          0.475            0.582            0.385            0.274
NUSERS                                         0.749            0.803            0.692            0.792
REPLY
REPLYE
                                                                1.019
                                                                0.117    ***
                                                                                 0.986
                                                                                 0.082Increase in
                                                                                        ***
                                                                                                  0.982
                                                                                                  0.044
                                                                                                ***

                                                                                      explanatory
DLEN                                                            0.936            0.898  *       + 0.876
DLENE                                                           2.499            1.251            2.044
INT                                                             0.829    **      0.821  **        0.963
INTE
WA
                                                                1.109            1.013
                                                                                 1.432    power +
                                                                                        ***
                                                                                                  1.306
                                                                                                  1.224
WAE
CON1-3
                                                                                 2.718
                                                                                       significant!
                                                                                        *         2.169
                                                                                                  Fig. 2
                                                                                                ***
χ2            559.01 ***        698.5 ***     700.15             731.5   ***      752.3   ***   1055.19    ***
Dev. Expl.   10.71%          13.38 %         13.41 %          14.02 %          14.41 %          26.07 %
∆χ2                            139.48           1.652          31.357             20.28          302.87
*** p0.001, ** p0.01, * p0.05, + p 0.1
                                                                                                                 32
APPROACH
                      Hierarchical Analysis
                            (2) Build linear models step-by-step

log(Yi )        MB               M1              M2               M3               M4               M5
CHURN         4.996   ***      4.631   ***     4.658    ***     5.303    ***     3.688    ***     4.470    ***
NSOURCE                        1.694   ***     1.698    ***     1.772    ***     1.769    ***     1.667    ***
NTRACE                          0.79           0.768            0.864            0.881            1.115
NPATCH                         0.209   *       0.210    *       0.284    +       0.231    *       0.291
NSCOM                          1.218           1.194            1.246            1.208            1.244
PATCHS                        12.607   *      12.626    *      11.200    *      12.736    *      18.207    **
TRACES                         1.016           1.012            1.004            0.989            0.975
NLINK                          1.764   ***     1.613    **      1.600    **      1.666    **      1.596    +
NPART                                          2.481            2.888            4.480            4.542
NDEVS                                          0.475            0.582            0.385            0.274
NUSERS                                         0.749            0.803            0.692            0.792
REPLY                                                           1.019            0.986            0.982
REPLYE                                                          0.117    ***     0.082    ***     0.044    ***
DLEN                                                            0.936            0.898    *       0.876    +
DLENE                                                           2.499            1.251            2.044
INT                                                             0.829    **      0.821    **      0.963
INTE                                                            1.109            1.013            1.306
WA                                                                               1.432    ***     1.224    +
WAE                                                                              2.718    *       2.169
CON1-3                                                                                            Fig. 2   ***
χ2            559.01 ***        698.5 ***     700.15             731.5   ***      752.3   ***   1055.19    ***
Dev. Expl.   10.71%          13.38 %         13.41 %          14.02 %          14.41 %          26.07 %
∆χ2                            139.48           1.652          31.357             20.28          302.87
*** p0.001, ** p0.01, * p0.05, + p 0.1
                                                                                                                 33
Model based on       14.41% Variation
Social Structures         Explained




 Model based on        17.04% Variation
 Code Metrics             Explained
   (Zimmermann 2007)

                                          34
Model based on       14.41% Variation
Social Structures         Explained



What happens when we combine both?



 Model based on        17.04% Variation
 Code Metrics             Explained
   (Zimmermann 2007)

                                          34
Model based on      14.41% Variation
 Social Structures      Explained



                     30.77% Variation
Combined Model
                        Explained


 Traditional Model
                     17.04% Variation
   (Zimmermann,
                        Explained
  PROMISE 2007)
                                        35
Size of Patches
                Workflow
                Code Churn
                # Code Examples
Strongest       # Links
Variables
(Odds Ratios)   Length of the Discussion
                Interestigness of Report
                # Patches
                Reply Time


                                           36
Size of Patches
                  Workflow
                  Code Churn
                  # Code,Examples
Strongest           io  n
                  t
                  # Links
             la tion          !
Variablesr
       o   re sa
        C Ca u
(Odds Ratios)
          o t Length of the Discussion
        n     Interestigness of Report
                  # Patches
                  Reply Time


                                         37
38
38
38
38
38

More Related Content

Similar to Studying the impact of Social Structures on Software Quality

Icpc2010 bettenburg
Icpc2010 bettenburgIcpc2010 bettenburg
Icpc2010 bettenburgSAIL_QU
 
The Little Unicorn That Could
The Little Unicorn That CouldThe Little Unicorn That Could
The Little Unicorn That CouldPVS-Studio
 
Analyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioAnalyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioPVS-Studio
 
We continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellWe continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellPVS-Studio
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
Dusting the globe: analysis of NASA World Wind project
Dusting the globe: analysis of NASA World Wind projectDusting the globe: analysis of NASA World Wind project
Dusting the globe: analysis of NASA World Wind projectPVS-Studio
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyBrian Lyttle
 
Penetration Testing for Easy RM to MP3 Converter Application and Post Exploit
Penetration Testing for Easy RM to MP3 Converter Application and Post ExploitPenetration Testing for Easy RM to MP3 Converter Application and Post Exploit
Penetration Testing for Easy RM to MP3 Converter Application and Post ExploitJongWon Kim
 
PVS-Studio vs Chromium. 3-rd Check
PVS-Studio vs Chromium. 3-rd CheckPVS-Studio vs Chromium. 3-rd Check
PVS-Studio vs Chromium. 3-rd CheckAndrey Karpov
 
Test-Driven Design Insights@DevoxxBE 2023.pptx
Test-Driven Design Insights@DevoxxBE 2023.pptxTest-Driven Design Insights@DevoxxBE 2023.pptx
Test-Driven Design Insights@DevoxxBE 2023.pptxVictor Rentea
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
Cppcheck and PVS-Studio compared
Cppcheck and PVS-Studio comparedCppcheck and PVS-Studio compared
Cppcheck and PVS-Studio comparedPVS-Studio
 
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...Andrey Karpov
 
Microsoft, java and you!
Microsoft, java and you!Microsoft, java and you!
Microsoft, java and you!George Adams
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project AnalyzedPVS-Studio
 
How to write clean & testable code without losing your mind
How to write clean & testable code without losing your mindHow to write clean & testable code without losing your mind
How to write clean & testable code without losing your mindAndreas Czakaj
 
Looking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelopLooking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelopPVS-Studio
 

Similar to Studying the impact of Social Structures on Software Quality (20)

Icpc2010 bettenburg
Icpc2010 bettenburgIcpc2010 bettenburg
Icpc2010 bettenburg
 
The Little Unicorn That Could
The Little Unicorn That CouldThe Little Unicorn That Could
The Little Unicorn That Could
 
Grounded Pointers
Grounded PointersGrounded Pointers
Grounded Pointers
 
Analyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioAnalyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-Studio
 
We continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellWe continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShell
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
Dusting the globe: analysis of NASA World Wind project
Dusting the globe: analysis of NASA World Wind projectDusting the globe: analysis of NASA World Wind project
Dusting the globe: analysis of NASA World Wind project
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp Philly
 
Oopp Lab Work
Oopp Lab WorkOopp Lab Work
Oopp Lab Work
 
Penetration Testing for Easy RM to MP3 Converter Application and Post Exploit
Penetration Testing for Easy RM to MP3 Converter Application and Post ExploitPenetration Testing for Easy RM to MP3 Converter Application and Post Exploit
Penetration Testing for Easy RM to MP3 Converter Application and Post Exploit
 
PVS-Studio vs Chromium. 3-rd Check
PVS-Studio vs Chromium. 3-rd CheckPVS-Studio vs Chromium. 3-rd Check
PVS-Studio vs Chromium. 3-rd Check
 
Test-Driven Design Insights@DevoxxBE 2023.pptx
Test-Driven Design Insights@DevoxxBE 2023.pptxTest-Driven Design Insights@DevoxxBE 2023.pptx
Test-Driven Design Insights@DevoxxBE 2023.pptx
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Cppcheck and PVS-Studio compared
Cppcheck and PVS-Studio comparedCppcheck and PVS-Studio compared
Cppcheck and PVS-Studio compared
 
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...
PVS-Studio and Continuous Integration: TeamCity. Analysis of the Open RollerC...
 
Microsoft, java and you!
Microsoft, java and you!Microsoft, java and you!
Microsoft, java and you!
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project Analyzed
 
How to write clean & testable code without losing your mind
How to write clean & testable code without losing your mindHow to write clean & testable code without losing your mind
How to write clean & testable code without losing your mind
 
Looking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelopLooking for Bugs in MonoDevelop
Looking for Bugs in MonoDevelop
 

More from Nicolas Bettenburg

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...Nicolas Bettenburg
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Nicolas Bettenburg
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsNicolas Bettenburg
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeNicolas Bettenburg
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataNicolas Bettenburg
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...Nicolas Bettenburg
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelNicolas Bettenburg
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...Nicolas Bettenburg
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Nicolas Bettenburg
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulNicolas Bettenburg
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived QualityNicolas Bettenburg
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And RecallNicolas Bettenburg
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07Nicolas Bettenburg
 

More from Nicolas Bettenburg (18)

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured Data
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
 
Mud flash
Mud flashMud flash
Mud flash
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
 
Fuzzy Logic in Smart Homes
Fuzzy Logic in Smart HomesFuzzy Logic in Smart Homes
Fuzzy Logic in Smart Homes
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered Harmful
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived Quality
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And Recall
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07
 
Metropolis Instant Radiosity
Metropolis Instant RadiosityMetropolis Instant Radiosity
Metropolis Instant Radiosity
 

Recently uploaded

EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEaurabinda banchhor
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 

Recently uploaded (20)

EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSE
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 

Studying the impact of Social Structures on Software Quality

  • 1. Studying the Impact of Social Structures on Software Quality Nicolas Bettenburg and Ahmed E. Hassan Queen’s University, Kingston, Canada 1
  • 2. “If software developers were angels, debugging would be unnecessary!” (in ‘Why programs fail’, Elsevier 2009) James Larus Microsoft Research 2
  • 3. Software errors cost companies millions of dollars each year! 3
  • 4. Where will the errors be? 4
  • 5. Measure the source code... complexity cohesion coupling churn ... bugs 5
  • 6. ...and create a Prediction Model 6
  • 7. New Source Code Measurements Risk of Bugs 7
  • 8. We can also use a prediction model to understand factors! We can look inside the Box and study the model! vs 8 8
  • 11. 300,000 Bug Reports (BugZilla) Linked through Change-Log Analysis 224,643 Transactions (CVS) 11
  • 12. Measure Measure Discussion Post-Release Metrics Bugs 6 months 6 months time Eclipse 3.0 12
  • 13. Discussion Social CONTENT STRUCTURES 4 Dimensions of Measures Measures of Communication WORKFLOW DYNAMICS 13
  • 14. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Metadata Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") Source Code has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006
  • 15. 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before Patch after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Stack Trace Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem.
  • 16. Discussion Social CONTENT STRUCTURES 4 Dimensions of Measures Measures of Communication WORKFLOW DYNAMICS 16
  • 17. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: # PARTICIPANTS IN Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 DISCUSSION Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 ROLE OF #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v PARTICIPANTS retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = REPUTATION Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. CENTRALITY Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. 17
  • 18. Discussion Social CONTENT STRUCTURES 4 Dimensions of Measures Measures of Communication WORKFLOW DYNAMICS 18
  • 19. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - # MESSAGES Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") has a null message and the property editor relies on returning a non-null message string to indicate there is an error. MESSAGE Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java LENGTH =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } REPLY TIME } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. INTERESTINGNESS Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. 19
  • 20. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks # MESSAGES Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== MESSAGE LENGTH RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } REPLY TIME Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException INTERESTINGNESS at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. 20
  • 21. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - # MESSAGES Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") has a null message and the property editor relies on returning a non-null message string to indicate there is an error. MESSAGE Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java LENGTH =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } REPLY TIME } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. INTERESTINGNESS Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. 21
  • 22. Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - # MESSAGES Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal("badvalue") has a null message and the property editor relies on returning a non-null message string to indicate there is an error. MESSAGE Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java LENGTH =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } REPLY TIME } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from "createFromString" the Editor locks-up until the user explicitly calls "restore Default Value". Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. INTERESTINGNESS Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. 22
  • 23. Discussion Social CONTENT STRUCTURES 4 Dimensions of Measures Measures of Communication WORKFLOW DYNAMICS 23
  • 24. 2.3 Life Cycle of Bug Reports FIXED WORKSFORME WONTFIX INVALID UNCONFIRMED DUPLICATE NEW / REOPEN ASSIGNED RESOLVED VERIFIED CLOSED 24
  • 25. REGRESSION MODEL the amount of post-release defects into relation of our pre- release measures. The complete linear regression model has the form Def ects = αi · ContentM easurei i + βj · StructuralM easurej j + γk · ComDynM easurek k + δl · W orkf lowM easurel + l Based on this model, we will investigate the statistical relationships between the social interaction measures, which are represented by the regression variables in the model, and post release defects, represented by the dependent variable 25
  • 26. REGRESSION MODEL Dependentamount of post-release defects into relation of our pre- the Variable (what is predicted) release measures. The complete linear regression model has the form Def ects = αi · ContentM easurei i + βj · StructuralM easurej j + γk · ComDynM easurek k + δl · W orkf lowM easurel + l Based on this model, we will investigate the statistical relationships between the social interaction measures, which are represented by the regression variables in the model, and post release defects, represented by the dependent variable 25
  • 27. REGRESSION MODEL Regression Dependentamount of post-release defects into relation of our pre- the Variable Coefficients (what is predicted) release measures. The complete linear regression model has the form Def ects = αi · ContentM easurei i + βj · StructuralM easurej j + γk · ComDynM easurek k + δl · W orkf lowM easurel + l Based on this model, we will investigate the statistical relationships between the social interaction measures, which are represented by the regression variables in the model, and post release defects, represented by the dependent variable 25
  • 28. REGRESSION MODEL Regression Independent Dependentamount of post-release defects into relation of our pre- Variable the Coefficients (what is predicted) Variables release measures. The complete linear regression model has the form Def ects = αi · ContentM easurei i + βj · StructuralM easurej j + γk · ComDynM easurek k + δl · W orkf lowM easurel + l Based on this model, we will investigate the statistical relationships between the social interaction measures, which are represented by the regression variables in the model, and post release defects, represented by the dependent variable 25
  • 29. APPROACH Hierarchical Analysis Successfully used in the past! (Cataldo, Mockus) Goal: Investigate the effect of each variable on the model. (1) Eliminate variables with high correlation. (2) Build linear model step-by-step, each time adding new independent variables. (3) At each step, evaluate how well the set of independent variables explains the data. 26
  • 30. APPROACH Hierarchical Analysis (1) Eliminate variables with high correlation. :0. :0 ;;; 4(1. ;;; ;;; 4(1 ;;; ;;; ;;; 63.(. ;;; ;;; ;; 63.( ;;; ;; ;;; ;;; ,./39. ;;; ;;; ;;; ;;; ,./39 ;; ;;; ;;; ;;; ;;; ;;; ;;; (!)8 ;;; ;;; ;;; ;;; ;;; ;;; ;;; !## )(0-.(1 ; ;;; ;;; ;;; ;;; ;;; ;;; ;;; = = (+).,) ; ;;; ;;; ;;; ;;; ;;; ;; ;; ;;; !# == (6.7) ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (/0,1 ; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (34(5 ; ;;; ;;; ;;; ;;; ;;; ;; ;;; ; ;;; ;;; ;;; ;;; 1,0-.) ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (1,0-. ; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; /01-2) ;;; ;;; ; ; ;;; ;;; ;;; ;; ; ; (/01-2 ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ()-*! ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ; ;;; ;;; ()*+,-. ;;; ;;; ;; ; ;;; ;; ;;; ;;; ;;; ; ;;; $%' ;;; ;;; ;;; ;;; ;;; ; ; ;;; ;;; :0. :0 4(1. 4(1 63.(. 63.( ,./39. ,./39 (!)8 )(0-.(1 (+).,) (6.7) (/0,1 (34(5 1,0-.) (1,0-. /01-2) (/01-2 ()-*! ()*+,-. $%' ! 27
  • 31. APPROACH Hierarchical Analysis (1) Eliminate variables with high correlation. :0. :0 ;;; 4(1. ;;; ;;; 4(1 ;;; ;;; ;;; 63.(. ;;; ;;; ;; 63.( ;;; ;; ;;; ;;; ,./39. ,./39 ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; Correlogram shows (!)8 )(0-.(1 ; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; correlation “hotspots” !## = = (+).,) ; ;;; ;;; ;;; ;;; ;;; ;; ;; ;;; !# == (6.7) ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (/0,1 ; ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (34(5 ; ;;; ;;; ;;; ;;; ;;; ;; ;;; ; ;;; ;;; ;;; ;;; 1,0-.) ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; (1,0-. ; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; /01-2) ;;; ;;; ; ; ;;; ;;; ;;; ;; ; ; (/01-2 ;;; ;; ;;; ;;; ;;; ;;; ;;; ;;; ()-*! ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ; ;;; ;;; ()*+,-. ;;; ;;; ;; ; ;;; ;; ;;; ;;; ;;; ; ;;; $%' ;;; ;;; ;;; ;;; ;;; ; ; ;;; ;;; :0. :0 4(1. 4(1 63.(. 63.( ,./39. ,./39 (!)8 )(0-.(1 (+).,) (6.7) (/0,1 (34(5 1,0-.) (1,0-. /01-2) (/01-2 ()-*! ()*+,-. $%' ! 27
  • 32. /01-2) ;;; ;;; ; ; ;;; ;;; ;;; ;; ; ; (/01-2 ()-*! ;;; ;;; ;;; ;;;APPROACH ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ; ;;; ;;; ;;; Hierarchical Analysis ()*+,-. ;;; ;;; ;; ; ;;; ;; ;;; ;;; ;;; ; ;;; $%' ;;; ;;; ;;; ;;; ;;; ; ; ;;; ;;; :0. :0 4(1. (1) Eliminate variables with high correlation. 4(1 63.(. 63.( ,./39. ,./39 (!)8 )(0-.(1 (+).,) ! (6.7) (/0,1 (34(5 1,0-.) (1,0-. /01-2) (/01-2 ()-*! ()*+,- igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio olour intensities; negative correlations are marked with a dashed outline. Variance Inflation Factor model that have a variance inflation factor g log(Yi ) Model 1 Model 2 Model 3 (1) Build analysis with all We start our model with a regression mode NSOURCE NSCOM 3.38 3.34 3.38 3.34 3.40 3.36 independent variables all our variables. The variance inflation fa NPATCH 3.94 3.88 3.90 model are presented in Table II, Model 1. W PATCHS 3.84 3.82 3.84 variables that have a variance inflation facto 10. Measure VIF of each (2) We remove the highest one (NMSG) from NTRACE 4.62 4.60 4.57 TRACES 4.78 4.75 4.70 NLINK 2.24 2.22 1.90 model and recompute the variance inflation f independent variable NDEVS 9.32 9.27 1.91 reduced set of variables. The resulting mode NUSERS 4.55 4.54 2.30 SNACENT 10.66 10.65 — Table II) contains only one more variable w NMSG REPLY 11.63 1.17 — 1.17 — 1.17 (3) Remove variable remove the regre factor larger than 10. We with (SNACENT) from the model and recomput factors. highest VIF REPLYE 2.04 1.91 1.90 DLEN 4.21 1.91 1.87 In the resulting model (Model 3 in DLENE 4.65 1.98 1.96 variables have an inflation factor larger than 5 INT 2.82 2.82 2.60 our analysis of multicollinearity. INTE 1.71 1.71 1.71 WA WAE 2.26 2.08 1.99 2.06 1.96 2.02 Repeat until Analysis Design C. Hierarchical all VIF below threshold (t=10) After having determined the reduced set Table II variables with low multicollinearity, we pro S TEP - WISE ANALYSIS OF MULTICOLLINEARITY. 28
  • 33. /01-2) ;;; ;;; ; ; ;;; ;;; ;;; ;; ; ; (/01-2 ()-*! ;;; ;;; ;;; ;;;APPROACH ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ; ;;; ;;; ;;; Hierarchical Analysis ()*+,-. ;;; ;;; ;; ; ;;; ;; ;;; ;;; ;;; ; ;;; $%' ;;; ;;; ;;; ;;; ;;; ; ; ;;; ;;; :0. :0 4(1. (1) Eliminate variables with high correlation. 4(1 63.(. 63.( ,./39. ,./39 (!)8 )(0-.(1 (+).,) ! (6.7) (/0,1 (34(5 1,0-.) (1,0-. /01-2) (/01-2 ()-*! ()*+,- igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio olour intensities; negative correlations are marked with a dashed outline. Variance Inflation Factor model that have a variance inflation factor g log(Yi ) Model 1 Model 2 Model 3 (1) Build analysis with all We start our model with a regression mode NSOURCE NSCOM 3.38 3.34 3.38 3.34 3.40 3.36 independent variables all our variables. The variance inflation fa NPATCH 3.94 3.88 3.90 model are presented in Table II, Model 1. W PATCHS 3.84 3.82 3.84 variables that have a variance inflation facto 10. Measure VIF of each (2) We remove the highest one (NMSG) from NTRACE 4.62 4.60 4.57 TRACES 4.78 4.75 4.70 NLINK 2.24 2.22 1.90 model and recompute the variance inflation f independent variable NDEVS 9.32 9.27 1.91 reduced set of variables. The resulting mode NUSERS 4.55 4.54 2.30 SNACENT 10.66 10.65 — Table II) contains only one more variable w NMSG REPLY 11.63 1.17 — 1.17 — 1.17 (3) Remove variable remove the regre factor larger than 10. We with (SNACENT) from the model and recomput factors. highest VIF REPLYE 2.04 1.91 1.90 DLEN 4.21 1.91 1.87 In the resulting model (Model 3 in DLENE 4.65 1.98 1.96 variables have an inflation factor larger than 5 INT 2.82 2.82 2.60 our analysis of multicollinearity. INTE 1.71 1.71 1.71 WA WAE 2.26 2.08 1.99 2.06 1.96 2.02 Repeat until Analysis Design C. Hierarchical all VIF below threshold (t=10) After having determined the reduced set Table II variables with low multicollinearity, we pro S TEP - WISE ANALYSIS OF MULTICOLLINEARITY. 28
  • 34. /01-2) ;;; ;;; ; ; ;;; ;;; ;;; ;; ; ; (/01-2 ()-*! ;;; ;;; ;;; ;;;APPROACH ;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ;;; ; ;;; ;;; ;;; Hierarchical Analysis ()*+,-. ;;; ;;; ;; ; ;;; ;; ;;; ;;; ;;; ; ;;; $%' ;;; ;;; ;;; ;;; ;;; ; ; ;;; ;;; :0. :0 4(1. (1) Eliminate variables with high correlation. 4(1 63.(. 63.( ,./39. ,./39 (!)8 )(0-.(1 (+).,) ! (6.7) (/0,1 (34(5 1,0-.) (1,0-. /01-2) (/01-2 ()-*! ()*+,- igure 1. Pairwise correlations of social interaction measures with levels * p0.05, ** p0.01, *** p0.001. Strength of correlatio olour intensities; negative correlations are marked with a dashed outline. Variance Inflation Factor model that have a variance inflation factor g log(Yi ) Model 1 Model 2 Model 3 (1) Build analysis with all We start our model with a regression mode NSOURCE NSCOM 3.38 3.34 3.38 3.34 3.40 3.36 independent variables all our variables. The variance inflation fa NPATCH 3.94 3.88 3.90 model are presented in Table II, Model 1. W PATCHS 3.84 3.82 3.84 variables that have a variance inflation facto 10. Measure VIF of each (2) We remove the highest one (NMSG) from NTRACE 4.62 4.60 4.57 TRACES 4.78 4.75 4.70 NLINK 2.24 2.22 1.90 model and recompute the variance inflation f independent variable NDEVS 9.32 9.27 1.91 reduced set of variables. The resulting mode NUSERS 4.55 4.54 2.30 SNACENT 10.66 10.65 — Table II) contains only one more variable w NMSG REPLY 11.63 1.17 — 1.17 — 1.17 (3) Remove variable remove the regre factor larger than 10. We with (SNACENT) from the model and recomput factors. highest VIF REPLYE 2.04 1.91 1.90 DLEN 4.21 1.91 1.87 In the resulting model (Model 3 in DLENE 4.65 1.98 1.96 variables have an inflation factor larger than 5 INT 2.82 2.82 2.60 our analysis of multicollinearity. INTE 1.71 1.71 1.71 WA WAE 2.26 2.08 1.99 2.06 1.96 2.02 Repeat until Analysis Design C. Hierarchical all VIF below threshold (t=10) After having determined the reduced set Table II variables with low multicollinearity, we pro S TEP - WISE ANALYSIS OF MULTICOLLINEARITY. 28
  • 35. APPROACH Hierarchical Analysis (2) Build linear models step-by-step log(Yi ) MB M1 M2 M3 M4 M5 CHURN 4.996 *** 4.631 *** 4.658 *** 5.303 *** 3.688 *** 4.470 *** NSOURCE 1.694 *** 1.698 *** 1.772 *** 1.769 *** 1.667 *** NTRACE 0.79 0.768 0.864 0.881 1.115 NPATCH 0.209 * 0.210 * 0.284 + 0.231 * 0.291 NSCOM 1.218 1.194 1.246 1.208 1.244 PATCHS TRACES 12.607 1.016 * 12.626 1.012 Baseline Model: * 11.200 * 1.004 * 12.736 0.989 18.207 0.975 ** Code Churn NLINK 1.764 *** 1.613 ** 1.600 ** ** 1.666 1.596 + NPART 2.481 2.888 4.480 4.542 NDEVS 0.475 0.582 0.385 0.274 NUSERS REPLY 0.749 (Ball, Naggapan) 0.803 1.019 0.692 0.986 0.792 0.982 REPLYE 0.117 *** 0.082 *** 0.044 *** DLEN 0.936 0.898 * 0.876 + DLENE 2.499 1.251 2.044 INT 0.829 ** 0.821 ** 0.963 INTE 1.109 1.013 1.306 WA 1.432 *** 1.224 + WAE 2.718 * 2.169 CON1-3 Fig. 2 *** χ2 559.01 *** 698.5 *** 700.15 731.5 *** 752.3 *** 1055.19 *** Dev. Expl. 10.71% 13.38 % 13.41 % 14.02 % 14.41 % 26.07 % ∆χ2 139.48 1.652 31.357 20.28 302.87 *** p0.001, ** p0.01, * p0.05, + p 0.1 29
  • 36. APPROACH Hierarchical Analysis (2) Build linear models step-by-step log(Yi ) MB M1 M2 M3 M4 M5 CHURN 4.996 *** 4.631 *** 4.658 *** 5.303 *** 3.688 *** 4.470 *** NSOURCE 1.694 *** 1.698 *** 1.772 *** 1.769 *** 1.667 *** NTRACE 0.79 0.768 0.864 0.881 1.115 NPATCH 0.209 * 0.210 * 0.284 + 0.231 * 0.291 NSCOM PATCHS 1.218 12.607 * 1.194 12.626 Adding first dimension * * 1.246 11.200 * ** 1.208 12.736 1.244 18.207 ** Discussion Content TRACES 1.016 1.012 1.004 0.989 0.975 NLINK 1.764 *** 1.613 ** 1.600 ** + 1.666 1.596 NPART 2.481 2.888 4.480 4.542 NDEVS 0.475 0.582 0.385 0.274 NUSERS 0.749 0.803 0.692 0.792 REPLY REPLYE Increase in *** explanatory power 1.019 0.117 *** 0.986 0.082 *** 0.982 0.044 DLEN 0.936 * +0.898 0.876 DLENE INT statistically significant 2.499 0.829 ** ** 1.251 0.821 2.044 0.963 INTE 1.109 1.013 1.306 WA 1.432 *** 1.224 + WAE 2.718 * 2.169 CON1-3 Fig. 2 *** χ2 559.01 *** 698.5 *** 700.15 731.5 *** 752.3 *** 1055.19 *** Dev. Expl. 10.71% 13.38 % 13.41 % 14.02 % 14.41 % 26.07 % ∆χ2 139.48 1.652 31.357 20.28 302.87 *** p0.001, ** p0.01, * p0.05, + p 0.1 30
  • 37. APPROACH Hierarchical Analysis (2) Build linear models step-by-step log(Yi ) MB M1 M2 M3 M4 M5 CHURN 4.996 *** 4.631 *** 4.658 *** 5.303 *** 3.688 *** 4.470 *** NSOURCE NTRACE 1.694 0.79 *** 1.698 0.768 *** 1.772 0.864 Adding second *** 1.769 0.881 *** 1.667 1.115 *** NPATCH 0.209 * 0.210 * 0.284 + 0.231 * 0.291 NSCOM PATCHS 1.218 12.607 * 1.194 12.626 * 1.246 11.200 * dimension ** 1.208 12.736 * 1.244 18.207 TRACES NLINK 1.016 1.764 *** 1.012 1.613 ** 1.004 1.600 Discussion Content ** 0.989 1.666 ** + 0.975 1.596 NPART 2.481 2.888 4.480 4.542 NDEVS 0.475 0.582 0.385 0.274 NUSERS 0.749 0.803 0.692 0.792 REPLY REPLYE 1.019 0.117 Increase in *** *** 0.986 0.082 *** 0.982 0.044 DLEN 0.936 0.898 * + 0.876 DLENE INT 2.499 0.829 explanatory power: ** 1.251 0.821 ** 2.044 0.963 INTE WA 1.109 not statistically+ 1.013 1.432 *** 1.306 1.224 WAE 2.718 * 2.169 CON1-3 χ2 559.01 *** 698.5 *** 700.15 731.5 *** significant! *** 752.3 *** 1055.19 *** Fig. 2 Dev. Expl. 10.71% 13.38 % 13.41 % 14.02 % 14.41 % 26.07 % ∆χ2 139.48 1.652 31.357 20.28 302.87 *** p0.001, ** p0.01, * p0.05, + p 0.1 31
  • 38. APPROACH Hierarchical Analysis (2) Build linear models step-by-step log(Yi ) MB M1 M2 M3 M4 M5 CHURN 4.996 *** 4.631 *** 4.658 *** 5.303 *** 3.688 *** 4.470 *** NSOURCE NTRACE 1.694 0.79 *** 1.698 0.768 *** 1.772 0.864 *** 1.769 0.881 Adding *** 1.667 1.115 *** 0.209 0.210 0.284 0.231 third ** NPATCH * * + * 0.291 NSCOM 1.218 1.194 1.246 1.208 1.244 PATCHS 12.607 * 12.626 * 11.200 * 12.736 * 18.207 TRACES NLINK 1.016 1.764 *** 1.012 1.613 ** 1.004 1.600 ** dimension 0.989 1.666 ** + 0.975 1.596 NPART 2.481 2.888 4.480 4.542 NDEVS 0.475 0.582 0.385 0.274 NUSERS 0.749 0.803 0.692 0.792 REPLY REPLYE 1.019 0.117 *** 0.986 0.082Increase in *** 0.982 0.044 *** explanatory DLEN 0.936 0.898 * + 0.876 DLENE 2.499 1.251 2.044 INT 0.829 ** 0.821 ** 0.963 INTE WA 1.109 1.013 1.432 power + *** 1.306 1.224 WAE CON1-3 2.718 significant! * 2.169 Fig. 2 *** χ2 559.01 *** 698.5 *** 700.15 731.5 *** 752.3 *** 1055.19 *** Dev. Expl. 10.71% 13.38 % 13.41 % 14.02 % 14.41 % 26.07 % ∆χ2 139.48 1.652 31.357 20.28 302.87 *** p0.001, ** p0.01, * p0.05, + p 0.1 32
  • 39. APPROACH Hierarchical Analysis (2) Build linear models step-by-step log(Yi ) MB M1 M2 M3 M4 M5 CHURN 4.996 *** 4.631 *** 4.658 *** 5.303 *** 3.688 *** 4.470 *** NSOURCE 1.694 *** 1.698 *** 1.772 *** 1.769 *** 1.667 *** NTRACE 0.79 0.768 0.864 0.881 1.115 NPATCH 0.209 * 0.210 * 0.284 + 0.231 * 0.291 NSCOM 1.218 1.194 1.246 1.208 1.244 PATCHS 12.607 * 12.626 * 11.200 * 12.736 * 18.207 ** TRACES 1.016 1.012 1.004 0.989 0.975 NLINK 1.764 *** 1.613 ** 1.600 ** 1.666 ** 1.596 + NPART 2.481 2.888 4.480 4.542 NDEVS 0.475 0.582 0.385 0.274 NUSERS 0.749 0.803 0.692 0.792 REPLY 1.019 0.986 0.982 REPLYE 0.117 *** 0.082 *** 0.044 *** DLEN 0.936 0.898 * 0.876 + DLENE 2.499 1.251 2.044 INT 0.829 ** 0.821 ** 0.963 INTE 1.109 1.013 1.306 WA 1.432 *** 1.224 + WAE 2.718 * 2.169 CON1-3 Fig. 2 *** χ2 559.01 *** 698.5 *** 700.15 731.5 *** 752.3 *** 1055.19 *** Dev. Expl. 10.71% 13.38 % 13.41 % 14.02 % 14.41 % 26.07 % ∆χ2 139.48 1.652 31.357 20.28 302.87 *** p0.001, ** p0.01, * p0.05, + p 0.1 33
  • 40. Model based on 14.41% Variation Social Structures Explained Model based on 17.04% Variation Code Metrics Explained (Zimmermann 2007) 34
  • 41. Model based on 14.41% Variation Social Structures Explained What happens when we combine both? Model based on 17.04% Variation Code Metrics Explained (Zimmermann 2007) 34
  • 42. Model based on 14.41% Variation Social Structures Explained 30.77% Variation Combined Model Explained Traditional Model 17.04% Variation (Zimmermann, Explained PROMISE 2007) 35
  • 43. Size of Patches Workflow Code Churn # Code Examples Strongest # Links Variables (Odds Ratios) Length of the Discussion Interestigness of Report # Patches Reply Time 36
  • 44. Size of Patches Workflow Code Churn # Code,Examples Strongest io n t # Links la tion ! Variablesr o re sa C Ca u (Odds Ratios) o t Length of the Discussion n Interestigness of Report # Patches Reply Time 37
  • 45. 38
  • 46. 38
  • 47. 38
  • 48. 38
  • 49. 38