IET Software
Volume 12, Issue 3, June 2018
Volumes & issues:
Volume 12, Issue 3
June 2018
-
- Author(s): Zhiqiang Li ; Xiao-Yuan Jing ; Xiaoke Zhu
- Source: IET Software, Volume 12, Issue 3, p. 161 –175
- DOI: 10.1049/iet-sen.2017.0148
- Type: Article
- + Show details - Hide details
-
p.
161
–175
(15)
Software defect prediction is one of the most popular research topics in software engineering. It aims to predict defect-prone software modules before defects are discovered, therefore it can be used to better prioritise software quality assurance effort. In recent years, especially for recent 3 years, many new defect prediction studies have been proposed. The goal of this study is to comprehensively review, analyse and discuss the state-of-the-art of defect prediction. The authors survey almost 70 representative defect prediction papers in recent years (January 2014–April 2017), most of which are published in the prominent software engineering journals and top conferences. The selected defect prediction papers are summarised to four aspects: machine learning-based prediction algorithms, manipulating the data, effort-aware prediction and empirical studies. The research community is still facing a number of challenges for building methods and many research opportunities exist. The identified challenges can give some practical guidelines for both software engineering researchers and practitioners in future software defect prediction.
Progress on approaches to software defect prediction
-
- Author(s): Rafael Raymundo Belleza and Edison Pignaton de Freitas
- Source: IET Software, Volume 12, Issue 3, p. 176 –182
- DOI: 10.1049/iet-sen.2017.0048
- Type: Article
- + Show details - Hide details
-
p.
176
–182
(7)
The development of constrained devices for the internet of things (IoT) presents lots of challenges to software developers who build applications on top of these devices. Many applications in this domain have severe non-functional requirements related to timing properties, which are important concerns that have to be handled. By using real-time operating systems (RTOSs), developers have greater productivity, as they provide native support for real-time properties handling. Some of the key points in the software development for IoT in these constrained devices, like task synchronisation and network communications, are already solved by this provided real-time support. However, different RTOSs offer different degrees of support to the different demanded real-time properties. Observing this aspect, this study presents a set of benchmark tests on the selected open source and proprietary RTOSs focused on the IoT. The benchmark results show that there is no clear winner, as each RTOS performs well at least on some criteria, but general conclusions can be drawn on the suitability of each of them according to their performance evaluation in the obtained results.
- Author(s): Wen Zhang ; Yuhang Du ; Taketoshi Yoshida ; Qing Wang ; Xiangjun Li
- Source: IET Software, Volume 12, Issue 3, p. 183 –189
- DOI: 10.1049/iet-sen.2017.0168
- Type: Article
- + Show details - Hide details
-
p.
183
–189
(7)
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.
- Author(s): Yan Lei ; Chengnian Sun ; Xiaoguang Mao ; Zhendong Su
- Source: IET Software, Volume 12, Issue 3, p. 190 –205
- DOI: 10.1049/iet-sen.2017.0026
- Type: Article
- + Show details - Hide details
-
p.
190
–205
(16)
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.
- Author(s): Gabriel Sebastián Rivera ; Ricardo Tesoriero ; Jose Antonio Gallud
- Source: IET Software, Volume 12, Issue 3, p. 206 –214
- DOI: 10.1049/iet-sen.2017.0085
- Type: Article
- + Show details - Hide details
-
p.
206
–214
(9)
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).
- Author(s): Himer Avila-George ; Jose Torres-Jimenez ; Idelfonso Izquierdo-Marquez
- Source: IET Software, Volume 12, Issue 3, p. 215 –224
- DOI: 10.1049/iet-sen.2017.0107
- Type: Article
- + Show details - Hide details
-
p.
215
–224
(10)
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 , 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.
- Author(s): Farid Feyzi and Saeed Parsa
- Source: IET Software, Volume 12, Issue 3, p. 225 –235
- DOI: 10.1049/iet-sen.2017.0112
- Type: Article
- + Show details - Hide details
-
p.
225
–235
(11)
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.
- Author(s): Ali Sedaghatbaf and Mohammad Abdollahi Azgomi
- Source: IET Software, Volume 12, Issue 3, p. 236 –244
- DOI: 10.1049/iet-sen.2017.0077
- Type: Article
- + Show details - Hide details
-
p.
236
–244
(9)
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.
- Author(s): Yang Guo and Lu Lu
- Source: IET Software, Volume 12, Issue 3, p. 245 –250
- DOI: 10.1049/iet-sen.2017.0222
- Type: Article
- + Show details - Hide details
-
p.
245
–250
(6)
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.
- Author(s): Rafael Iván Pazos-Pérez ; Adrian Carballal ; Juan R. Rabuñal ; Omar A. Mures ; María D. García-Vidaurrázaga
- Source: IET Software, Volume 12, Issue 3, p. 251 –257
- DOI: 10.1049/iet-sen.2016.0298
- Type: Article
- + Show details - Hide details
-
p.
251
–257
(7)
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.
- Author(s): Hongrun Wu ; Haiyang Liu ; Yutao Ma
- Source: IET Software, Volume 12, Issue 3, p. 258 –270
- DOI: 10.1049/iet-sen.2017.0159
- Type: Article
- + Show details - Hide details
-
p.
258
–270
(13)
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.
- Author(s): Shounak Rushikesh Sugave ; Suhas Haribhau Patil ; B. Eswara Reddy
- Source: IET Software, Volume 12, Issue 3, p. 271 –279
- DOI: 10.1049/iet-sen.2017.0130
- Type: Article
- + Show details - Hide details
-
p.
271
–279
(9)
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.
- Author(s): Bruna Ferreira ; Williamson Silva ; Simone D.J. Barbosa ; Tayana Conte
- Source: IET Software, Volume 12, Issue 3, p. 280 –290
- DOI: 10.1049/iet-sen.2017.0313
- Type: Article
- + Show details - Hide details
-
p.
280
–290
(11)
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.
Performance study of real-time operating systems for internet of things devices
SamEn-SVR: using sample entropy and support vector regression for bug number prediction
How test suites impact fault localisation starting from the size
Model-based approach to develop learning exercises in language-learning applications
Improved pairwise test suites for non-prime-power orders
Bayes-TDG: effective test data generation using Bayesian belief network: toward failure-detection effectiveness and maximum coverage
Reliability evaluation of UML/DAM software architectures under parameter uncertainty
Simulation research for telecommunication data mining based on mobile information node
Assisted surface redesign by perturbing its point cloud representation
Empirical study on developer factors affecting tossing path length of bug reports
DIV-TBAT algorithm for test suite reduction in software testing
Technique for representing requirements using personas: a controlled experiment
Most viewed content
Most cited content for this Journal
-
Progress on approaches to software defect prediction
- Author(s): Zhiqiang Li ; Xiao-Yuan Jing ; Xiaoke Zhu
- Type: Article
-
Systematic review of success factors and barriers for software process improvement in global software development
- Author(s): Arif Ali Khan and Jacky Keung
- Type: Article
-
Empirical investigation of the challenges of the existing tools used in global software development projects
- Author(s): Mahmood Niazi ; Sajjad Mahmood ; Mohammad Alshayeb ; Ayman Hroub
- Type: Article
-
Feature extraction based on information gain and sequential pattern for English question classification
- Author(s): Yaqing Liu ; Xiaokai Yi ; Rong Chen ; Zhengguo Zhai ; Jingxuan Gu
- Type: Article
-
Early stage software effort estimation using random forest technique based on use case points
- Author(s): Shashank Mouli Satapathy ; Barada Prasanna Acharya ; Santanu Kumar Rath
- Type: Article