Powered by
Conference Publishing Consulting

6th Asia-Pacific Symposium on Internetware (Internetware 2014), November 17, 2014, Hong Kong, China

INTERNETWARE 2014 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page

Preface
On behalf of the organizing and program committees, we welcome you to the 6th Asia-Pacific Symposium on Internetware (Internetware 2014) held on November 17, 2014 in Hong Kong (China), co-located with FSE 2014. The conference theme reflects the new challenges exhibited by the software system in today’s pervasive and ubiquitous computing environments from all aspects of software engineering. Internetware is a unique forum bringing together researchers to share their perspective with others interested in the various aspects of this particular area.

Mining Data

Bug Localization via Searching Crowd-Contributed Code
Qianxiang Wang and Xuan Li
(Peking University, China)
Bug localization, i.e., locating bugs in code snippets, is a frequent task in software development. Although static bug-finding tools are available to reduce manual effort in bug localization, these tools typically detect bugs with known project-independent bug patterns. However, many bugs in real-world code snippets are project-specific. To address this issue, in this paper, we propose a novel approach for LOcating Bugs By Searching the most similar sample snippet (LOBBYS). LOBBYS detects bugs with the help of crowd-contributed correct code, which implement the function that buggy code is expected to implement. Given a buggy code snippet, LOBBYS takes two steps to locate the bug: (1) normalize the bug-gy snippet, and then search for the most similar sample snippet from the code base; (2) align the buggy code and sample code snip-pets, find the difference between the two code snippets, and generate a bug report based on the difference. To evaluate LOBBYS, we build one algorithm-oriented code base and select some buggy snippets from two real-world systems. The result shows that LOBBYS can effectively locate bugs for buggy snippets with high precision. Under the similarity of 50%, 70% and 90%, LOBBYS achieves bug-localization precision as 67%, 83%, and 92%.
Publisher's Version Article Search
Linking Stack Overflow to Issue Tracker for Issue Resolution
Tao Wang, Gang Yin, Huaimin Wang, Cheng Yang, and Peng Zou
(National University of Defense Technology, China; Academy of Equipment Command and Technology, China)
Issue resolution is a central task for software development. The efficiency of issue fixing largely relies on the issue report quality. Stack Overflow, which hosts rich and real-time posts about programming-specific problems, is a valuable external source of knowledge for issue resolution. In this paper, we present CrossLink, an analysis framework that automatically introduce related posts in Stack Overflow to issues in Android Issue Tracker. This helps developers to leverage the abundant and professional knowledge from massive programmers in Stack Overflow for issue resolution. CrossLink explores the semantic similarities as well as the temporal associations between the two types of repositories to recommend Stack Overflow posts to Android issues. The internal links in Stack Overflow are also employed to improve the linking accuracy. The experiments prove the effectiveness of CrossLink with precision of 62.51% for top-10 recommendations, which is significantly higher than the state-of-art method.
Publisher's Version Article Search
A Graph Database Based Crowdsourcing Infrastructure for Modelling and Searching Code Structure
Zeqi Lin, Junfeng Zhao, and Bing Xie
(Peking University, China)
Software reuse offers a solution to eliminate repeated work and improve efficiency and quality in the software development. In order to reuse existing software resources, software developers usually need to understand code structure of them. However, code structure is usually too complex to figure out. Therefore, it is helpful to demonstrate software developers the code structure they want to know. This paper presents a graph database based crowdsourcing infrastructure for modelling and searching code structure. In this paper, a graph based modelling paradigm of code structure is provided, which solves the problem that how code structure should be demonstrated. Software developers' search purposes are analyzed by natural language processing technique. A crowdsourcing mechanism is provided to integrate different code structure analysis algorithms for these different search purposes. Our work improves the efficiency of software reuse, and it is validated through an industrial case study.
Publisher's Version Article Search

Mobile and Cloud

User Preference Based Autonomic Generation of Self-Adaptive Rules
Tianqi Zhao, Haiyan Zhao, Wei Zhang, and Zhi Jin
(Peking University, China)
The internetware system is a complex and distributed self-adaptive system, which challenges the method for making adaptation plans. Rule based approaches are very efficient to make plans in adaptive systems. To enable effective rule-based adaptation, we need to write a set of well behaved self-adaptive rules which could always lead to desirable states. This adaptive rules-set needs to be correct, com- plete, conflicts-free and well satisfy user goals, and it should updates according to user preferences. However, it is a difficult task for sys- tem users to define such a set of rules. To resolve this problem, we provide an rule generation engine, which could automatically generate well behaved self-adaptive rules according to user pref- erences. The rule generation engine is realized by a three-stage algorithm: stage 1 integrates user goals and user preferences, stage 2 establishes 1-1 tracing relationship between a context state and its desirable software configuration, stage 3 extracts self-adaptive rules from the tracing relationship between context states and software configurations. We will apply this engine to generate self-adaptive rules for a smart phone system, and evaluate the quality of generated self-adaptive rules.
Publisher's Version Article Search
EasyCache: A Transparent In-Memory Data Caching Approach for Internetware
Wei Wang, Zhaohui Liu, Yong Jiang, Xinchen Yuan, and Jun Wei
(Institute of Software at Chinese Academy of Sciences, China)
Developers usually use in-memory data caching system like Hazelcast with the application server to offload the backend database for scaling Internetware. Unfortunately, such caches do not integrate well with the database or the application. Developers need to take a large effort to rewrite the existing data access logic and manually manage the caching data. In this paper, we present EasyCache, a novel data caching approach, which provides transparent cache pre-loading, accessing and consistency maintenance to relieve developers of the burden of cache using and management. First, EasyCache translates each row of data in the existing database table into application cached object to pre-load cache data. Second, EasyCache allows applications to access the data cache using SQL statements and translates them into key/value based cache operations. Finally, EasyCache provides asynchronous/synchronous strategies to persist the cache data changes into the backend database. We design and implement EasyCache as a JDBC driver with Hazelcast as the caching layer. To evaluate our prototype, a detailed set of experiments were performed using the TPC-W benchmark. In the experiments, the only programming effort with EasyCache is point the application to the EasyCache JDBC driver. In contrast, when using Hazelcast as a traditional application-level caching system, we need to modify the TPC-W code over 2000 lines for 15 man days. Our experiments also show that, compared to a system with no cache and with query result cache, using EasyCache leads to up to 692× and 77× performance improvement respectively.
Publisher's Version Article Search
What Makes a Good App Description?
He Jiang, Hongjing Ma, Zhilei Ren, Jingxuan Zhang, and Xiaochen Li
(Dalian University of Technology, China)
In the Google Play store, an introduction page is associated with every mobile application (app) for users to acquire its details, including screenshots, description, reviews, etc. However, it remains a challenge to identify what items influence users most when downloading an app. To explore users’ perspective, we conduct a survey to inquire about this question. The results of survey suggest that the participants pay most attention to the app description which gives users a quick overview of the app. Although there exist some guidelines about how to write a good app description to attract more downloads, it is hard to define a high quality app description. Meanwhile, there is no tool to evaluate the quality of app description. In this paper, we employ the method of crowdsourcing to extract the attributes that affect the app descriptions’ quality. First, we download some app descriptions from Google Play, then invite some participants to rate their quality with the score from one (very poor) to five (very good). The participants are also requested to explain every score’s reasons. By analyzing the reasons, we extract the attributes that the participants consider important during evaluating the quality of app descriptions. Finally, we train the supervised learning models on a sample of 100 app descriptions. In our experiments, the support vector machine model obtains up to 62% accuracy. In addition, we find that the permission, the number of paragraphs and the average number of words in one feature play key roles in defining a good app description.
Publisher's Version Article Search
FuAET: A Tool for Developing Fuzzy Self-Adaptive Software Systems
Qiliang Yang, Xianping Tao, Hongwei Xie, Jianchun Xing, and Wei Song
(PLA University of Science and Technology, China; Nanjing University, China; Nanjing University of Science and Technology, China)
Handling uncertainty in software self-adaptation has become an important and challenging issue. In our previous work, we proposed a fuzzy control based approach named Software Fuzzy Self-Adaptation (SFSA) to address fuzziness, a kind of uncertainty in software self-adaptation. However, our SFSA approach still lacks a tool to efficiently support the implementation process of SFSA. Existing tools for realizing self-adaptive applications does not directly deal with fuzziness in self-adaption loops. In this paper, we present the FuAET, a tool designed for building fuzzy self-adaptive software systems. The novelty of the tool is that it can not only provide a friendly GUI for editing and testing fuzzy self-adaptation strategies in intelligible domain specific language (DSL), but also automatically convert DSL-based fuzzy selfadaptation strategies into aspect-based programming code in native-language (NL), e.g., C++. This paper describes the design framework and implementation principles of FuAET, and then proposes a general development process using FuAET for reference to developers. Finally, we conduct an empirical study for evaluation of FuAET using an industrial control application. The results show that FuAET can automate the development of SFSA and ease the burden of the software engineers.
Publisher's Version Article Search
A Smart Mobile Contact Recommender Based on Smart Phone Data
Xiwei Zhuang, Yanchun Sun, and Kui Wei
(Peking University, China)
This paper presents SMoCoR, a smart mobile contact recommender based on smart phone data. It recommends the most appropriate way to contact friends according to friends’ current condition. In no emergency condition, SMoCoR achieves two goals. First, the recommended contacts disturb friends least, that means, it will tell whether it’s suitable to call friends. Second, the recommended contact makes the communication information accessible to the friends and gets replies from the friends as soon as possible. For the goals above, SMoCoR takes friends’ calendar data and smart phone data as inputs, and after several steps of calculation it will recommend a list of contacts ranked by intelligent algorithm according to the appropriateness. The recommendation includes two aspects. Firstly, SMoCoR recommends whether it is suitable to make calls, which is named call recommendation. Secondly, SMoCoR recommends a list of the ranked text contacts, which is named text contact recommendation. The experimental results based on real-user data show that SMoCoR provides an effective method for contact recommendation.
Publisher's Version Article Search
Characterizing Cache Usage for Mobile Web Applications
Yun Ma, Xuan Lu, Shuhui Zhang, and Xuanzhe Liu
(Peking University, China)
Web application is a key app on mobile devices. However, the performance of mobile Web applications is known to be poor. Resource loading is a key factor influencing Web applications performance. Cache is an effective mechanism to accelerate resource loading by enabling to access resources directly from local storage. In this paper, we make a quantitative study to characterize how mobile Web applications leverage cache to improve its performance. The results show that mobile Web cache is not so efficient. On one hand, redundant transfers are always there to waste data traffic and energy consumption no matter the client support is perfect or not. On the other hand, changed resources are not replaced from cache in time, leading to incorrect functions.
Publisher's Version Article Search
SmartRelationship: A VM Relationship Detection Framework for Cloud Management
Xiaodong Zhang, Ying Zhang, Xing Zhao, Gang Huang, and Qiang Lin
(Peking University, China; Guangdong Power Grid, China)
With the rapid development of Cloud computing technologies, a large number of Cloud management systems have emerged in recent years, such as Amazon EC2, Eucalyptus, CloudStack and OpenStack. To the best of our knowledge, all of these systems treat virtual machines (VMs) independent with each other and ignore the relationships between them. However, the relationship information between VMs can greatly impact the resource utilization, application performance and so on. Therefore, in this paper, we present SmartRelationship – a relationship detection framework for Cloud management. The framework detects the relationship between VMs in Cloud, which can be used to optimize Cloud management services such as VM dynamic placement, fault detection and security inspection.
Publisher's Version Article Search

Software / Data Quality

Measuring the Quality of Issue Tracking Data
Feifei Tu and Feixue Zhang
(Peking University, China)
Source code and its development history can represent the output and process of developing software. [1] But little attention has been devoted to the data quality. To help researchers and practioners preliminary evaluate the software development data they used in studies, we design a tool, Data Quality Evaluator (DQE), to measure the software development data, especially the data completeness of issue reports in an open source software (OSS) project’s issue tracking system (ITS). It is judged from three metrics -- the coherence of issue reports’ ID, the existence of an issue report’s basic information and activity information, and the completeness of changes on an issue report status. DQE will analyze the data submitted by users, and show users the data quality evaluation chart from three aspects. We had DQE applied to the GNOME community’s issue-tracking data that we collected for research, and we obtained the result of data quality evaluation. Next, we will continue to apply DQE to more software development data, so that we can help researchers and practioners conveniently get an initial evaluation of data quality.
Publisher's Version Article Search
AspectBreeze: Integrating Trustworthiness Aspects into Graph Grammar Supported Architecture Description Language
Jingzhou Liu, Yuting Chen, Chen Li, and Jianjun Zhao
(Shanghai Jiao Tong University, China)
Aspect-oriented software development (AOSD) has been developed for supporting a long-standing idea of Separation of Concerns (SoC) and enhancing software non-functional attributes including modularity, reusability, and maintainability. Many architectural description languages (ADLs) also provide software developers with support in specifying aspects in software architectures. However, when applied to describe trustworthy software systems, these ADLs face difficulties in using aspects to specify trustworthy attributes and maintaining consistency between the architectures before and after weaving of aspects. In this paper, we extend Breeze, a graph grammar supported ADL, to AspectBreeze. AspectBreeze allows trustworthiness aspects to be easily defined and seamlessly woven into base architectures. Further, architectures are defined along with graph grammars that allow any change to a base architecture to be reflected in the corresponding architecture in which aspects are woven. This paper also presents a case study of an online auction system to show how AspectBreeze is used and how graph grammars can maintain the consistency between the architectures before and after weaving of trustworthiness aspects.
Publisher's Version Article Search
Using Entropy Weight-Based TOPSIS to Implement Failure Mode and Effects Analysis
Xiaoyu Fu, Linpeng Huang, Guannan Su, Luxi Chen, Chen Li, and Linzhu Wu
(Shanghai Jiao Tong University, China)
Failure mode and effects analysis (FMEA) is a widely used technique for designing, identifying and eliminating known and/or potential failures from system, design and process. In the traditional FMEA, for each failure mode, risk factors of Occurrence, Severity and Detection are evaluated and simply multiplied to obtain a risk priority number. Besides, the weights of three risk factors are also ignored. To overcome these shortcomings of traditional FMEA, we propose a novel FMEA approach for obtaining a more rational ranking of failure modes by integrating entropy weighting method with 'Technique for Order Performance by Similarity to Ideal Solution'(TOPSIS). Finally, a case study about purchasing website is provided to demonstrate the feasibility and benefits of the proposed approach. A plugin in our tool-Breeze is developed to support the proposed approach.
Publisher's Version Article Search
Towards Realisation of Evolvable Runtime Variability in Internet-Based Service Systems via Dynamical Software Update
Jiwei Liu and Xinjun Mao
(National University of Defense Technology, China)
Today’s Internet-based service systems tend to run in open environments and try to satisfy varying requirements. In the context, the changes of requirements and environments can emerge at any point of their life cycle, and their runtime variability is supposed to be evolvable to deal with the changes. In other words, the number, type or attribute of variability elements (variation points and their associated variants) in the systems is regarded to be changeable, especially at runtime. How to realise evolvable runtime variability in software systems is a challenge in the community of software engineering. Software architecture is supposed to support updating software without interrupting service if runtime variability is to be changed. Besides, the relevant mechanisms have to be provided to achieve dynamic update. Thus, we propose a dynamically reconfigurable reference architecture to construct the systems with evolvable software variability. The resultant system established using our approach consists of variability units and their containers. Variability units embody the variability elements that can be changed through local relay, i.e., starting a new version of variability unit to take place of older ones. Containers are mainly used to carry out the dynamic updating for variability units and realise the functionality invocation among different variability units. They can also be added, removed or replaced without shutting down the entire system. We analyse the requirements and scenarios of evolvable runtime variability in the case of Personal Data Resource Network, and further show the effectiveness and applicability of our approach by constructing the system using our class library and solving the issues proposed in the case.
Publisher's Version Article Search
Guarantee High Reliability and Effectiveness for Softwares in Internetware
Xiaoda Zhang, Haiyan Chen, Xin Li, Zhuzhong Qian, Sheng Zhang, and Sanglu Lu
(Nanjing University, China; Nanjing University of Aeronautics and Astronautics, China)
Internetware challenges distributed systems in aspects from operating platforms, programming models, to engineering approaches, etc. Cloud computing based on virtualization is now a popular paradigm which can meet the dynamic resource allocation requirements of Internetware. Software entities dispersed on distributed nodes over the Internet, now are evolving into self-contained, autonomous software services. These software entities which are often deployed on virtual machines (VMs), are coordinated dynamically to achieve flexible design objectives. To improve the utilization of infrastructure resource, VMs processing components of a software should be consolidated to fewer physical machines (PMs). However, as the increasing trends of communication-intensive softwares, data traffic among VMs should be considered as well. And for the sake of safety and QoS (Quality of Service), certain VMs (e.g. backup nodes) are mutually-exclusive which means some VMs require to be placed on different PMs. In this paper, we investigate the online software placement problem with the target to minimize the network traffic cost, while taking into account the mutually-exclusiveness of VMs. We provide a formal problem description and its NP-hardness analysis. The proposed algorithm places the VMs that have heavy traffic on the same PM, while isolating the mutually-exclusive VMs simultaneously, which can guarantee high effectiveness and reliability for softwares in Internetware, respectively. The simulations show our algorithm reduces the traffic cost by 29% compared against the existing approaches.
Publisher's Version Article Search
Model Defined Fault Tolerance in Cloud
Yihan Wu, Hui Song, Yingfei Xiong, Zibin Zheng, Ying Zhang, and Gang Huang
(Peking University, China; SINTEF, Norway; Chinese University of Hong Kong, China)
Fault tolerance (FT) is one of the most important ways to achieve high availability (HA). However, as for cloud, with diverse user requirements, heterogeneous cloud providers, complex FT implementation as well as error-prone configuration, it is a real challenge. To cope with it, we proposed a model defined FT approach which automatically deploys FT mechanisms following a high-level model. With the help of FT model, the existing FT mechanisms will be optimized by reusability. We implemented a prototype of our approach and evaluated it on a popular IaaS cloud - CloudStack.
Publisher's Version Article Search

Development Support

Service Retrieval Based on Hybrid SLVM of WSDL
Jun Long, Lu-da Wang, Zu-de Li, and Zu-ping Zhang
(Central South University, China)
Two practicable approaches were proposed for Web service retrieval, bipartite-graph matching and KbSM. But their models and similarity metrics of WSDL analysis may ignore some term or semantic feature, and involve formal method problem of representation or difficulty of parameter verification. SLVM and its improved model depend on statistical term measures to implement XML document representation. As a result, they ignore the lexical semantics and the distilled mutual information, leading to text analysis errors. This work proposed a service retrieval method, hybrid SLVM of WSDL, to address the problem of feature extraction. Using WordNet, this method constructed a lexical semantic spectrum to characterize the lexical semantics, and built a special term spectrum based on TF-IDF. Then, feature matrix for WSDL representation was built in the hybrid SLVM. Applying to NWKNN algorithm, on OWLS-TC version 2 dataset, the experimental results show that the feature matrix of our method performs F1 measure and query precisions better than bipartite-graph matching and KbSM.
Publisher's Version Article Search
Extending Execution Plan with Execution Path Set Partitions
Mingkun Yang, Qimin Peng, and Xiaohui Hu
(Institute of Software at Chinese Academy of Sciences, China; University of Chinese Academy of Sciences, China)
Due to the increase in web services, non-functional or QoS parameters have been widely addressed. QoS-aware service selection is commonly formulated as an optimization problem aimed at achieving the execution plan that optimize the overall QoS parameter of the composed application while satisfying all the constraints on individual QoS parameters and considering all of the possible execution scenarios. In existing work, execution plans commonly assign one service for each task. For composed applications containing exclusive branches, some tasks may appear in multiple execution scenarios. Unfortunately, since one-fit-all services for these tasks considering every execution scenario are not always available, execution plans have to make compromise. As a result, when some users have strict QoS constraints, feasible execution plans may not exist for the composed application but exist for every execution scenario. This problem becomes more important and challenging for self-adaptive systems, due to the overhead of unwanted runtime adaptations. In this paper, we breaking such one-one mapping between services and tasks. We provide methods to divide all execution scenarios a task involved into exclusive groups (i.e. execution path set partitions) and show that a distinct service can be bound to this task for each group without causing any confusion. In order to find the optimal execution plan, we modify existing MILP based approaches to cooperate with our method. We also evaluate our approach experimentally using real dataset.The results show that it is more flexible, robust to QoS constraints, and can possibly improve the overall QoS associated with the optimal execution plan.
Publisher's Version Article Search
Automated Recommendation of Dynamic Software Update Points: An Exploratory Study
Zelin Zhao, Xiaoxing Ma, Chang Xu, and Wenhua Yang
(Nanjing University, China)
Due to the demand for bugs fixing and feature enhancements, developers inevitably need to update in-use software systems. Instead of shutting down a running system before updating, it is often desirable and sometimes mandatory to patch the running software system on the fly, with a mechanism generally referred as dynamic software updating (DSU). Practical DSU strategies often require manual specification of update points in the program for performing dynamic updates. At these points DSU systems will update the program code, and also migrate the program state to the new version program (using transformation functions). However, finding appropriate update points is non-trivial because the choice of update points has great influence on two competing factors: the timeliness of DSU and the complexity of transformation functions; and to strike a good balance between them requires a deep understanding of both versions of the program. In this exploratory paper, we conceive an automated approach to the recommendation of update points for developers. We conduct a set of preliminary experiments with a real world software update case to examine the feasibility of the approach.
Publisher's Version Article Search
Inferring Loop Invariants of Programs with Polynomial Post-conditions
Li Mengjun
(National University of Defense Technology, China)
Based on the term dropping heuristics and dynamic approach, this paper presents a practical approach to infer loop invariants of programs with polynomial post-conditions, the inferred invariants include both the polynomial equality loop invariants and the polynomial inequality loop invariants. The effectiveness of the approach is demonstrated on examples.
Publisher's Version Article Search

proc time: 0.15