p. 303
–317
(15)
Collaboration business processes enable organisations to communicate, interact and cooperate with each other to achieve their business goals. It becomes more and more important to model and analyse collaboration business processes to guarantee their correctness and consistence. Among various formal methods, Petri nets have become one of the major formal methods due to its strong mathematical foundation, rich analysis techniques and graphical representations. Pi calculus, a branch of process algebra, has been proved to be more capable in modelling interactions and mobility. In this paper, we introduce a mapping model between these two formal methods, which integrates the local flow model of Petri nets and the interaction model of Pi calculus to describe collaboration business processes. The state graphs of Petri nets and Pi calculus are combined together to analyse the structure soundness of the unified model. A collaborative reduction tool is developed to support the unified modelling and analysis method.

p. 318
–333
(16)
Class constructors play an indispensable role in the Java language as a mechanism for object creation. However, little empirical evidence exists on constructors, trends in their composition and how a class with too many constructors might influence its understandability by developers. Herein, the authors investigate the applicability of the ‘replace constructors with creation methods’ (RCwCM) refactoring of Kerievsky in five Java systems. The RCwCM was manually applied to a set of classes from each of the five systems in classes containing three or more constructors. The benefits of this refactoring include improved code readability and encapsulation, program understanding and to a lesser extent possible elimination of code duplication. Within each of the five systems, evidence of scope for applying the RCwCM refactoring based on the number of classes with multiple constructors was found. However, problems were encountered that limited its application. These are the nature of inheritance and the different styles of accessing class constructors. In the former, account has to be taken of multiple dependencies if the class is not a leaf class; in the latter, the ‘super’ construct requires careful handling. When considered against the benefits that the RCwCM provides, care needs to be exercised. As with any refactoring effort, the short and long-term benefits need to be compared with the expense outlay (developer time and effort) as well as the opportunity cost.

p. 334
–348
(15)
Software test suite optimisation is one of the most important problems in software engineering research. To achieve this optimisation, a novel approach based on artificial bee colony (ABC) optimisation is proposed here. The work applied in this approach is motivated by the intelligent behaviour of honey bees. Since the ABC system combines local search methods carried out by employed and onlooker bees with global search methods managed by scouts, the approach attains global or near-global optima. Here, the parallel behaviour of the three bees is used to reach the solution generation faster. The performance of the proposed approach is investigated based on coverage-based test adequacy criteria by comparing it with sequential ABC, random testing and genetic algorithm-based approaches. Based on the experimental results, it has been proved that the proposed parallel ABC approach outperforms the other approaches in test suite optimisation.

p. 349
–360
(12)
Selecting appropriate styles for software architectures is important as styles impact characteristics of software (e.g. reliability). Moreover, styles influence how software is built as they determine architectural elements (e.g. components, connectors) and rules on how these elements are integrated in the architecture. Therefore this study presents a method, called SYSAS, for the systematic selection of architecture styles. In SYSAS, style selection is based on (a) characteristics of basic architectural elements that are relevant for the developer, and (b) characteristics of the target system that are visible to the end user. The selection procedure requires ratings about the importance of characteristics of architectural elements and results in a ranking of styles. SYSAS can be applied at system level as well as for choosing styles for individual subsystems. A case study is presented to illustrate SYSAS and its applicability and added benefit. Additional case studies are performed to compare results of SYSAS with judgements of experts.

p. 361
–370
(10)
A challenging problem in path-oriented test data generation is the presence of infeasible paths. Timely detecting these infeasible paths cannot only save test resources but also improve test efficiency. A popular method of detecting infeasible paths is to determine branch correlations, which is a difficult task and usually cannot be done timely and exactly. In this study, the authors propose a method of automatically determining the branch correlations of different conditional statements, therefore detecting infeasible paths. First, some theorems are given to determine branch correlations based on the probabilities of the conditional distribution corresponding to different branches' outcome (i.e. true or false); then, the maximum likelihood estimation is employed to obtain the values of these probabilities; finally, infeasible paths are detected according to branch correlations. The authors apply the proposed method in some typical programs, and the results show that the proposed method can accurately detect infeasible paths. The achievement provides an effective and automatic method of detecting infeasible paths, which is significant in improving the efficiency of software testing.