EntSciLab | Understanding Software Ecosystems through Visual Analytics and Machine Learning
Welcome to the Computational Enterprise Science Lab Website!
Rahul C. Basole, Professor, Director, Georgia Institute of Technology, Stanford University, Tennenbaum Institute, College of Computing, School of Interactive Computing, PhD, Visualization, Analytics, Ecosystem
page-template,page-template-full_width,page-template-full_width-php,page,page-id-18840,ajax_fade,page_not_loaded,,qode-theme-ver-9.1.3,wpb-js-composer js-comp-ver-4.11.2,vc_responsive

Understanding Software Ecosystems through Visual Analytics and Machine Learning

The software industry is fiercely competitive and highly dynamic with companies of all sizes and geographic location battling for market share and new entrants emerging constantly. To survive in this hypercompetitive environment, companies must continuously innovate, not just in terms of software functionalities but also in ways they are designed, developed, offered and licensed. Ecosystemic thinking is thus critical.

My research examines the complexity of different types of software ecosystems from micro- to macro-level perspectives using emerging computational and visual analytic approaches. My core argument is that the scale, scope, and evolving dynamics of software ecosystems demand novel data-driven research methods and that we can support our understanding and augment decision making through interactive visual analytic approaches.


Some of my recent and ongoing studies include the examination of API and SDK ecosystems [1], digital platforms [2], digital infrastructures [3], dynamics of developer ecosystems [4], software alternatives [5], microservices [6], and global software startup ecosystems [7]. Our investigations are enabled and driven by large-scale, heterogeneous (structured and unstructured) publicly available and proprietary data. Since the goal of my research is to create actionable insights, and not just archival knowledge, my lab develops interactive, visual, human-centered tools (e.g., ecoxight, graphiti, epheno, pulse, etc.) that enable exploration, discovery, and sensemaking of the structure and dynamics of such software ecosystems. A set of sample (static) visualizations at different software ecosystem levels is shown below.

Figure 1. Digital Infrastructure Configurations (Software Tools/Framework Level)

Figure 2. Hidden Platforms and Software Alternatives (Product-Level)

Figure 3. Partnerships in the Microservices Industry (Firm-Level)

There are many exciting open research opportunities in the study of software businesses, platforms, and ecosystems using visual analytics and machine learning that would be worthy of further discussion.


  • What are evolutionary patterns of software startups, platforms, and ecosystem and how do they relate to success and failure? Are there segmental or geographic differences?
  • How do developer ecosystems react and organize to software launches and changes?
  • How do APIs and SDKs complement, enhance, or constrain interfirm relationships?
  • How can software platforms orchestrate complex evolving ecosystems and shield against disruption? What role do developers play?
  • How do firms adopt, experiment, and discard digital infrastructure technologies?
  • How can you anticipate, prepare, and adapt to changes in software ecosystems?
Related Publications