1 / 18

Key Statement Analysis of Software Impact and Cohesion in Programming Languages

This study by David Binkley and collaborators from Loyola College and King’s College London presents a framework for Key Statement Analysis (KSA) to evaluate the impact and cohesion of key statements in software functions. The research utilizes principal variables to quantify these metrics, focusing on their outward influence and inward connectedness. The empirical study highlights that 25% of function size contributes to managing 70% of impact, revealing that achieving higher cohesion can lead to reduced dependence clusters. The findings carry implications for software engineering practices, enhancing the understanding of effective coding strategies.

betrys
Télécharger la présentation

Key Statement Analysis of Software Impact and Cohesion in Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evaluating Key Statements Analysis David Binkley - Loyola College, USA Nicolas Gold, Mark Harman,Zheng Li, Kiarash Mahdavi CREST, King’s College London, UK

  2. Overview • KSA • Two metrics • Impact • Cohesion • Research Questions • Empirical study • Results

  3. Key Statement Analysis (KSA) • Identify key statements • The statements that capture most impact with highest cohesion

  4. Why KSA Many analyses produce far too much e.g. slicing, chopping

  5. Framework

  6. Principal Variables (PV) Bieman and Ott’s Principal Variables • PVG – a global variable assigned in F • PVO – a variable used in an output statement in F • PVG UPVO

  7. r h void cylinder(int r, h) { D=2*r; perimeter=PI*D; undersurface=PI*r*r; sidesurface=perimeter*h; area=2*undersurface+sidesurface; volume=undersurface*h; printf(“\nThe Area is %d\n", ); printf(“\nThe Volume is %d\n", ); } area volume

  8. Metrics for KSA • Impact: outward influence of the key statements • Cohesion: inward connectedness of the key statements

  9. Cohesion

  10. Dependence Cluster

  11. The worst case for KSA If all statements in a module are in a dependence cluster…

  12. Research Questions • Size • Impact • Cohesion • Large dependence cluster

  13. Analysis Subjects

  14. Tools • CodeSurfer • SPSS

  15. Impact

  16. Cohesion

  17. Results • Size • 25% of the function size • Impact • 70% of impact of the function. • Cohesion • More than 80% of cohesion • Large Dependence Cluster • a clear and largely negative impact

  18. less is more

More Related