Software systems are expansive, exhibiting behaviors characteristic of complex systems, such as self-organization and emergence. These systems, highlighted by advancements in Large Language Models (LLMs) and other AI applications developed by entities like DeepMind and OpenAI showcase remarkable properties. Despite these advancements, there is a notable absence of effective tools for empirically measuring software system complexity, hindering our ability to compare these systems or assess the impact of modifications on their properties. Addressing this gap, we propose the adoption of statistical complexity, a metric already applied in fields such as physics, biology, and economics, as an empirical measure for evaluating the complexity of software systems. Our approach involves calculating the statistical complexity of software systems modeled as multi-layer networks validated by simulations and theoretical comparisons. This measure offers insights into the organizational structure of software systems, exhibits promising consistency with theoretical expectations, and paves the way for leveraging statistical complexity as a tool to deepen our understanding of complex software systems and into their plausible and unplausible emergent behaviors.
翻译:软件系统规模庞大,展现出复杂系统的典型行为特征,如自组织与涌现性。以DeepMind、OpenAI等机构开发的大型语言模型及其他人工智能应用为代表的系统,呈现出显著特性。尽管技术不断进步,目前仍缺乏有效工具对软件系统复杂性进行实证度量,这限制了我们比较不同系统或评估修改对其性质影响的能力。为填补这一空白,我们提出采用已在物理学、生物学和经济学等领域应用的统计复杂性度量,作为评估软件系统复杂性的实证方法。我们的研究通过计算建模为多层网络的软件系统的统计复杂性,并经过仿真与理论比较验证。该度量方法能够揭示软件系统的组织结构特征,展现出与理论预期良好的一致性,为利用统计复杂性作为深化理解复杂软件系统及其合理与不合理涌现行为的工具开辟了新途径。