Learn More
—Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be reopened. Reopened bugs increase maintenance costs, degrade the overall user-perceived quality of the software and lead to unnecessary rework by busy practitioners. In this paper, we(More)
Research studying the quality of software applications continues to grow rapidly with researchers building regression models that combine a large number of metrics. However, these models are hard to deploy in practice due to the cost associated with collecting all the needed metrics, the complexity of the models and the black box nature of the models. For(More)
Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be re-opened. Re-opened bugs increase maintenance costs, degrade the overall user-perceived quality of the software and lead to unnecessary rework by busy practitioners. In this paper, we(More)
—Current research on code clones tries to address the question whether or not code clones are harmful for the quality of software. As most of these studies are based on the fine-grained analysis of inconsistent changes at the revision level, they capture much of the chaotic and experimental nature inherent to any ongoing software development process.(More)
—Development mailing lists play a central role in facilitating communication in open source projects. Since these lists frequently host design and project discussions, knowledgeable contribution to these discussion threads is essential to avoid mis-communication that might slowdown the progress of a project. However, given the sheer volume of emails on(More)
To study the impact of code clones on software quality, researchers typically carry out their studies based on fine-grained analysis of inconsistent changes at the revision level. As a result, they capture much of the chaotic and experimental nature inherent in any ongoing software development process. Analyzing highly fluctuating and short-lived clones is(More)
When changing source code, developers sometimes update the associated comments of the code (a consistent update), while at other times they do not (an inconsistent update). Similarly, developers sometimes only update a comment without its associated code (an inconsistent update). The relationship of such comment update practices and software bugs has never(More)
—Localization plays a substantial role in the future Internet, especially within the context of the Internet of Things (IoT). Increased dependence on devices and sensed data presses for more efficient and accurate localization schemes. In the IoT environment the area covered is large making it impossible to localize all devices and Sensor Nodes (SNs) using(More)
The popularity of smart objects in our daily life fosters a new generation of applications under the umbrella of the Internet of Things (loT). Such applications are built on a distributed network of heterogeneous context-aware devices, where localization is a key issue. The localization problem is further magnified by loT challenges such as scalability,(More)
Elementary to the success of the Internet of Things (IoT) is the capability to accurately and efficiently localize its network components, information, and processes. In this paper, we focus on enabling localization for a class of Things with limited capabilities deployed in isolated areas. Specifically, we explore the scenario where the deployment or the(More)