EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

20
EMI INFSO-RI- 261611 EMI INFSO-RI- 261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

Transcript of EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

Page 1: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

Metrics review

Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

Page 2: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

SA2.2 - Software Quality Assurance in EMI 2

• Feedback: general remarks• Metrics in the Metrics Report

– Successful builds– SLOC count– Backlog management– Priority PMD/checkstyle violation density– Findbugs error density

• Metrics in the SQAP

• New metricsEMI Technical Forum - April 2011

Outline

– Bug density distribution– Time to close bugs– Cumulative time to close bugs– Open bugs– Untouched bugs– Fixed bugs

– Process metrics– Priority bug (time to handle a bug)– Fixed bugs – Open bugs– Untouched bugs– Bug severity distribution– Backlog– Successful build– Integration test effectiveness– Up-to-date documentation– Delay on release schedule

– Product metrics– Unit test coverage– Supported platforms– Total bug density– Bug density per release

– Static analysis– Cyclomatic complexity– C/C++– Java– Python

Page 3: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

3

• UNICORE: Code metrics are based on ETICS but not all code is built with ETICS.

• UNICORE: Metrics should have a priority so that PTs know where to put more effort. It’s not the same checkstyle than findbugs.

• ARC: It’s not clear who are the consumers of the metrics report. Funding bodies? SA2? JRA1? All? Current report is too long and too frequent, not good for any of the above.

• dCache: only make sense to PT if they know implications derived from metrics, and what metrics are exactly needed for.

• gLite: dashboard with metrics results needed.• SA1 QC: prioritise metrics.

EMI Technical Forum - April 2011 SA2.2 - Software Quality Assurance in EMI

Feedback: general remarks

Page 4: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

4

• Successful builds• SLOC count• Backlog management• Priority PMD/checkstyle violation density• Findbugs error density• Bug density distribution• Time to close bugs• Cumulative time to close bugs• Open bugs• Untouched bugs• Fixed bugs

EMI Technical Forum - April 2011 SA2.2 - Software Quality Assurance in EMI

Metrics in the Metrics Report

Page 5: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

5

• For each metric:– Feedback from developers– Our comments– Associated Action

EMI Technical Forum - April 2011 SA2.2 - Software Quality Assurance in EMI

Proposed analysis

Page 6: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• No comments.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 6

Successful builds

Page 7: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: Doesn’t need to be calculated every night. Not even every week. No useful information for daily development.

• dCache: little variations thoughout EMI, so what does it really mean?

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 7

SLOC

Page 8: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: Wrong definition. backlog is not the open_bugs – closed_bugs, but number of non expected open bugs after the grace period, which can vary per component.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 8

Backlog management

Page 9: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: useful to keep code clean but doesn’t need to be evaluated nightly or weekly. Not helpful in bug fixing.

• dCache: % of comments is not really useful since it doesn’t check the quality of the comments.

• gLite: priority to Javadoc.• UNICORE: PMD lower importance for Java. Use CPD.

Filter warnings. Too many! Different type of checks; Checkstyle minimal importance for Java. It doesn’t help bug detection. Rules not clear. Too many errors of little importance. No worth the effort of fixing them. Use javadoc or remove metric.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 9

Error or Style violation density

Page 10: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• dCache: they already run it and improve code when feasible. So metric report doesn’t bring anything extra.

• gLite: focus on java configuration that developers find useful. Same for other languages.

• UNICORE: no threshold given. Sometimes the give false-positives. Proposed formula is incomplete. Output is quite short. Proposal to change metric.EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 10

Findbugs

Page 11: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: doesn’t need to be calculated nightly. When to start evaluating it? Better time to resolve a bug. But does resolve mean the same for all middlewares?

• dCache: manual intervention is needed to explain certain deviations. Is this feasible?

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 11

Time to close bugs

Page 12: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: not useful.• gLite: is the meaning of closed bug the

same for all mw? Better differentiate: open to fix and to certified and then the time to go to production.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 12

Cumulative time to close bugs

Page 13: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: open bugs over period of time and time to solve useful but definition contradictory. Is open how can you calculate time to solve? Comparison with previous periods may be interesting. Cumulative time useless.

• UNICORE: bug density (bugs per KLOC) not useful.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 13

Open bugs

Page 14: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: useful. Moreover it helps to monitor whether priorities are properly assigned.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 14

Untouched bugs

Page 15: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• ARC: is it properly calculated? No double counting?

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 15

Fixed bugs

Page 16: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• Process metrics– Priority bug (time to handle a bug)– Fixed bugs – Open bugs– Untouched bugs– Bug severity distribution– Backlog– Successful build– Integration test effectiveness– Up-to-date documentation– Delay on release schedule

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 16

Metrics in the SQAP

Page 17: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• Product metrics– Unit test coverage– Supported platforms– Total bug density– Bug density per release

• Static analysis– Cyclomatic complexity– C/C++– Java– Python

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 17

Metrics in the SQAP

Page 18: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• Integration test effectiveness: Impossible to calculate in UNICORE.

• Bug density per release: difficult to calculate.• Cyclomatic complexity: how is it going to be

normalised? As it is now doesn’t make sense.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 18

UNICORE feedback

Page 19: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• dCache: – functionality duplication in EMI.– Testing coverage results.

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 19

New metrics

Page 20: EMI INFSO-RI-261611 Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)

EMI I

NFS

O-R

I-261

611

EMI I

NFS

O-R

I-261

611

• Inform PEB which metrics can’t be calculated because of limitations in trackers, etc.

• Separate reports for EC, SA2 and JRA1.• GGUS has to be used!

EMI Technical Forum - April 2011

SA2.2 - Software Quality Assurance in EMI 20

QA feedback