Alexander Serebrenik and Mark van den Brand Theil index for aggregation of software metrics values.

Slides:



Advertisements
Similar presentations
Multiple Regression.
Advertisements

Software change management
DOES ECONOMIC GROWTH ALWAYS REDUCE POVERTY? MARC WUYTS INSTITUTE OF SOCIAL STUDIES ERASMUS UNIVERSITY OF ROTTERDAM.
Metrics for Process and Projects
Productivity Perspectives 2004 Industry Productivity Trends Dean Parham Productivity Commission, Canberra.
Theodore Mitrakos Bank of Greece & Panos Tsakloglou Athens University of Economics and Business & IZA INEQUALITY, POVERY AND WELFARE IN GREECE: FROM THE.
Chapter 6 Economic Inequality.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
1 CS115 Class 7: Architecture Due today –Requirements –Read Architecture paper pages 1-15 Next Tuesday –Read Practical UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
This chapter is extracted from Sommerville’s slides. Text book chapter
Mining Large Software Compilations over Time Another Perspective on Software Evolution: Gregorio Robles, Jesus M. Gonzalez-Barahona, Martin Michlmayr,
Research on redistributive effects of Croatian fiscal system Ivica Urban Institute of Public Finance.
[ 1 ] MIGRATION AND PRODUCTIVITY. LESSONS FROM THE UK-SPAIN EXPERIENCES This project is funded by the European Commission, Research Directorate General.
Basic Statistics Foundations of Technology Basic Statistics © 2013 International Technology and Engineering Educators Association, STEM  Center for Teaching.
UML - Development Process 1 Software Development Process Using UML (2)
Chapter 8 Global Stratification
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
Rudi Seljak, Metka Zaletel Statistical Office of the Republic of Slovenia TAX DATA AS A MEANS FOR THE ESSENTIAL REDUCTION OF THE SHORT-TERM SURVEYS RESPONSE.
Alexander Serebrenik, Serguei Roubtsov, and Mark van den Brand D n -based Design Quality Comparison of Industrial Java Applications.
A Reappraisal of Trade Deficit and Income Inequality in the United States: Dr. Yan Li and Christopher Thompson, Dept. of Economics, UWEC Introduction.
Xavier Sala-i-Martin Columbia University June 2008.
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Department of Information Business Discussion of a Large-Scale Open Source Data Collection Methodology Michael Hahsler and Stefan Koch Department of Information.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
The Widening Income Dispersion in Hong Kong: 1986 – 2006 LUI Hon-Kwong Dept of Marketing & International Business Lingnan University (March 14, 2008)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Topic (iii): Macro Editing Methods Paula Mason and Maria Garcia (USA) UNECE Work Session on Statistical Data Editing Ljubljana, Slovenia, 9-11 May 2011.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
3.2 MEASURES OF VARIATION.  An average summarizes a set of data with only one number, but may not be the most meaningful representation. We need a measurement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
1 The Distribution of Faults in a Large Industrial Software System Thomas Ostrand Elaine Weyuker AT&T Labs -- Research Florham Park, NJ.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Statistical Analysis and Expression of Data Reading: Lab Manual Today: Some basics that will help you the entire year The mean or average =  true.
Firm demography and aggregate productivity growth: The Swedish case Lars Fredrik Andersson.
Quality Assessment based on Attribute Series of Software Evolution Paper Presentation for CISC 864 Lionel Marks.
Politecnico di Torino Andrea Capiluppi Characterizing the Open Source Software Process: a Horizontal Study A. Capiluppi, P.
24 May 2016 Martin Gustafsson Stephen Taylor Department of Economics, University of Stellenbosch Department of Basic Education.
Do Now? Why did so many of the early sociological thinkers analyze society from the perspectives of the biological and physical sciences? Do Now: How many.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Assessment of Geant4 Software Quality
The Effects on Development
Why Do We Measure? assess the status of an ongoing project
Bank of Greece Conference on
Measures of Inequality and Their Applications in Indonesia
Ada – 1983 History’s largest design effort
Hussein Issa Alexander Kogan Rutgers University
Feng Shuyi Nico Heerink Ruerd Ruben
Decomposing Inequalities in CO2-Emissions
Predict Failures with Developer Networks and Social Network Analysis
What is Income? What is Wealth?.
Helping a friend out Guidelines for better software
Chapter 27 Software Change.
Distribution of Income
An examination of the purpose and techniques of inequality measurement
Statistics.
Why Do We Measure? assess the status of an ongoing project
Unit 6 part 5 Test Javascript Test.
Metrics for Process and Projects
Changes in Income Inequality in Lithuania: The Role of Policy, Labour Market Structure, Returns and Demographics Comments by Anna Lukyanova IARIW-HSE.
Presentation transcript:

Alexander Serebrenik and Mark van den Brand Theil index for aggregation of software metrics values

Dn – Aggregate – Evolution Metrics and evolution / SET / W&I PAGE 1 Measure: micro, need: macro

Dn – Aggregate – Evolution How can we aggregate values? Industry: sum, average Not always meaningful Theory: distribution Controversial even for LOC Requires separate effort for each metrics Econometry : Measures of inequality (for wealth distribution) Vasa et al. 2009: Gini coefficient −Not decomposable! We: Theil coefficient / SET / W&I PAGE 2

Dn – Aggregate – Evolution Econometry and software metrics Vasa et al. 2009: Gini coefficient Pro: −range 0..1 −for metrics, usually, −quite stable in time, meaningful deviations / SET / W&I PAGE 3

Dn – Aggregate – Evolution Decomposition? Groups of individuals How can we explain inequality? programming language, development team, application domain How does the inequality evolve? How do the explanations evolve? To measure I we use the Theil index! Why? There are just two decomposable indices… / SET / W&I PAGE 4

Dn – Aggregate – Evolution Evolution of the Theil index / SET / W&I PAGE 5 Slight increase in the index values. A huge file added and then removed “Quite stable in time, meaningful deviations” JBoss Debian Adempiere

Dn – Aggregate – Evolution Explanation of inequality in LOC / SET / W&I PAGE 6 Programming language is quite poor as an explanation. Categories/packages are better as an explanation. Most significant part of the inequality is due to the inequality within the groups. Adempiere Package Programming language Debian

Dn – Aggregate – Evolution OK… within a group. But which one? / SET / W&I PAGE 7 Only two languages contribute significantly to the inequality: Java and SQL Different packages contribute most at different versions. More and more migration scripts, some very small (3 LOC), some rather big (18800 LOC). Adempiere

Dn – Aggregate – Evolution Debian (preliminary results) The largest contributors to inequality are ANSI C – presence of header files? / SET / W&I PAGE 8 etchlenny ANSI C47.5%45.9% Shell17.2%12.2% C++15.7%19.0%

Dn – Aggregate – Evolution Conclusions Decomposability for software metrics provides insights in reasons for inequality allows to compare different groups Theil index is a decomposable inequality measure Useful for assessing evolution of a system as a whole of the system subcomponents / SET / W&I PAGE 9

Dn – Aggregate – Evolution Theil index and its decomposition / SET / W&I PAGE 10 Decomposition: groups G 1, …, G n