Bug triage processes are intended to assign bug reports to appropriate developers effectively, but they typically become bottlenecks in the development process—especially for large-scale software projects. Recently, several machine learning approaches, including deep learning-based approaches, have been proposed to recommend an appropriate developer automatically by learning past assignment patterns. In this paper, we propose a deep learning-based bug triage technique using a convolutional neural network (CNN) with three different word representation techniques: Word to Vector (Word2Vec ), Global Vector (GloVe), and Embeddings from Language Models (ELMo). Experiments were performed on datasets from well-known large-scale open-source projects, such as Eclipse and Mozilla, and top-k accuracy was measured as an evaluation metric. The experimental results suggest that the ELMo-based CNN approach performs best for the bug triage problem. GloVe-based CNN slightly outperforms Word2Vec-based CNN in many cases. Word2Vec-based CNN outperforms GloVe-based CNN when the number of samples per class in the dataset is high enough.
Many bugs and defects occur during software testing and maintenance. These bugs should be resolved as soon as possible, to improve software quality. However, bug triage aims to solve these bugs by assigning the reported bugs to an appropriate developer or list of developers. It is an arduous task for a human triager to assign an appropriate developer to a bug report, when there are several developers with different skills, and several automated and semi-automated triage systems have been proposed in the last decade. Some recent techniques have suggested possibilities for the development of an effective triage system. However, these techniques require improvement. In previous work, we proposed a heterogeneous graph representation for bug triage, using word–word edges and word-bug document co-occurrences to build a heterogeneous graph of bug data. Cosine similarity is used to weight the word–word edges. Then, a graph convolution network is used to learn a heterogeneous graph representation. This paper extends our previous work by adopting different similarity metrics and correlation metrics for weighting word–word edges. The method was validated using different small and large datasets obtained from large-scale open-source projects. The top-k accuracy metric was used to evaluate the performance of the bug triage system. The experimental results showed that the point-wise mutual information of the proposed model was better than that of other word–word weighting methods, and our method had better accuracy for large datasets than other recent state-of-the-art methods. The proposed method with point-wise mutual information showed 3% to 6% higher top-1 accuracy than state-of-the-art methods for large datasets.
6 May 2017 in International Journal of Distributed Sensor Networks
The data collected from wireless sensor network indicate the system status, the environment status, or the health condition of human being, and we can use the wireless sensor network data to carry out appropriate work by processing it. In recent years, using deep learning, it is possible to construct a more intelligent context-aware system by predicting future situations as well as monitoring the current state. In this article, we propose a monitoring framework for wireless sensor network streaming data analysis based on deep learning. In particular, in an environment where time requirements are strictly enforced, data analysis results must be derived within a deterministic time. Therefore, we conduct query refinement adaptively to enable timely analysis of wireless sensor network data in the predictor. Even if some sensor data that is not synchronized in time are included or even if some data have not arrived yet, reasonably accurate query analysis results can be obtained within the deadline by performing the proposed method.
Predicting the fix time of a bug is important for managing the resources and release milestones of a software development project. However, it is considered non-trivial to achieve high accuracy when predicting bug-fix times. We view that such difficulties come from the lack of continuous or posterior estimation based on subsequent developers’ activities after a bug is initially reported. In this paper, we formulate the problem of bug-fix time prediction into a continual update of estimates with more activities. Logging data of bug-related activities that are streamed to a bug tracking system change the bug reports, enabling us to recalculate predictions over time. To do so, we propose a deep learning-based two-staged activity stream embedding model, DASENet that employs (i) a merged network for extracting contextual features across different types of logs, and (ii) a sequence network for exploring temporal relations of the logs. Through experiments with bug tracking system datasets from open source projects including Firefox, Chromium, and Eclipse, we show that DASENet achieves stable performance, e.g., for the Firefox dataset, top-1 accuracy of 4.6 to 8.5 % higher than other state-of-the-art works. Our approach also provides a transferable structure, yielding robust performance with a small dataset for different tasks; the DASENet model trained with a small dataset of about 900 samples (2 % of a full dataset) can show competitive performance to the other models with a full dataset. To the best of our knowledge, we are the first to employ deep learning on log streams in the context of bug-fix time prediction.
2 September 2010 in IEEE Transactions on Mobile Computing
There are performance deficiencies that hamper the deployment of Wireless Sensor Networks (WSNs) in critical monitoring applications. Such applications are characterized by considerable network load generated as a result of sensing some characteristics of the monitored system. Excessive packet collisions lead to packet losses and retransmissions, resulting in significant overhead costs and latency. In order to address this issue, we introduce a distributed and scalable scheduling access scheme that mitigates high data loss in data-intensive sensor networks and can also handle some mobility. Our approach alleviates transmission collisions by employing virtual grids that adopt Latin Squares characteristics to time slot assignments. We show that our algorithm derives conflict-free time slot allocation schedules without incurring global overhead in scheduling. Furthermore, we verify the effectiveness of our protocol by simulation experiments. The results demonstrate that our technique can efficiently handle sensor mobility with acceptable data loss, low packet delay, and low overhead.
This paper formulates and illustrates the integration of resource safety verification into a design methodology for development of verified and robust real-time embedded systems. Resource-related concerns are not closely linked with current xUML model-based software development although they are critical for embedded systems. We describe how to integrate resource analysis techniques into the early phase of an xUML-based development cycle. Our hybrid framework for resource safety verification combines static resource analysis and runtime monitoring. A case study based on an embedded controller for satellite simulation, TableSat, illustrates the benefits obtained by incorporating resource verification into design and combining static analysis and runtime monitoring.