Detecting Feature Interactions and Feature Inconsistencies in CPL Yiqun Xu Thesis submitted to the Faculty of Graduate and Postdoctoral Studies in partial fulfillment of the requirements for the degree of Master of Computer Science Under the auspices of the Ottawa-Carleton Institute for Computer Science University of Ottawa Ottawa, Ontario, Canada September 2003 © Yiqun Xu, Ottawa, Canada, 2003 Abstract Internet Telephony grants users the power of developing their own telephony services, and the Call Processing Language (CPL) has been designed to to fulfil this target. However, this objective confronts a major obstacle known as the feature interaction problem, which describes the situation that one feature or service is violated by another in overall system behaviour. This thesis addresses a Feature Interaction detection approach for CPL. Starting with a review of the issue of Feature Interaction, we extend the traditional Feature Interaction definition to Intention Interaction and Policy Interaction in Internet Telephony. Existing related work is discussed as well. We also give an overview of Internet Telephony, and analyse the structure of CPL. A logic-based language, the Simple Formal Specification Language (SFSL) is introduced to express formally the intention of CPL scripts. Method of translating CPL into SFSL is presented as well. Based on the SFSL specifications, we propose detection rules to identify feature interactions in CPL, locally and pair-wise. An automatic detection tool applying the detection rules is implemented in SWI-Prolog. Finally, in order to validate the correctness of the detection rules, we prove the logical incoherencies behind these rules using Predicate Logic. Keywords: Feature Interaction, Detection, Logic, Prolog, CPL, Internet Telephony, Formal Method, Software Engineering