论文
用人类认知的基础模型预测程序理解
Predicting Program Comprehension with Foundation Models of Human Cognition
摘要
软件工程取决于开发人员理解代码的能力,但尽管经过了数十年的研究,预测他们如何理解代码仍然是一个开放的挑战。现有方法要么依赖于限制准确性的简化代理测量,要么依赖于需要复杂实验设置的非平凡测量,而这些实验设置难以在实践中扩展和应用。相比之下,最近的心理学研究提出了另一种观点:人类行为可以通过从大规模行为数据中学习到的认知规律来捕获,而不是直接对特定任务的现象进行建模。这个想法将复杂的人类行为视为潜在认知过程的可观察结果,这些过程在任务和领域中一致表现出来。在本文中,我们在程序理解的背景下探讨了这个观点。我们根据之前发表的 9 项程序理解研究评估了 Centaur,这是一个经过 160 项一般心理实验训练的基础模型。我们评估其预测响应分布与人类响应数据的一致性,并将 Centaur 的性能与其基本模型 Llama 3.1 进行比较。为了更好地理解其性能的来源,我们进行了消融研究,以隔离不同信息源的贡献,例如代码工件、任务相关上下文以及先前的试验和参与者的反应。简而言之,我们发现半人马座比其基本模型更符合人类反应模式,对先前试验和反应信息的依赖明显减少,并且从任务相关信息中受益更多。这些发现表明,从一般心理数据中学到的行为模式可以转移到复杂的软件工程任务,例如程序理解。更广泛地说,他们指出人类认知的基础模型作为软件工程中开发人员行为建模的基础。