
Regression testing ensures that the functionality of previous code is not affected by the updates in the modified code. The focus of regression test case generation is to generate test cases for changed functionality. The authors’ research advocates the use of mobile agent-based technology for regression test case generation using syntax and semantics analysis based on model and formal specifications. In this study, the authors presented a tool for adopting multi-agent systems for regression test case generation on distributed environment using standard unified modelling language (UML) models and formal specifications. Different agents are designed to perform model comparison, behaviour comparison, specifications comparison, impact analysis, and regression test case generation. Agents designed in JADE framework perform these tasks by using XML files of UML class diagram, sequence diagram and formal specifications based on Object-Z and OCL. To the best of the authors’ knowledge, no research has reported regression test case generation using mobile agent-based technology along with model and formal specifications. It is found that the use of mobile agents will significantly reduce time and effort for regression test case generation in distributed systems.
This research study explores the use of point clouds for design geometrically complex surfaces based on genetic morphogenesis. To this end, a point-based genetic algorithm and the use of massive unstructured point clouds are proposed as a manipulation method of complex geometries. The intent of the algorithm is to improve the design experience, thus different solutions can be presented to designers. The main objective of this work is to provide examples to be adopted as user own or to help them in the creative process. This is not about providing them with a tool to ‘do’ the designer's creative work, but using it as a creative tool in which the user retains control of it. The powerfulness of this approach relies on the fact that the user can use any/diverse criteria (objective or subjective) to evaluate the individuals proposed as possible solutions. As part of this study, the convergence of the algorithm and the ability of diversity in the final populations of the search process will be demonstrated. Various examples of the use of the algorithm are displayed.
In the past several decades, significant attention has been devoted to the quality assessment of safety-critical (SC) and control systems from many perspectives such as its reliability, safety, and performance. Researchers are continuing to put their efforts to ensure these dependability attributes. This study summarises the state of the art in the field of the reliability of such systems. A detailed literature survey is conducted to investigate the various techniques/models to ensure the reliability of the computer-based systems. The limitations of these models are also analysed with respect to their applicability in SC systems, for which a case study of nuclear power plant system has been taken. The direction for future research is suggested, based on the case study, to extend the further scope of research.
Monitoring and predicting the trend of bug number time series of a software system is crucial for both software project managers and software end-users. For software managers, accurate prediction of bug number of a software system will assist them in making timely decisions, such as effort investment and resource allocation. For software end-users, knowing possible bug number of their systems ahead will enable them to adopt timely actions in coping with the loss caused by possible system failures. This study proposes an approach called SamEn-SVR to combine sample entropy and support vector regression (SVR) to predict software bug number using time series analysis. The basic idea is to use template vectors with the smallest complexity as input vectors for SVR classifiers to ensure predictability of time series. By using Mozilla Firefox bug data, we conduct extensive experiments to compare the proposed approach and state-of-the-art techniques including auto-regressive integrated moving average (ARIMA), X12 enhanced ARIMA and polynomial regression to predict bug number time series. Experimental results demonstrate that the proposed SamEn-SVR approach outperforms state-of-the-art techniques in bug number prediction.
The aim of this study is to detect transportation modes of people by using smartphone sensors. Therefore, a mobile application was developed for this purpose and global positioning system (GPS), accelerometer, and gyroscope sensor data were collected while the subjects were walking, running, biking, and travelling by bus or by car. The application was running for over 8 h. Sensor data were tagged with 12 s intervals and 2500 patterns were obtained. Eleven features were selected from the data set and machine learning methods were applied to detect transportation modes using different sensor combinations. Performances of the methods were discussed in terms of accuracy ratios. Best results were obtained from GPS, accelerometer, and gyroscope sensor combination data using logistic regression method with 99.6% accuracy rate.
Although a test suite is indispensable for conducting effective fault localisation, not much work has been done to study how the test suite impacts fault localisation. This study presents a systematic study for a deeper understanding of their relation. Specifically, the authors' study reveals an interesting fact that there is no strong correlation between localisation effectiveness and the size of the test suite. Furthermore, they show that, in a test suite, (i) the passing test cases that do not execute the faulty statements and the failing test cases have a positive effect on the fault localisation effectiveness, while (ii) the passing test cases that exercise the faulty statements have a negative impact on localisation performance. Their result is drawn from a large-scale empirical analysis on the localisation effectiveness with respect to randomly sampled test suites. This study presents the details of the study and their follow-up investigation on the findings. Their work provides a new perspective on fault localisation and suggests fresh directions of research on an extensively studied topic.
Documents written in natural language constitute a major part of the artefacts produced during the software engineering life cycle. Studies indicate that more than 80% of enterprise data is stored in some sort of unstructured form, mainly as text. Therefore, the growth of user-generated content, especially from social media, provides a huge amount of data which allows discovering the experiences, opinions, and feelings of users. Text mining refers to the set of tools, techniques, and algorithms adopted to extract useful information from unstructured data. Considering that Portuguese ranks among the ten most spoken languages, and it is the second most common in Twitter, this study aims to map current primary studies that relate to the application of text mining for Portuguese. A systematic mapping method was applied and 6075 primary studies were retrieved up to the year 2014. A total of 203 studies were included, from which more than 60% analyse texts written in Brazilian variant. The majority of studies focus on the text classification task. Support vector machine and Naive Bayes appear as main the algorithms. Folha de Sao Paulo and Publico newspapers appear as main corpora, followed by the Portuguese Attorney General's Office corpus and Twitter.
Bug reassignment (also known bug tossing) is a common activity in the life cycle of bug reports, and it increases the cost of time and labour to fix bugs in software projects. In large-scale projects, about 6–10% of bug reports are tossed at least three times. However, the nature of repeatedly-tossed bug reports was usually overlooked in previous works. This study focuses on developer features from four aspects, namely network centrality, developer workspace, developer expertise, and transmissibility of developers, to investigate which factors affect the tossing path length (TPL). By using statistical methods, this study finds that working theme, product, component, and degree centrality are key impact factors affecting the change of TPL. The four key features are then simplified to three core features, namely working theme, product, and component, which contribute about 90% of the variance of TPL. Finally, the two feature groups mentioned above are applied in six machine learning algorithms to predict potential developers for bug reports from Eclipse and Mozilla, and the results validate the effectiveness of the feature groups for developer recommendation. Hence, this study provides an easy-to-use feature selection method to train quality developer recommenders for automatic bug triage in an efficient way.
Owing to factors such as globalisation and the extensive use of the Internet, people are increasingly interested in learning a second and even a third language. From an academic perspective, the process of foreign language learning is defined by methodologies and supported by technology. Language learning applications are composed of learning exercises, which are pedagogical tools to introduce new language concepts (new vocabulary, grammar etc.). The development of this type of applications is complex due to the diversity of language learning methodologies, the variety of execution environments (web, mobile and desktop) and the number of different technologies that can be used. This study proposes a model-driven approach developing software to support different language learning processes. These processes consist of different learning exercises running on different platforms. The authors' proposal describes a metamodel that defines the entities and their relationships to define learning exercises for learning applications. This metamodel enables designers to support the development of language learning applications. This study illustrates the expressiveness and reuses power of the proposal by modelling learning activities from two different learning processes (Lexiway and Duolingo).
Software ageing problems are mainly caused by resource consumption exhaustion, so many researchers focused on predicting software resource consumption. However, the loss analysis using variance has not been done. In this study, the authors propose a framework to analyse variance change in the resource consumption prediction problems. This framework is made up of three steps. First, an original variance decomposition is proposed in view of data sampling and partitioning process. Second, in order to study the influence of data sampling and partitioning process to the variance, the enhanced Friedman test plus Nemenyi post-hoc test is introduced. Lastly, they propose a corrected t-test to analyse the performances of two regression algorithms: auto-regressive integrated moving average and artificial neuron network. In the experiments, they analyse the variance in two levels: operating system level and application level. They find the result that k is equal to ten for k-fold cross-validation is proper for resource consumption prediction, although the contribution to variance is almost same for the sensitivity of forecasted estimation loss in consideration of data partitioning process and the sensitivity of forecasted estimation loss in consideration of data sampling procedure.
The size of a software project is a key measure of predicting software effort at the requirements and analysis phase. Use case points (UCP) is among software size metrics that achieved good reputation because of the increasing popularity of use case driven development methodologies in software industry. Nevertheless, there is no consistent method that can effectively translate the UCP into its corresponding effort. Previous estimation models were built using a very limited number of projects, and they were not well examined. The soft computing techniques were rarely applied for such problem and their performances have not been well investigated using a systematic procedure. This study looks into the accuracy and stability of some soft computing methods for the problem of effort estimation based on UCP. Four neural network methods, adaptive neuro fuzzy inference system and support vector regression have been used in this comparative study. The results suggest that most used soft computing techniques can work well with good accuracy for such problem. Among them, the general regression neural network is the superior one with stable ranking across different accuracy measures. Also, it has been found that using adjustment variables with basic UCP variables, solely or together, have positive impact on the accuracy and stability.
As the mobile information nodes change greatly, the mobile data is rather vague and noisy, making more dimensions for the input information in the data mining based on traditional correlation mapping. The great number of dimensions complicates the network structure, which lowers the efficiency of data mining. To improve accuracy, based on mobile information node, it sets the two-layer neural network with non-linear connection weight as the information distinguishing system, in which the relation between any two figures in two data sets would be described. The association attribute groups would be shown in the form of correlation coefficient matrix, while coefficients of difference in the form of the reciprocal of correlation coefficient matrix. Then combine neural network and rough set (RS), analysing the change of mobile information node from moving direction and distance and simplifying the sample set for neural network learning with RS. At the same time, the input and output data is normalised and the redundant data and redundant attributes deleted to get a simplified attribute set. Finally, the authors learn and train with the simplified sample set to ensure the qualified mining accuracy. The result in the simulation experiment would efficiently improve the mining accuracy and efficiency.
This study presents a new method for handwritten keyword spotting. The innovation in this paper is to provide a model based on neural network architecture and an output based on the margin. At first, a neural network is designed such that its output determines whether a test word as an input is spotted or rejected. The intended neural network has one input layer, two middle layers, and one output layer. Another innovation in this study is optimising neural network weights based on swarm optimisation method. This optimisation model is used to train the neural network, so that the output has adequate margin for classification. The new components of the proposed classifier include new particle coding and new fitness function. Two layers are considered in coding particle, one for activating and deactivating neural network nodes and the other layer for acquiring proper values for weights. Different experiments with variety of parameters were designed for the multi-layer perceptron neural network. The experiments on three datasets: AMA Arabic dataset, IAM English dataset, and IFN/Farsi dataset yielded 83, 77, and 69% values, respectively, in the best condition. The results demonstrate that the proposed method has been better than the previous ones.
Understanding the users' needs is important for designing an application that provides a good usage experience. One can use design thinking (DT) to help identify those needs. Persona is a technique used in DT to support the requirements elicitation by describing user profiles. Nevertheless, the persona descriptions created using a traditional template may include many details about the users that are not relevant to the application design. To overcome this limitation, the authors proposed the PATHY technique to guide software engineers in creating and describing more useful personas, i.e. personas with information that is more relevant to the application design. They conducted an experiment to compare PATHY to another persona-based technique which uses a traditional template and also supports the representation of the application's requirements. In this study, they assessed which of the two techniques helps to generate descriptions of personas that are more focused on potential requirements to consider in the design of the application. In addition, they analysed the efficiency of the techniques and the participants' perception of use. The results showed that PATHY generated more relevant characteristics for the application design than the technique that follows the traditional description. The PATHY was also more efficient for creating personas.
Publishing, analysing or properly accessing the abundant information resulting largely from experimental studies in the biomedical domain are current challenges for the research community. Problems with the extraction of relevant information, redundant data, and lack of associations or provenance are good examples of the main concerns. The innovative nanopublication publishing strategy tries to overcome these issues by representing the essential pieces of publishable information on the Semantic Web. However, existing methods to create these Resource Description Framework-based data snippets are based on complex scripting procedures, hindering their use by the community. Therefore, novel and automated strategies are needed to explore the evident value of nanopublications and to enable data attribution mechanisms, an important feature for data owners. To solve these challenges, the authors introduce the second generation of the COEUS open-source application framework (http://bioinformatics.ua.pt/coeus/), an automated platform to integrate heterogeneous scientific outcomes into nanopublications. This results in seamless integration, making data accessible and citable at the same time. No additional scripting methods are needed. A validation of a nanopublishing pipeline is described to demonstrate the system functionalities, integrating and publishing common biomedical achievements into the Semantic Web ecosystem.
Software testing has become a critical component of the modern software development process. Therefore, a lot of research has been done in this area in recent years, and as a result new algorithms, methodologies, and tools have been created. One of the most used testing strategies is pairwise testing; this technique ensures that all possible combinations of values between any two input parameters are covered by at least one test. In this work, a new algorithm called add factor and stochastic optimisation (AFSO) is used to build small pairwise test suites for non-prime-power orders. Starting from an orthogonal array of order www.w3.org/1999/xlink, AFSO iteratively adds a factor and then reduces to zero the number of uncovered combinations by means of a simulated annealing algorithm. The results of the AFSO algorithm improved the size of 92 pairwise test suites with non-prime-power orders. One of these improved test suites is used in a real-word application to show the usefulness of the new results.
Model-based evaluation of software reliability in the architecture design stage helps designers make objective decisions about design trade-offs. A challenging problem is how to deal with uncertainties in model parameters, e.g. usage profile. In this study, an approach based on evidence theory is proposed to handle the uncertainties in model parameters. In this approach, UML is used for modelling software architectures, and the DAM profile is used for specifying reliability parameters in the UML model. The constructed UML/DAM model is transformed to a fault tree to evaluate reliability. A software tool is developed to automate the transformation and evaluation procedures, and a case study is presented to demonstrate the applicability of the method.
Coping with ever increasing complexity is one of the main challenges of software engineering. Applying proven practices through established software processes is a viable way to introduce consistency and tame complexity. The SEMAT is a novel meta-process aiming to encompass commonalities across a disparate set of different software processes. The goal is to create a framework, giving proper jumpstart to any proprietary customisation. This is crucial, as various types of software demand diverse software processes (there is no one-size-fits-all method). On the other hand, all processes strive for a disciplined application of valid development and maintenance routines. This paper analyses a set of methodologies for several software development lines to recognise common and specific development practices. A special emphasise is put on the test-driven development (TDD), showcasing its significant contribution in improving the total quality of the end product. The SEMAT Kernel is extended with additional set of alphas, which are elaborated in detail including containing states, transitions and dependencies. The TDD practice activities were analysed for each introduced alpha as state transition triggers. Consequently, the high-level development plan is expanded with newly defined alphas, providing a powerful tool for performing all sorts of system analysis.
Researchers have investigated different approaches to maintain the minimum cost and effort in regression testing. Here, test suite reduction is a common technique to decrease the cost of regression testing by removing the redundant test cases from the test suite and then, obtaining a representative set of test cases that still yield a high level of code coverage. Accordingly, here, the authors have developed two various techniques for test suite reduction. In the first technique, ATAP measure is newly developed to find the reduced test suite with the help of greedy search algorithm. In the second technique, DIV-TBAT (DIVersity-based BAT) algorithm is newly devised based on the mechanisms of Boolean logic within BAT algorithm which improve diversity during the search process. The proposed techniques are experimented using eight programs from SIR subject programs and the performance study is conducted using nine different evaluation metrics based on different research questions. The comparative analysis is performed with the existing algorithms like GreedyRatio, GreedyEIrreplaceability, diversity-based genetic algorithm, TBAT, and TAP, to prove the performance improvement over the eight software programs considered.
This study presents a novel test data generation method called Bayes-TDG. It is based on principles of Bayesian networks and provides the possibility of making inference from probabilistic data in the model to increase the prime path-coverage ratio for a given programme under test (PUT). In this regard, a new programme structure-based probabilistic network, TDG-NET, is proposed that is capable of modelling the conditional dependencies among the programme basic blocks (BBs) on one hand and conditional dependencies of the transitions between its BBs and input parameters on the other hand. To achieve failure-detection effectiveness, the authors propose a path selection strategy that works based on the predicted outcome of generated test cases. So, they mitigate the need for a human oracle, and the generated test suite could be directly used in fault localisation. Several experiments are conducted to evaluate the performance of Bayes-TDG. The results reveal that the method is promising and the generated test suite could be quite effective.