{"title":"Microservices Architecture in DevOps","authors":"M. Waseem, Peng Liang","doi":"10.1109/APSECW.2017.18","DOIUrl":"https://doi.org/10.1109/APSECW.2017.18","url":null,"abstract":"This doctoral research proposal is designed to address the challenges on employing microservices architecture (MSA) in DevOps. These two practices are relatively recent trends on the crowded street of software engineering paradigms. We believe that the coexistence of these practices may bring new challenges for architects about making and implementing decisions of microservices in DevOps. We plan to gain a deep understanding of the challenges/solutions, architecture description, migration, refactoring, and evolution in MSA with DevOps. Our expected outcome would be: (i) a systematic mapping study on MSA in DevOps, (ii) an evidence based framework for synthesizing MSA challenges/solutions in DevOps, (iii) recommendations for documenting MSA in DevOps based on industrial practices, (iv) a migration process from monolithic applications/architecture to MSA in DevOps, and (v) empirical reports on MSA refactoring and evolution in DevOps.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128576497","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":"An Optimal Opportunistic Scheduling Algorithm for Parallel Tasks in a Cloudlet","authors":"Ou Wu","doi":"10.1109/APSECW.2017.32","DOIUrl":"https://doi.org/10.1109/APSECW.2017.32","url":null,"abstract":"With the development of Cloud Computing (CC) and mobile Internet, Mobile Cloud Computing (MCC) is becoming a new application mode. Mobile Cloud Computing allows cloudlet (i.e. a trusted computer which well-connected to the Internet and available for user to process the computational tasks) to access the nearby users’ information for process at any time and any place. However, due to the mobility of the user and cloudlets, cloudlets may not be effectively control users information transmission. The PhD research work is mainly including the following four aspects: Firstly, we plan to calculate the effective range to ensure that the link between the users’mobile devices and the cloudlet in the whole task processing and transmission will not be interrupted. Secondly, since the cloudlet process tasks and transmission tasks need to consume energy, we discuss the minimum power cost problem as a time averaged optimization problem in order to save energy. Thirdly, we design two efficient algorithms by applying the Lyapunov optimization theory and virtual queue technology to ensure the cloudlet have an optimal scheduling strategy. Finally, we apply real-life power price to illustrate efficiency of our algorithms.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123710078","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":"Characterising Sound Visualisations of Specifications Using Micro-Charts and Refinement","authors":"Colin Pilbrow, S. Reeves","doi":"10.1109/APSEC.2017.74","DOIUrl":"https://doi.org/10.1109/APSEC.2017.74","url":null,"abstract":"For validation or for communication with a client, it is useful to create a visualisation of a specification. It is important that the visualisation does not mislead the user. In this work we look at how to characterise the conditions for a micro-chart visualisation to be sound. This is done by introducing a new operator to the micro-chart semantics, allowing us to use Z data refinement to find a refinement relation between a Z specification and its (claimed sound) micro-chart visualisation. If the relation does not hold, then the visualisation is not sound.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122854065","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":"Framework Information Based Java Software Architecture Recovery","authors":"Xiaocong Li, Li Zhang, Ning Ge","doi":"10.1109/APSECW.2017.15","DOIUrl":"https://doi.org/10.1109/APSECW.2017.15","url":null,"abstract":"Software systems tend to become more and more complex as they evolve, which makes it difficult to review, understand, and maintain the source code without complete architectural information, especially in case of large-scale systems. Software architecture recovery is considered an important method contributing to solving this problem. Hierarchical clustering is one of the techniques used to extract architectural information from lower level software representations, such as the source code. This paper is aimed at improving the accuracy of existing hierarchical clustering algorithms by allowing users to parameterize and configure framework information as framework-specific features. We have implemented our approach as an Eclipse plugin and have applied it to recovering the architecture of Java programs. Experiments are carried out on our benchmark built upon Java web applications in which the Spring Framework is used. The experimental results show that our approach can improve the accuracy of the recovered architecture to some extent.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127952488","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":"An Exploratory Study on Interface Similarities in Code Clones","authors":"Md Rakib Hossain Misu, A. Satter, K. Sakib","doi":"10.1109/APSECW.2017.24","DOIUrl":"https://doi.org/10.1109/APSECW.2017.24","url":null,"abstract":"Code cloning is one of the most popular code reusing techniques where similar pieces of code are replicated within or between code repositories. Interface similarity is a kind of replication that refers to the similarity of method names, return types and parameter types which repeat across the code repositories. Two methods with similar interfaces are prone to be cloned if those perform analogous functions either entirely or at least partially. An exploratory study is performed in this paper, to explore the relationship and effects of interface similarity in code clones. It is investigated that interface similarity can be helpful for code clone detection. First, clone methods are detected in code repositories. Then, interface information is extracted from source code and several interface similarities are measured using that information. The experimental corpus contains three different types of code repositories with 35, 109 and 24,558 Java projects respectively. The detected clone pairs in three code repositories are, on average 57,457, 102,745 and 123,576 respectively. Promising results are found as it shows on average 87.91% intra-project and 59.17% inter-project clones contain similar interfaces (i.e., return types and at least one keyword and one parameter type are similar). Besides, the average similarity of interfaces in Type-1, Type-2 and Type-3 clones are 100%, 83.47% and 81.90% respectively. These results prove the strong relationship between code clones and interface similarities. In future, it can be useful to design and develop interface driven clone detection tools.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"432 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116731415","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":"Understanding Quality Attributes in Microservice Architecture","authors":"Shanshan Li","doi":"10.1109/APSECW.2017.33","DOIUrl":"https://doi.org/10.1109/APSECW.2017.33","url":null,"abstract":"As a prevalent architectural style, microservice architecture overcomes the challenges of monolithic architecture and achieves better quality by implementing small-scale microservice, rather than binding all functions into one monolith. Welldesigned microservice architecture with better quality relies on clear understanding of related quality attributes. However, current understanding of quality attributes in microservice architecture is deficient and not comprehensive. In this study, we aim to construct knowledge of quality attributes in architecture through a Systematic Literature Review (SLR), the exploratory case study and the explanatory survey. By analyzing the influential factors and the corresponding tactics of related quality attributes, our research is aimed at providing a comprehensive guide on quality improvement in microservice architecture.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122938808","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":"An Overview of Practical Impacts of Functional Programming","authors":"Abdullah Khanfor, Ye Yang","doi":"10.1109/APSECW.2017.27","DOIUrl":"https://doi.org/10.1109/APSECW.2017.27","url":null,"abstract":"Functional Programming (FP) is a programming paradigm in which the mathematical function evaluation is the main block in building the software. FP languages are more suitable for handling parallelism and concurrency. Over the years, many different FP languages and programming style had been proposed and studied. However, FP is generally considered to be difficult to learn and master than another programming paradigms such as object-oriented programming. In this paper, we aim at deriving an understanding of practical impacts of using this paradigm in the software engineering practices through a literature review.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125526113","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":"Developer Teams on Bug Resolution: An Empirical Study on Mozilla Firefox and Eclipse JDT Projects","authors":"Wen Zhang, Ziqiang Li, Bin Li","doi":"10.1109/APSECW.2017.10","DOIUrl":"https://doi.org/10.1109/APSECW.2017.10","url":null,"abstract":"With the adoption of Open Source Software (OSS)systems increasing in practical usage, it is important toinvestigate bug resolution process of OSS projects. This paperconducted an empirical study on developer teams in bugresolution in Mozilla Firefox and Eclipse JDT projects. Withthe extracted bug numbers of source code changes from VCS(Versions Control System) and the extracted frequently cooccurringdevelopers from open bug repository, we analyzeddeveloper teams' focuses on bugs with respect to products,components, and packages. Through the empirical study, wediscovered that developer teams do naturally exist in bothMozilla Firefox and Eclipse JDT projects. More than half of allbugs are collaboratively fixed by developer teams. Eachdeveloper team has relatively stable focus on bugs with respectto particular products, components and source code packages.We also found that the discovered teams on bug resolution aredifferent from those published on OSS websites.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114858965","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":"Extracting Software Security Concerns of Problem Frames Based on a Mapping Study","authors":"Shuhui Wu, Cheng Zhang, Futian Wang","doi":"10.1109/APSECW.2017.29","DOIUrl":"https://doi.org/10.1109/APSECW.2017.29","url":null,"abstract":"Context: Although the security of software development has been extensively studied, it has little empirical knowledge about the security aspect during software development. And also Problem Frames provides a systematic way for analysing requirement, but it also lacks empirical evidence.Objectives: In order to design security enhancement pattern for system, we combined security concerns with problem frames.Method: We performed a comprehensive mapping study to extract the security indexes and security concerns from the categorized papers.Results: We identified 406 candidate papers, of these, 184 articles generated security indexes, and 18 articles generated security concerns. According to the meaning of each security index, we matched security concerns for them. Furthermore, security concerns are applied to the domain of the problem frames.Conclusions: Through applying a mapping study, we extracted 3 security indexes and 4 security concerns. And we analysed how these concerns matched to the Problem Frames.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"180 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115211793","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":"Topic Detection from Microblogs Using T-LDA and Perplexity","authors":"Ling Huang, Jinyu Ma, Chunling Chen","doi":"10.1109/APSECW.2017.11","DOIUrl":"https://doi.org/10.1109/APSECW.2017.11","url":null,"abstract":"Due to the short-form and large amount of microblogs, traditional latent dirichlet allocation (LDA) cannot be effectively applied to mining topics from the microblog contents. In this paper, we bring in Term Frequency-Inverse Document Frequency (TF-IDF) that can adjust the weight of words and calculate in a high speed without considering the influence of word positions in documents, to help extract the key words in a relatively short length of article. Combining LDA with TF-IDF, we come up with a new topic detection method named T-LDA. In addition, we utilize Perplexity-K curve to help us recognize the number of topics (i.e. K-value) with the maximum meaningfulness, in order to reduce human bias in deciding K-value. We captured 3407 Chinese microblogs, chose the most optimistic K-value according to Perplexity-K curve, and conducted a series comparative trials among T-LDA, LDA and K-Means. We found that T-LDA has a better performance than LDA and K-Means in terms of topics results, modeling time, Precision, Recall rate, and F-Measure, which indicates that the improvement on LDA is effective.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129677444","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}