Debugging complex software systems by means of pathfinder networks Emilio Serrano a, * , Arnaud Quirin b , Juan Botia a , Oscar Cordón b a Universidad de Murcia, Facultad de Informática, Campus Universitario de Espinardo, 30100 Murcia, Spain b European Centre for Soft Computing, Edificio Científico-Tecnológico, 33600 Mieres, Asturias, Spain article info Article history: Received 25 March 2009 Received in revised form 14 September 2009 Accepted 3 November 2009 Keywords: Multi-agent systems Debugging Forensic analysis Pathfinder networks Complex systems abstract This paper introduces a new methodology based on the use of Pathfinder networks (PFNETs) for the debugging of multi-agent systems (MASs). This methodology is specifically designed to develop a forensic analysis (i.e. a debugging process performed on previously recorded data of the MAS run) of MASs showing complex tissues of relationships between agents (i.e. a high complexity in their social level). Like previous works in the field of forensic analysis of MASs, our approach is performed by considering displays of the system activity which aim to be understandable by human beings. These displays allow us to understand the social behavior of the system, discover emergent behaviors, and debug possible undesir- able behaviors. However, it is well known that the visualization of information in a humanly comprehensible way becomes a complex task when large amounts of information have to be represented, as is the case of the social behavior of large-scale MASs. Our meth- odology tackles this problem through the use of PFNETs, which are considered to reduce the data complexity in order to obtain simple representations that show only the most important global interactions in the system. In addition, the proposed methodology is cus- tomizable thanks to the use of two thresholds allowing the user to define the desired spec- ificity level in the display. The proposal is illustrated with a detailed case study considering a complex customer–seller MAS. Ó 2009 Elsevier Inc. All rights reserved. 1. Introduction The term ‘‘multi-agent system” (or MAS) is applied to a system that has, among others, the following elements [16]: (1) an environment En, (2) a set of objects O, (3) an assembly of agents A with A # O, and finally (4) an assembly of relations R which link objects (and thus agents) to each other. A special case for systems in which A ¼ O and En ¼; is a purely communicating MAS. In this case, the relations R define a network: each agent is directly linked to an assembly of other agents, which are called its acquaintances. These systems are very common in distributed artificial intelligence and they are characterized by the fact that the interactions are essentially intentional communications [16]. The interaction among agents is performed by complex dialogues because the agents are autonomous and therefore they should have the ability to refuse requests from other agents. For this reason, these interactions are complex and often unexpected [43]. This is also a consequence of the MAS’ complex system nature, which causes sophisticated behaviors to arise out of a multiplicity of relatively simple inter- actions among the independent agents composing it (what is usually called emergency [22]). If debugging traditional software is considerably complex, it is much more complex to debug a MAS in which intelligent or emergent behaviors may appear. Recent studies indicate the difficulties involved in testing and debugging 0020-0255/$ - see front matter Ó 2009 Elsevier Inc. All rights reserved. doi:10.1016/j.ins.2009.11.007 * Corresponding author. Tel.: +34 868 887882. E-mail addresses: emilioserra@um.es (E. Serrano), arnaud.quirin@softcomputing.es (A. Quirin), juanbot@um.es (J. Botia), oscar.cordon@softcomputing.es (O. Cordón). Information Sciences 180 (2010) 561–583 Contents lists available at ScienceDirect Information Sciences journal homepage: www.elsevier.com/locate/ins