Metrics and techniques to guide software development

The objective of my doctoral dissertation research is to formulate, implement, and validate metrics and techniques towards perceiving some of the influences on software development, predicting the impact of user initiated changes on a software system, and prescribing guidelines to aid decisions affecting software development. Some of the topics addressed in my dissertation are: Analyzing the extent to which changing requirements affect a system’s design, how the delegation of responsibilities to software components can be guided, how Aspect Oriented Programming (AOP) may be combined with Object Oriented Programming (OOP) to best deliver a system’s functionality, whether and how characteristics of a system’s design are influenced by a outsourced and offshore development. The metrics and techniques developed in my dissertation serve as heuristics across the software development life cycle, helping practitioners evaluate options and take decisions. By way of validation, the metrics and techniques have been applied to more than 10 real life software systems. To facilitate the application of the metrics and techniques, I have led the development of automated tools which can process software development artifacts such as code and Unified Modeling Language (UML) diagrams. The design and implementation of such tools are also discussed in the dissertation.

[1]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[2]  Hans Eriksson,et al.  Business Modeling With UML: Business Patterns at Work , 2000 .

[3]  Alain Abran,et al.  Creativity and Innovation in SPI: an Exploratory Paper on their Measurement? , 2001 .

[4]  Robert V. Binder,et al.  Object-oriented software testing , 1994, CACM.

[5]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[6]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[7]  David F. Rico ROI of Software Process Improvement: Metrics for Project Managers and Software Engineers , 2004 .

[8]  Joseph P. Cavano,et al.  A framework for the measurement of software quality , 1978, SIGMETRICS Perform. Evaluation Rev..

[9]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[10]  Richard H. Carver,et al.  An Evaluation of the MOOD Set of Object-Oriented Software Metrics , 1998, IEEE Trans. Software Eng..

[11]  Robert E. Filman,et al.  Inserting ilities by controlling communications , 2002, CACM.

[12]  N. Sadat Shami,et al.  An experimental simulation of multi-site software development , 2004, CASCON.

[13]  Anita D. Carleton,et al.  Case studies of software-process-improvement measurement , 1994, Computer.

[14]  Subhajit Datta,et al.  Agility measurement index: a metric for the crossroads of software development methodologies , 2006, ACM-SE 44.

[15]  Peter Becker,et al.  A Survey of Formal Concept Analysis Support for Software Engineering Activities , 2005, Formal Concept Analysis.

[16]  Subhajit Datta,et al.  COMP-REF: A Technique to Guide the Delegation of Responsibilities to Components in Software Systems , 2008, FASE.

[17]  Bran Selic On the Semantic Foundations of Standard UML 2.0 , 2004, SFM.

[18]  Sushil Krishna Bajracharya,et al.  An analysis of modularity in aspect oriented design , 2005, AOSD '05.

[19]  Craig Larman,et al.  Applying UML and patterns , 1997 .

[20]  Abraham Bernstein,et al.  Predicting defect densities in source code files with decision tree learners , 2006, MSR '06.

[21]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[22]  Jane Cleland-Huang,et al.  Software by Numbers - Low-Risk, High-Return Development , 2003 .

[23]  Alan M. Davis Great Software Debates , 2004 .

[24]  Bikram Sengupta,et al.  A research agenda for distributed software development , 2006, ICSE.

[25]  Tom Mens,et al.  Towards a software evolution benchmark , 2001, IWPSE '01.

[26]  Rini van Solingen,et al.  Measuring the ROI of Software Process Improvement , 2004, IEEE Softw..

[27]  Rudolf K. Keller,et al.  Cohesion as changeability indicator in object-oriented systems , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[28]  Carl K. Chang,et al.  Event-Based Traceability for Managing Evolutionary Change , 2003, IEEE Trans. Software Eng..

[29]  Michael Daskalantonakis,et al.  A Practical View of Software Measurement and Implementation Experiences Within Motorola , 1992, IEEE Trans. Software Eng..

[30]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[31]  Pekka Abrahamsson,et al.  New directions on agile methods: a comparative analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[32]  James M. Bieman,et al.  The evolution of FreeBSD and linux , 2006, ISESE '06.

[33]  Warren Harrison,et al.  An Entropy-Based Measure of Software Complexity , 1992, IEEE Trans. Software Eng..

[34]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[35]  Albert L. Baker,et al.  A philosophy for software measurement , 1990, J. Syst. Softw..

[36]  Ivar Jacobson,et al.  The Unified Modeling Language Reference Manual, Second Edition , 2005 .

[37]  Mik Kersten,et al.  Atlas: a case study in building a web-based learning environment using aspect-oriented programming , 1999, OOPSLA '99.

[38]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[39]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[40]  Daniel Pak-Kong Lun,et al.  Precise modeling of design patterns in UML , 2004, Proceedings. 26th International Conference on Software Engineering.

[41]  R. Engelen,et al.  Project-entropy : A Metric to Understand Resource Allocation Dynamics across Software Projects , 2008 .

[42]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[43]  Jing Liu,et al.  Linking UML models of design and requirement , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[44]  Oscar Nierstrasz,et al.  Finding refactorings via change metrics , 2000, OOPSLA '00.

[45]  Norman E. Fenton,et al.  Measurement : A Necessary Scientific Basis , 2004 .

[46]  Alessandro Bianchi,et al.  Evaluating software degradation through entropy , 2001, Proceedings Seventh International Software Metrics Symposium.

[47]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[48]  Rod Napier,et al.  Measuring What Matters: Simplified Tools for Aligning Teams and Their Stakeholders , 2006 .

[49]  Barry W. Boehm,et al.  The Agile Methods Fray , 2002, Computer.

[50]  Cristina Gómez Seoane,et al.  A Simple yet useful approach to implementing UML Profiles in CASE tools (extended Version) , 2003 .

[51]  Norman E. Fenton,et al.  Software Measurement: Uncertainty and Causal Modeling , 2002, IEEE Softw..

[52]  Lawrence Bernstein,et al.  Trustworthy Systems Through Quantitative Software Engineering , 2005 .

[53]  Alan M. Davis,et al.  Identifying and measuring quality in a software requirements specification , 1993, [1993] Proceedings First International Software Metrics Symposium.

[54]  Meir M. Lehman,et al.  Defining and applying metrics in the context of continuing software evolution , 2001, Proceedings Seventh International Software Metrics Symposium.

[55]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[56]  Peter Freeman Automating software design , 1974, Computer.

[57]  Gail C. Murphy,et al.  Managing crosscutting concerns during software evolution tasks: an inquisitive study , 2002, AOSD '02.

[58]  William N. Robinson,et al.  Requirements interaction management , 2003, CSUR.

[59]  Alan M. Davis,et al.  The Harmony in Rechoirments , 1998, IEEE Softw..

[60]  Jahangir Karimi,et al.  An Automated Software Design Assistant , 1988, IEEE Trans. Software Eng..

[61]  Robert Groth Data Mining: Building Competitive Advantage , 1999 .

[62]  Meir M. Lehman,et al.  Characteristics of Large Systems , 1978 .

[63]  Meir M. Lehman,et al.  A Model of Large Program Development , 1976, IBM Syst. J..

[65]  James M. Bieman,et al.  Measuring Functional Cohesion , 1994, IEEE Trans. Software Eng..

[66]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[67]  Carlos José Pereira de Lucena,et al.  Modularizing design patterns with aspects: a quantitative study , 2005, AOSD '05.

[68]  Ivar Jacobson,et al.  Use Cases and Aspects-Working Seamlessly Together , 2003, J. Object Technol..

[69]  Hans-Arno Jacobsen,et al.  Refactoring Middleware with Aspects , 2003, IEEE Trans. Parallel Distributed Syst..

[70]  Volker Wulf,et al.  How to make software softer—designing tailorable applications , 1997, DIS '97.

[71]  Martin Loomes,et al.  Requirements evolution in the midst of environmental change: a managed approach , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[72]  Joachim Sauer,et al.  Mastering Dual-Shore Development - The Tools and Materials Approach Adapted to Agile Offshoring , 2007, SEAFOOD.

[73]  Ivar Jacobson,et al.  The Unified Modeling Language user guide second edition , 2005 .

[74]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[75]  Subhajit Datta,et al.  Experiences with tracking the effects of changing requirements on Morphbank: a web-based bioinformatics application , 2007, ACM-SE 45.

[77]  Mehdi Sagheb-Tehrani,et al.  Software development process: strategies for handling business rules and requirements , 2002, SOEN.

[78]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[79]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[80]  Mel Ó Cinnéide,et al.  A stochastic approach to automated design improvement , 2003, PPPJ.

[81]  Barry W. Boehm,et al.  Agility through Discipline: A Debate , 2003, Computer.

[82]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[83]  Martin J. Shepperd,et al.  Towards a conceptual framework for object oriented software metrics , 1995, SOEN.

[84]  B. Clark Eight Secrets of Software Measurement , 2002, IEEE Softw..

[85]  James D. Herbsleb,et al.  Architectures, coordination, and distance: Conway’s law and beyond , 1999 .

[86]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[87]  Subhajit Datta Crosscutting score: an indicator metric for aspect orientation , 2006, ACM-SE 44.

[88]  Tom Mens,et al.  Future trends in software evolution metrics , 2001, IWPSE '01.

[89]  E. Putrycz,et al.  Using aspect oriented programming to build a portable load balancing service , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[90]  James D. Herbsleb,et al.  Splitting the organization and integrating the code: Conway's law revisited , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[91]  Alex E. Bell Death by UML Fever , 2004, ACM Queue.

[92]  Michael Geisser,et al.  Evaluating Collaboration Platforms for Offshore Software Development Scenarios , 2007, SEAFOOD.

[93]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[94]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[95]  Subhajit Datta,et al.  Effects of changing requirements: a tracking mechanism for the analysis workflow , 2006, SAC.

[96]  Edward F. Weller Using metrics to manage software projects , 1994, Computer.

[97]  Robert B. Grady,et al.  Successfully applying software metrics , 1994, Computer.