Software Visualization Tool for Evaluating API Usage in the Context of Software Ecosystems: A Proof of Concept

Software Ecosystem (SECO) is a consolidated research area in software engineering, emerging as a paradigm for understanding dynamics and relationships among software systems that collaborate with each other to achieve their goals. Understanding the ecosystem and how its elements interact is essential for software evolution, especially for those that provide functions and services for other systems, such as software APIs. Once an API is being used by different software, future changes need to be made in a systematic and appropriate manner, considering the whole ecosystem. However, there is a lack of formal and effective ways for APIs evaluation in the context of SECO. Thus, in this paper, we present Ecolyzer, a prototype tool that aims to support the analysis of API usage considering its ecosystem through interactive visualization. To demonstrate the feasibility of our tool, we conducted a proof of concept (PoC) using an open-source platform API. The results obtained with Ecolyzer are useful and show that the prototype meets the goals described for the accomplishment of this work.

[1]  Mircea Lungu,et al.  Towards reverse engineering software ecosystems , 2008, 2008 IEEE International Conference on Software Maintenance.

[2]  ManikasKonstantinos Revisiting software ecosystems Research , 2016 .

[3]  Jens Knodel,et al.  Towards a Typification of Software Ecosystems , 2015, ICSOB.

[4]  Eric Knauss,et al.  Continuous API Design for Software Ecosystems , 2015, 2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering.

[5]  David G. Messerschmitt,et al.  Software Ecosystem: Understanding an Indispensable Technology and Industry , 2003 .

[6]  Joshua J. Bloch How to design a good API and why it matters , 2006, OOPSLA '06.

[7]  Slinger Jansen,et al.  Scientists' Needs in Modelling Software Ecosystems , 2015, ECSA Workshops.

[8]  Jan Bosch,et al.  From software product lines to software ecosystems , 2009, SPLC.

[9]  Slinger Jansen,et al.  A sense of community: A research agenda for software ecosystems , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[10]  Olavo Barbosa,et al.  A Systematic Mapping Study on Software Ecosystems , 2011, IWSECO@ICSOB.

[11]  Konstantinos Manikas,et al.  Revisiting software ecosystems Research: A longitudinal literature study , 2016, J. Syst. Softw..

[12]  Nick Qi Zhu,et al.  Data Visualization with D3.js Cookbook , 2013 .

[13]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996 .

[14]  Xavier Franch,et al.  Open source software ecosystems: A Systematic mapping , 2017, Inf. Softw. Technol..

[15]  Francisco J. García-Peñalvo,et al.  Mapping the systematic literature studies about software ecosystems , 2018, TEEM.

[16]  Romain Robbes,et al.  The Small Project Observatory: Visualizing software ecosystems , 2010, Sci. Comput. Program..

[17]  Tom Mens,et al.  SECONDA: Software Ecosystem Analysis Dashboard , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[18]  Cláudia Maria Lima Werner,et al.  Towards the Analysis of Software Projects Dependencies: An Exploratory Visual Study of Software Ecosystems , 2013, IWSECO@ICSOB.

[19]  Geir Kjetil Hanssen,et al.  A longitudinal case study of an emerging software ecosystem: Implications for practice and theory , 2012, J. Syst. Softw..

[20]  Gilberto Câmara,et al.  An extensible toolbox for modeling nature-society interactions , 2013, Environ. Model. Softw..

[21]  Davide Spadini,et al.  PyDriller: Python framework for mining software repositories , 2018, ESEC/SIGSOFT FSE.

[22]  Tom Mens,et al.  A framework for analysing and visualising open source software ecosystems , 2010, IWPSE-EVOL '10.

[23]  Krzysztof Czarnecki,et al.  Variability mechanisms in software ecosystems , 2014, Inf. Softw. Technol..

[24]  Juan Carlos Castilla-Rubio,et al.  Modeling the spatial and temporal heterogeneity of deforestation‐driven carbon emissions: the INPE‐EM framework applied to the Brazilian Amazon , 2012 .