{"title":"Evaluating Performance of Network Metrics for Bug Prediction in Software","authors":"S. Prateek, A. Pasala, L. Aracena","doi":"10.1109/APSEC.2013.27","DOIUrl":"https://doi.org/10.1109/APSEC.2013.27","url":null,"abstract":"Code-based metrics and network analysis based metrics are widely used to predict defects in software. However, their effectiveness in predicting bugs either individually or together is still actively researched. In this paper, we evaluate the performance of these metrics using three different techniques, namely, Logistic regression, Support vector machines and Random forests. We analysed the performance of these techniques under three different scenarios on a large dataset. The results show that code metrics outperform network metrics and also no considerable advantage in using both of them together. Further, an analysis on the influence of individual metrics for prediction of bugs shows that network metrics (except out-degree) are uninfluential.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124423902","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Null Dereference Detection via a Backward Analysis","authors":"Qian Wang, Dahai Jin, Yunzhan Gong","doi":"10.1109/APSEC.2013.80","DOIUrl":"https://doi.org/10.1109/APSEC.2013.80","url":null,"abstract":"Null dereferences are commonly occurring bugs in programming languages such as C. In this paper, we present a novel approach that performs a backward dataflow analysis to detect null-dereference bugs. The technical innovation of our approach is that owing to aliasing predicates, it can perform strong updates in the presence of aliasing, thus eliminating false positives. The aliasing predicates are introduced on the premise of a canonical representation for the program being analyzed. Moreover, the other features of our approach also contribute to improve accuracy. We have implemented this approach, and give an evaluation of it on a set of open source benchmarks. The experimental results prove the effectiveness of our approach, and show that it is suitable for exploring large real programs with reasonable accuracy.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124879754","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Problem Frames Construction from Feature Models","authors":"Xiaohong Chen, Haiying Sun, Ronghua Ye, Jing Liu","doi":"10.1109/APSEC.2013.32","DOIUrl":"https://doi.org/10.1109/APSEC.2013.32","url":null,"abstract":"The Problem Frames (PF) approach is a well-known approach for describing, analyzing and structuring problems in requirements engineering. It defines certain patterns of problems to be problem frames which have solutions. The real world problems are solved by decomposing to sub-problems which could be matched against problem frames. However, whether existing problem frames is enough for covering all problems is undecided. In this paper, we propose to recognize problem frames in a specific application domain by using feature models. As feature models could link to solution space, our approach bridges the gap between problem frames and solution space. The newly constructed problem frames could be used to analyse problems. We illustrate their usage by presenting a problem frames based problem analysis which include problem descriptions and matches. Because our new problem frames are high level, the real world problems do not need to be decomposed before matched.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129676470","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Executable Program Documentation Based on Debugging Break Points","authors":"Yung-Pin Cheng, Jhih-Hao Chen, Yu-Ying Yu","doi":"10.1109/APSEC.2013.36","DOIUrl":"https://doi.org/10.1109/APSEC.2013.36","url":null,"abstract":"Understanding an unfamiliar program is always a daunting task for any programmer, either experienced or inexperienced. Many studies have shown that even an experienced programmer who is already familiar with the code may still need to rediscover the code frequently during maintenance activities. Compared to that tracing the source code of an unfamiliar program is a totally different process of comprehension. Difficulties in such a process can be compounded if the code has poor or little internal program documentation. In practice, internal program documentation is often neglected or receives much less attention while most documentation techniques are designed to help programmers deal with familiar code, not unfamiliar code. In this paper, a novel internal program documentation method is proposed. In the approach, the multimedia documents, such as slides and voice recording, can be created along with a sequence of debugging break points, where the sequence of break points and its associated multimedia documents form a trace case. We show that trace cases can be very useful in documenting major control flows of a program using examples so that the time needed to construct a program model for understanding can be shortened. To demonstrate the idea, a prototype tool called polyTraceAid has been implemented as a plug-in in Visual Studio.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131054866","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Cloud Service Brokers: An Emerging Trend in Cloud Adoption and Migration","authors":"Bimlesh Wadhwa, A. Jaitly, Bharti Suri","doi":"10.1109/APSEC.2013.129","DOIUrl":"https://doi.org/10.1109/APSEC.2013.129","url":null,"abstract":"With the advent of cloud, a large number of cloud providers have surfaced in the market. Cloud Consumers are rapidly using cloud services(IaaS, PaaS, and SaaS) to meet their business needs while cloud providers are rapidly developing much needed tools and environments. This rapid growth however is creating a significant need to develop fast and controlled mechanisms for managing costs, capacity and resources at agreed service levels in order to have a smooth adoption, management and maintenance of cloud for both consumers and providers. Cloud Services Brokerages (CSBs), an intermediary between the consumer and providers, emerges as a solution to address above need. In this paper we focus on reviewing the significance, role and services of a CSB, followed by a categorization of CSBs on the basis of the services they provide, and a method to select a CSB from a pool of CSBs.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132521638","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Visualization of Defect Inflow and Resolution Cycles: Before, During and After Transfer","authors":"Ronald Jabangwe, K. Petersen, Darja Šmite","doi":"10.1109/APSEC.2013.47","DOIUrl":"https://doi.org/10.1109/APSEC.2013.47","url":null,"abstract":"The link between maintenance and product quality, as well as the high cost of software maintenance, highlights the importance of efficient maintenance processes. Sustaining maintenance work efficiency in a global software development setting that involves a transfer is a challenging endeavor. Studies report on the negative effect of transfers on efficiency. However, empirical evidence on the magnitude of the change in efficiency is scarce. In this study we used a lean indicator to visualize variances in defect resolution cycles for two large products during evolution, before, during and after a transfer. Focus group meetings were also held for each product. Study results show that during and immediately after the transfer the defect inflow is higher, bottlenecks are more visible, and defect resolution cycles are longer, as compared to before the transfer. Furthermore we highlight the factors that influenced the change in defect resolution cycles before, during, and after the transfer.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"2672 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132207973","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Formal Coloured Petri Net Model for Hazard Detection in Large Event Flows","authors":"P. Carle, C. Choppy, R. Kervarc, Ariane Piel","doi":"10.1109/APSEC.2013.51","DOIUrl":"https://doi.org/10.1109/APSEC.2013.51","url":null,"abstract":"This paper deals with a formal approach for the detection of situations in the context of complex event processing, which is a technique particularly employed in the aerospace field. Indeed, aerospace systems generally involve numerous interacting agents, to each of which are associated various possible events, thus yielding a huge flow of events. A common issue when dealing with the safety of such systems consists in being able to detect in this flow certain event correlations, from which one may then deduce that the system is in a particular (often critical or hazardous) state. This work is based on a situation description language called chronicles, and provides for it a formal recognition model based on coloured Petri nets. A two-layer compositional model is provided: a concurrent, nondeterministic recognition model for each chronicle construct, together with additional control structures allowing to overview the recognition treatments performed on the event flow.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"285 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132519466","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Analyzing Early Requirements of Cyber-physical Systems through Structure and Goal Modeling","authors":"Chun Liu, Wei Zhang, Haiyan Zhao, Zhi Jin","doi":"10.1109/APSEC.2013.29","DOIUrl":"https://doi.org/10.1109/APSEC.2013.29","url":null,"abstract":"Integrating the computing process and the physical process, cyber-physical systems (CPS) pose many challenges to the system analysis and modeling. While most of the existing work focuses on developing the precise and formal model of CPS, little attentions have been given to the early requirements analysis and modeling which focuses on what the users' requirements are and what the software and physical domains of CPS will do to meet the users' requirements. In this paper, we provide an approach for early requirements analysis and modeling of CPS. This approach proposes to build the structure model to capture the system architecture, and the goal model to capture the refinement relationships between the users' requirements and the assumptions and requirements on the domains in CPS. These models help to build a clear understanding about CPS between the users and the designers and pave the way to define the precise and formal model. What these models are and how to build them are illustrated through a cruise control system.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114541366","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. B. Lee, Akinori Ihara, Akito Monden, Ken-ichi Matsumoto
{"title":"Patch Reviewer Recommendation in OSS Projects","authors":"J. B. Lee, Akinori Ihara, Akito Monden, Ken-ichi Matsumoto","doi":"10.1109/APSEC.2013.103","DOIUrl":"https://doi.org/10.1109/APSEC.2013.103","url":null,"abstract":"In an Open Source Software (OSS) project, many developers contribute by submitting source code patches. To maintain the quality of the code, certain experienced developers review each patch before it can be applied or committed. Ideally, within a short amount of time after its submission, a patch is assigned to a reviewer and reviewed. In the real world, however, many large and active OSS projects evolve at a rapid pace and the core developers can get swamped with a large number of patches to review. Furthermore, since these core members may not always be available or may choose to leave the project, it can be challenging, at times, to find a good reviewer for a patch. In this paper, we propose a graph-based method to automatically recommend the most suitable reviewers for a patch. To evaluate our method, we conducted experiments to predict the developers who will apply new changes to the source code in the Eclipse project. Our method achieved an average recall of 0.84 for top-5 predictions and a recall of 0.94 for top-10 predictions.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123836268","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Florian Raith, Ingo Richter, Robert Lindermeier, G. Klinker
{"title":"Identification of Inaccurate Effort Estimates in Agile Software Development","authors":"Florian Raith, Ingo Richter, Robert Lindermeier, G. Klinker","doi":"10.1109/APSEC.2013.114","DOIUrl":"https://doi.org/10.1109/APSEC.2013.114","url":null,"abstract":"Like in every process model, agile processes (e.g. Scrum, eXtreme Programming) depend on accurate estimations to enable meaningful prioritization, iteration- and release planning. The emphasis of this paper is on \"Planning Poker\", a widely used estimation technique in agile context. The goal is to identify inaccurate effort estimates to enable more precise project scheduling and release planning. In a first step, basic terms (e.g. development effort, functional effort) of traditional effort estimation were declared in the agile context. Afterwards-within the main part of the paper-a set of metrics is proposed, which can be used to evaluate accuracy of estimates. These metrics are based on the estimated efforts and interim results of the estimation process. Since the usage of these metrics needs to be seamlessly integrated into the Planning Poker process, we have conceptualized a computer-aided tool to collect and evaluate necessary data. To get a first proof of concept and preliminary feedback, we developed a corresponding prototype and applied it to a students' project. The prototype is based on a stationary multi-touch device and offers an intuitive user interface to perform the Planning Poker process. While estimation takes place, it collects required data and identifies inaccurate estimates with the help of the proposed metrics. The second part of the paper summarizes assets and drawbacks concerning usability and the user interface of the prototype.","PeriodicalId":187451,"journal":{"name":"2013 20th Asia-Pacific Software Engineering Conference (APSEC)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129098051","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}