A structured approach to assess third-party library usage

Modern software systems build on a significant number of external libraries to deliver feature-rich and high-quality software in a cost-efficient and timely manner. As a consequence, these systems contain a considerable amount of third-party code. External libraries thus have a significant impact on maintenance activities in the project. However, most approaches that assess the maintainability of software systems largely neglect this important factor. Hence, risks may remain unidentified, threatening the ability to effectively evolve the system in the future. We propose a structured approach to assess the third-party library usage in software projects and identify potential problems. Industrial experience strongly influences our approach, which we designed in a lightweight way to enable easy adoption in practice. We present an industrial case study showing the applicability of the approach to a real-world software system.

[1]  Jean-Francois Girard,et al.  An Activity-Based Quality Model for Maintainability , 2007, 2007 IEEE International Conference on Software Maintenance.

[2]  Stéphane Ducasse,et al.  The squale model — A practice-based industrial quality model , 2009, 2009 IEEE International Conference on Software Maintenance.

[3]  Reinhold Plösch,et al.  The Quamoco product quality modelling and assessment approach , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[5]  Lars Heinemann,et al.  Understanding API Usage to Support Informed Decision Making in Software Maintenance , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[6]  Elmar Jürgens,et al.  Software quality models: Purposes, usage scenarios and requirements , 2009, 2009 ICSE Workshop on Software Quality.

[7]  Ralf Lämmel,et al.  Large-scale, AST-based API-usage analysis of open-source Java projects , 2011, SAC.

[8]  KitchenhamBarbara,et al.  Towards a Framework for Software Measurement Validation , 1995 .

[9]  Roland J. Weiss,et al.  Identify Impacts of Evolving Third Party Components on Long-Living Software Systems , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[10]  Gerald Kotonya,et al.  Analysing the Impact of Change in COTS-Based Systems , 2005, ICCBSS.

[11]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[12]  Mario Gleirscher,et al.  On the Extent and Nature of Software Reuse in Open Source Java Projects , 2011, ICSR.