2014, 8(1):1-17.
Abstract:This article is a survey on the recent progress of some hot topics of software engineering. The survey is based on the review on the papers of three premier conferences on software engineering from 2012 to 2013. Through the quantitative analysis on these papers, there are three hot topics identified, software testing, debugging, and analysis. Focusing on these three topics, this article summarizes some new achievements in these fields, analyzes the characteristics of these works, and points out some directions for future research.
2014, 8(1):19-20.
Abstract:While the infrastructure of computing shifting from isolated computers to Internet-linked resources, the software industry transfers its focus from computing products to dependable services. That's one of the reasons why pervasive computing, grid computing, service computing and cloud computing are introduced on the open and dynamic Internet-linked platform. The communication abilities it introduced enable various resources exchanging and sharing freely, and participating in the community in the social network. There are three layers in such a platform: computing infrastructure, software services and information web. The underline layer, computing infrastructure, provides computing and communication facilities, and the surface layer, information web, is full of information recombination and consuming. The layer of software services serves as a factory to process constantly emerging and heterogeneous dynamic information using distributed, autonomous, and evolvable computing facilities. Therefore, services provided by such software systems should be adaptive, situational, trustworthy, autonomous and etc. To achieve flexible objectives, these services can be coordinated in various styles such as integration, cooperation, orchestration and etc. A portmanteau term \Internetware" is used
Yepang Liu , Chang Xu , S.C. Cheung , Wenhua Yang
2014, 8(1):21-41.
Abstract:Smartphone applications' quality is vital. However, many smartphone applications on market suffer from various bugs. One major reason is that developers lack viable techniques to help expose potential bugs in their applications. This paper presents a practical dynamic analysis tool, CheckerDroid, to help developers automatically detect both functional and non-functional bugs in their Android applications. CheckerDroid currently supports the detection of the following three types of bugs: null pointer exception, resource leak and sensor listener misusage. We built CheckerDroid by extending Java PathFinder (JPF), a widely-used model checker for general Java programs. Our extension addresses two technical challenges. First, Android applications are event-driven and lack explicit control flow information between event handlers. Second, Android applications closely hinge on native framework libraries, whose implementations are platform-dependent. To address these challenges, we derive event handler scheduling policies from Android documentations, and encode them to guide CheckerDroid to realistically execute Android applications. Besides, we modeled the side effects for a critical set of Android APIs such that CheckerDroid can conduct bug detection precisely. To evaluate CheckerDroid, we conducted experiments with seven popular real-world Android applications. CheckerDroid analyzed these applications in a few minutes, and successfully located real bugs in them.
Peilong Xu , Zhe Zhang , Hailong Sun , Richong Zhang , Xudong Liu
2014, 8(1):43-66.
Abstract:As Internet is changing from a network of data into a network of functionalities, a federated Internet of applications is a natural trending topic, where every application can cooperate with each other smoothly to serve users. Cooperation can be regarded as integrating applications of different providers for users. However, existing integration techniques do not pay enough attention to multiple participants including application providers and end-users. In this study, we advocate a global cooperation framework of Internet of applications for all the participants. Specifically, we propose an intermediary based model to realize the cooperation among applications. With this model, on the one hand, users can be greatly facilitated to cooperatively use applications from various providers to meet their individualized requirements; on the other hand, providers can easily enable their own applications to interact with those from other providers. Thus, the federated Internet of applications is easier to be achieved than using existing solutions. In addition, we implement the model and develop some important techniques, including a) A uniform identity authentication protocol. b) A cooperation execution protocol. c) A multi-vender operated distributed infrustracture. Finally, we show some case studies which demonstrate the effectiveness of this model. In our vision, such a model is the beginning to bring the socialized relationships behind applications into the digital world.
2014, 8(1):67-94.
Abstract:As an emerging software paradigm, Internetware is proposed to handle openness, dynamism of software systems in the context of Internet, which implies that such software systems typically have runtime variability that can be improved dynamically to handle various or even unexpected changes of requirements and open environment. Though many progresses of Internetware software technologies have been made to support the adaptation, evolution, context-awareness, etc. of Internetware, how to construct Internetware systems with the ability to improve their runtime variability is still a great challenge in the literature of software engineering. In this paper, we propose software architecture and mechanisms for Internetware systems to support the improvement of their runtime variability by combining software variability and autonomic computing techniques. The Internetware system is organized as three levels that are consist of variable autonomic elements and Internetware entities, and architecture of these software entities is defined and discussed respectively. Moreover, we put forward a series of runtime mechanisms based on these levels, including module selection, intermediator and horizontal management, to realize operations upon the variation points and variants in software architectures and thus achieve the improvement of runtime variability. We develop a sample of Personal Data Resource Network to depict the requirements and scenario of improving runtime variability, and further study the case based on our proposed approach to show its effectiveness and applicability.
2014, 8(1):95-131.
Abstract:Role Based Access Control (RBAC) has been widely used for restricting resource access to only authorized users. Administrative Role Based Access Control (ARBAC) specifies permissions for administrators to change RBAC policies. Due to complex interactions between changes made by different administrators, it is often difficult to comprehend the full effect of ARBAC policies by manual inspection alone. Policy analysis helps administrators detect potential flaws in the policy specification. Prior work on ARBAC policy analysis considers only static ARBAC policies. In practice, ARBAC policies tend to change over time in order to fix design flaws or to cope with the changing requirements of an organization. Changes to ARBAC policies may invalidate security properties that were previously satisfied. In this paper, we present incremental analysis algorithms for evolving ARBAC. Our incremental algorithms determine if a change may affect the analysis result, and if so, use the information of the previous analysis to incrementally update the analysis result. To the best of our knowledge, these are the first known incremental algorithms in literature for ARBAC analysis. Detailed evaluations show that our incremental algorithms outperform the non-incremental algorithm in terms of execution time at a reasonable cost of increased disk space consumption.
2014, 8(1):133-142.
Abstract:There are several translations from description logics to multi-modal logics, and these different translations have different logical properties which have not been considered in these translations. To give a faithful and full translation from description logics to multi-modal logics, we need extend the multi-modal logics to the hybrid multi-modal logics and classify the formulas in the hybrid multi-modal logics into two levels, so that one level of formulas corresponds to concepts and another corresponds to statements in description logics. This paper will give a faithful translation from the description logic ALC to the hybrid multi-modal logic and a faithful translation from the hybrid multi-modal logic to ALC, so that there is a faithful and full translation from ACL to the hybrid multi-modal logic, which implies that ACL is sound and complete if and only if the hybrid multi-modal logic is sound and complete.