VLDB 2026 Research / reviewers in the wild / expert
Hong Mei 0001
dblp:14/2036
· DBLP profile ↗
253ranked-venue papers
23as first author
33since 2021 · last 2026
0000-0003-2380-3976ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 167 · 9 first-author · 11 since 2021Applied, interdisciplinary, general and emerging computing · 70 · 16 first-author · 6 since 2021Artificial intelligence and machine learning · 19 · 9 since 2021Systems, architecture and hardware · 16 · 1 first-author · 6 since 2021Databases, data management, data science and information retrieval · 11 · 3 since 2021Graphics, computer vision, multimedia, augmented reality and games · 5 · 5 since 2021Computer networks · 2Security and privacy · 1Human-computer interaction and ubiquitous computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Cross-Scale Collaboration between LLMs and Lightweight Sequential Recommenders with Domain-Specific Latent ReasoningabstractSequential recommendation aims to predict the next item based on historical interactions. To further enhance the reasoning capability in sequential recommendation, LLMs are employed to predict the next item or generate semantic IDs for item representation, given LLMs' extensive domain knowledge and reasoning ability. However, existing LLM-based methods suffer from two limitations. (i) The scarcity of recommendation data with reasoning paths makes it challenging to design suitable chain-of-thought prompting templates, and the full potential of LLMs' reasoning abilities remains underutilized. (ii) Upon obtaining semantic IDs, the LLMs and their representations are excluded from the subsequent recommendation model training, preventing downstream models from fully utilizing the rich semantic information encoded within these IDs. To address these issues, we propose a novel CoderRec framework, which is capable of fully exploiting the information encoded in semantic IDs to guide the recommendation process. Specifically, to address the problem of scarcity in reasoning path-augmented data, we introduce latent reasoning into sequential recommendation and treat the representation captured by the downstream model as domain-specific latent thought, enabling implicit logical inference without requiring explicit CoT annotations. To ensure that the downstream recommendation models are able to deeply leverage the semantic information within IDs, we propose a novel cross-scale model collaboration strategy, which employs cross-scale IDs and a two-phase approach to align LLM-derived semantics with recommendation objectives. Extensive experiments have shown the effectiveness of our proposed CoderRec framework. Yipeng Zhang 0003, Xin Wang 0019, Hong Chen 0011, Junwei Pan, Qian Li 0016, Jun Zhang 0006, Jie Jiang 0015, Hong Mei 0001, Wenwu Zhu 0001 |
AAAI | 8 |
| 2026 | Serverless Replication of Object Storage across Multi-Vendor Clouds and Regions
Junyi Shu, Gang Huang 0001, Hong Mei 0001, Xuanzhe Liu, Xin Jin 0008 |
EuroSys | 4 |
| 2026 | Disentangled Graph LLM for Molecule Graph Editing under Distribution ShiftsabstractMolecule graph editing has become a powerful paradigm for optimizing chemical compounds in drug discovery. Existing methods overlook the invariant structure-property relationships, and rely on variable correlations that shift across different instructions, thereby failing to generalize to out-of-distribution (O.O.D.) scenarios. To overcome the weakness of existing work, in this paper we propose to capture and utilize the invariant factors in order to achieve generalizable molecule graph editing under distribution shifts. However, this problem remains challenging, given that the invariant and variant factors are deeply entangled within the editing models. To tackle this challenge, we propose MoFE, a disentangled graph large language model for molecule graph editing that handles editing instructions under distribution shifts via disentangling invariant factors that govern editing-relevant properties. Specifically, we propose a disentangled graph projector with invariance loss that encodes molecular graphs into disentangled latent factors, with an invariance loss that ensures consistency across paraphrased prompts with the same objective. Then, we enhance the LLM with a factor-aware LoRA mixture-of-experts, where each expert is associated with a distinct latent factor. Additionally, we introduce a factor disentanglement loss weighting strategy that adaptively assigns higher weights to expert-factor pairs that perform well on relevant editing tasks. The proposed MoFE model promotes joint disentanglement between experts and latent factors, reinforcing their alignment and preventing collapse. Experiments on a representative benchmark demonstrate that MoFE is able to achieve superior O.O.D. generalization performance in molecule graph editing. Yang Yao 0003, Xin Wang 0019, Zeyang Zhang 0001, Hong Mei 0001, Wenwu Zhu 0001 |
WWW | 5 |
| 2025 | Chrono: Meticulous Hotness Measurement and Flexible Page Migration for Memory TieringabstractAs the memory demand continues to surge, the limitations of DRAM scalability have spurred the development of various new memory technologies in today's data centers. In order to harness the benefits of the heterogeneous memory architecture, tiering has become a widely adopted memory management paradigm. The effectiveness of a tiered memory management system primarily relies on its ability to accurately identify frequently accessed ("hot") pages and infrequently accessed ("cold") pages, and efficiently relocate them between tiers. However, existing systems rely on coarse-grained frequency measurement schemes that do not align with the performance characteristics of modern memory devices and memory-intensive applications. Additionally, these systems often incorporate rigid rules or manually configured parameters for page classification, resulting in inflexible migration strategies. Zhenlin Qi, Shengan Zheng, Yifeng Hui, Bowen Zhang 0012, Linpeng Huang, Hong Mei 0001 |
EuroSys | 7 |
| 2025 | UnCert-CoT: Uncertainty-Aware Chain-of-Thought for Code Generation with Large Language Model
Ge Li 0001, Jia Li 0012, Hong Mei 0001, Zhi Jin 0001, Yihong Dong, Qibin Zheng |
ICIC (23) | 5 |
| 2025 | Reasoning is Periodicity? Improving Large Language Models Through Effective Periodicity ModelingabstractPeriodicity, as one of the most important basic characteristics, lays the foundation for facilitating structured knowledge acquisition and systematic cognitive processes within human learning paradigms. However, the potential flaws of periodicity modeling in Transformer affect the learning efficiency and establishment of underlying principles from data for large language models (LLMs) built upon it. In this paper, we demonstrate that integrating effective periodicity modeling can improve the learning efficiency and performance of LLMs. We introduce FANformer, which adapts Fourier Analysis Network (FAN) into attention mechanism to achieve efficient periodicity modeling, by modifying the feature projection process of attention mechanism. Extensive experimental results on language modeling show that FANformer consistently outperforms Transformer when scaling up model size and training tokens, underscoring its superior learning efficiency. Our pretrained FANformer-1B exhibits marked improvements on downstream tasks compared to open-source LLMs with similar model parameters or training tokens. Moreover, we reveal that FANformer exhibits superior ability to learn and apply rules for reasoning compared to Transformer. The results position FANformer as an effective and promising architecture for advancing LLMs. Yihong Dong, Ge Li 0001, Yongding Tao, Kechi Zhang, Lecheng Wang, Huanyu Liu 0001, Jiazheng Ding, Jia Li 0011, Jinliang Deng, Hong Mei 0001 |
NeurIPS | 12 |
| 2025 | Rearchitecting the Thread Model of In-Memory Key-Value Stores with μTPSabstractThis paper presents μTPS, a new thread architecture tailored for in-memory key-value stores (KVSs) that operate at tens of millions of operations per second. We show through analysis and demonstration that the widely used run-to-completion thread architecture, which executes monolithic functions from start to finish, often suffers from cache inefficiencies and contention issues. To address this, we revisit the once widely used thread-per-stage (TPS) architecture, but with a fresh perspective – separating cache-resident, contention-free stages and memory-resident, conflict-prone stages into distinct thread pools, and scheduling them with dedicated hardware resources (e.g., CPU cores, cache ways). This novel division enables independent optimization of each stage, significantly improving cache efficiency and mitigating contention. Additionally, μTPS incorporates reconfigurable RPC, resizable caching, and an auto-tuner to enhance its schedulability and performance. We implement two in-memory key-value stores, μTPS-H and μTPS-T, to demonstrate the effectiveness of this approach. Evaluation results show that μTPS achieves higher performance than the run-to-completion counterparts. Youmin Chen, Jiwu Shu, Yanyan Shen, Linpeng Huang, Hong Mei 0001 |
SOSP | 5 |
| 2025 | ScenarioDiff: Text-to-video Generation with Dynamic Transformations of Scene Conditions
Yipeng Zhang 0003, Xin Wang 0019, Hong Chen 0011, Chenyang Qin, Yibo Hao, Hong Mei 0001, Wenwu Zhu 0001 |
Int. J. Comput. Vis. | 6 |
| 2025 | WebAssembly for Container Runtime: Are We There Yet?abstractTo pursue more efficient software deployment with containers, WebAssembly (abbreviated as Wasm) has long been regarded as a promising alternative to native container runtime (such as Docker container) due to its features of secure memory sandbox, lightweight isolation, portability, and multi-language support. However, it remains unknown whether and how much Wasm indeed brings benefits for containerized software applications. To fill the knowledge gap, this paper presents the first measurement study on Wasm-based container runtime (i.e., Wasm container) by comparison with the Docker container and native standalone Wasm runtime for execution performance in terms of the startup, computation, system interface access, and resource consumption. Surprisingly, we find that the Wasm container does not achieve better performance versus the Docker container as expected and introduces significant overhead compared to the standalone Wasm runtime. Through comparison, we identify the main causes of performance degradation for Wasm containers. Some stem from the heavy containerization overhead similar to Docker containers, while others are inherently caused by Wasm VMs and the WASI interface. Our findings can help software developers, Wasm container developers and the Wasm community improve the efficiency of utilizing Wasm-based container runtime, ultimately optimizing software performance. Mugeng Liu 0001, Haiyang Shen, Hong Mei 0001, Yun Ma 0002 |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2024 | 2024 IEEE World Congress on ServicesabstractA warm welcome to the 2024 IEEE World Congress on Services (SERVICES). With Professor Zhi Jin and Professor Michael Sheng serving as the Congress General Chairs, I trust everyone will have a rewarding experience participating in the IEEE Computer Society's flagship annual event in services computing, whether attending on-site or remotely. Elisa Bertino, Carl K. Chang, Rong Chang 0001, Peter Chen, Ernesto Damiani, Abdelsalam Helal, Dennis Gannon, Frank Leymann, Hong Mei 0001, Dejan S. Milojicic, Stephen S. Yau |
CLOUD | 9 |
| 2024 | Message from Rong N. Chang, Steering Committee ChairabstractA warm welcome to the 2024 IEEE World Congress on Services (SERVICES). With Professor Zhi Jin and Professor Michael Sheng serving as the Congress General Chairs, I trust everyone will have a rewarding experience participating in the IEEE Computer Society's flagship annual event in services computing, whether attending on-site or remotely. Elisa Bertino, Carl K. Chang, Rong Chang 0001, Peter Chen, Ernesto Damiani, Abdelsalam Helal, Dennis Gannon, Frank Leymann, Hong Mei 0001, Dejan S. Milojicic, Stephen S. Yau |
SSE | 9 |
| 2024 | Data-Augmented Curriculum Graph Neural Architecture Search under Distribution ShiftsabstractGraph neural architecture search (NAS) has achieved great success in designing architectures for graph data processing.However, distribution shifts pose great challenges for graph NAS, since the optimal searched architectures for the training graph data may fail to generalize to the unseen test graph data. The sole prior work tackles this problem by customizing architectures for each graph instance through learning graph structural information, but failed to consider data augmentation during training, which has been proven by existing works to be able to improve generalization.In this paper, we propose Data-augmented Curriculum Graph Neural Architecture Search (DCGAS), which learns an architecture customizer with good generalizability to data under distribution shifts. Specifically, we design an embedding-guided data generator, which can generate sufficient graphs for training to help the model better capture graph structural information. In addition, we design a two-factor uncertainty-based curriculum weighting strategy, which can evaluate the importance of data in enabling the model to learn key information in real-world distribution and reweight them during training. Experimental results on synthetic datasets and real datasets with distribution shifts demonstrate that our proposed method learns generalizable mappings and outperforms existing methods. Yang Yao 0003, Xin Wang 0019, Yijian Qin, Ziwei Zhang 0001, Wenwu Zhu 0001, Hong Mei 0001 |
AAAI | 6 |
| 2024 | Hot or Cold? Adaptive Temperature Sampling for Code Generation with Large Language ModelsabstractRecently, Large Language Models (LLMs) have shown impressive abilities in code generation. However, existing LLMs' decoding strategies are designed for Natural Language (NL) generation, overlooking the differences between NL and programming languages (PL). Due to this oversight, a better decoding strategy for code generation remains an open question. In this paper, we conduct the first systematic study to explore a decoding strategy specialized in code generation. With an analysis of loss distributions of code tokens, we find that code tokens can be divided into two categories: challenging tokens that are difficult to predict and confident tokens that can be easily inferred. Among them, the challenging tokens mainly appear at the beginning of a code block. Inspired by the above findings, we propose a simple yet effective method: Adaptive Temperature (AdapT) sampling, which dynamically adjusts the temperature coefficient when decoding different tokens. We apply a larger temperature when sampling for challenging tokens, allowing LLMs to explore diverse choices. We employ a smaller temperature for confident tokens avoiding the influence of tail randomness noises. We apply AdapT sampling to LLMs with different sizes and conduct evaluations on two popular datasets. Results show that AdapT sampling significantly outperforms state-of-the-art decoding strategy. Jia Li 0011, Ge Li 0001, Yunfei Zhao 0003, Jia Li 0012, Zhi Jin 0001, Hong Mei 0001 |
AAAI | 7 |
| 2024 | Exploiting Persistent CPU Cache for Scalable Persistent Hash IndexabstractByte-addressable persistent memory (PM) has been widely studied in the past few years. Recently, the emerging eADR technology further incorporates CPU cache into the persistence domain. The persistent CPU cache is promising to optimize the write performance of PM-based storage systems and facilitate the design of concurrent crash-consistent data structures. In this paper, we propose Spash, a highly scalable persistent hash index for PM systems with persistent CPU cache. Spash fully exploits the benefits of persistent CPU cache to implement a durable linearizable index with low PM access overhead and high concurrency. Spash employs a fine-grained extendible hash architecture and a metadata-free segment design to minimize the number of PM accesses. Moreover, Spash adopts adaptive in-place updates and compacted-flush insertions, which dramatically conserve scarce PM write bandwidth by absorbing a large amount of PM write in the persistent CPU cache. Furthermore, Spash proposes a two-phase concurrency protocol and a collaborative staged doubling mechanism, which leverage the persistent CPU cache and hardware transactional memory to achieve lock-free concurrency and durable linearizability. Spash outperforms the other state-of-the-art persistent hash indexes in YCSB workloads by up to 19.6×. Bowen Zhang 0012, Shengan Zheng, Liangxu Nie, Zhenlin Qi, Linpeng Huang, Hong Mei 0001 |
ICDE | 6 |
| 2024 | Customized Cross-device Neural Architecture Search with ImagesabstractCross-device scenarios have become increasingly common, where non-independently and identically distributed (non-IID) data is generated and stored in different devices. However, the existing cross-device NAS methods only search for a fixed architecture for different devices, neglecting that different devices have varying hardware characteristics and data distributions. In this paper, we propose a novel NAS framework that can customize the most suitable architecture for each device and its associated dataset. Specifically, we propose a decoupled data feature extractor and a device feature extractor to characterize the complex distributions of the different datasets and diverse hardware features. Then, we propose a prototype matcher to customize the operators and shape selection parameters of architectures. Experiments on ImageNet and CIFAR-10 show that our method can discover more efficient and effective architectures in cross-device scenarios than the existing approaches. To the best of our knowledge, this is the first exploration on customized cross-device NAS problem. Yang Yao 0003, Xin Wang 0019, Yijian Qin, Ziwei Zhang 0001, Wenwu Zhu 0001, Hong Mei 0001 |
ICME | 6 |
| 2024 | CoEdPilot: Recommending Code Edits with Learned Prior Edit Relevance, Project-wise Awareness, and Interactive NatureabstractRecent years have seen the development of LLM-based code generation. Compared to generating code in a software project, incremental code edits are empirically observed to be more frequent. The emerging code editing approaches usually formulate the problem as generating an edit based on known relevant prior edits and context. However, practical code edits can be more complicated. First, an editing session can include multiple (ir)relevant edits to the code under edit. Second, the inference of the subsequent edits is non-trivial as the scope of its ripple effect can be the whole project. In this work, we propose CoEdPilot, an LLM-driven solution to recommend code edits by discriminating the relevant edits, exploring their interactive natures, and estimating its ripple effect in the project. Specifically, CoEdPilot orchestrates multiple neural transformers to identify what and how to edit in the project regarding both edit location and edit content. When a user accomplishes an edit with an optional editing description, an Subsequent Edit Analysis first reports the most relevant files in the project with what types of edits (e.g., keep, insert, and replace) can happen for each line of their code. Next, an Edit-content Generator generates concrete edit options for the lines of code, regarding its relevant prior changes reported by an Edit-dependency Analyzer. Last, both the Subsequent Edit Analysis and the Edit-content Generator capture relevant prior edits as feedback to readjust their recommendations. We train our models by collecting over 180K commits from 471 open-source projects in 5 programming languages. Our extensive experiments show that (1) CoEdPilot can well predict the edits (i.e., predicting edit location with accuracy of 70.8%-85.3%, and the edit content with exact match rate of 41.8% and BLEU4 score of 60.7); (2) CoEdPilot can well boost existing edit generators such as GRACE and CCT5 on exact match rate by 8.57% points and BLEU4 score by 18.08. Last, our user study on 18 participants with 3 editing tasks (1) shows that CoEdPilot can be effective in assisting users to edit code in comparison with Copilot, and (2) sheds light on the future improvement of the tool design. The video demonstration of our tool is available at https://sites.google.com/view/coedpilot/home. Chenyan Liu, Yufan Cai 0001, Yun Lin 0001, Yuhuan Huang, Yunrui Pei, Jin Song Dong 0001, Hong Mei 0001 |
ISSTA | 9 |
| 2024 | Large Language Model with Curriculum Reasoning for Visual Concept RecognitionabstractVisual concept recognition aims to capture the basic attributes of an image and reason about the relationships among them to determine whether the image satisfies a certain concept, and has been widely used in various tasks such as human action recognition and image risk warning. Most existing works adopt deep neural networks for visual concept recognition, which are black-box and incomprehensible to humans, thus making them unacceptable for sensitive domains such as prohibited event detection and risk early warning etc. To address this issue, we propose to combine large language model (LLM) with explainable symbolic reasoning via curriculum reweighting to increase the interpretability and accuracy of visual concept recognition in this paper. However, realizing this goal is challenging given that i) the performance of symbolic representations are limited by the lack of annotated reasoning symbols and rules for most tasks, and ii) the LLMs may suffer from knowlege hallucination and dynamic open environment. To address these issues, in this paper, we propose CurLLM-Reasoner, a curriculum reasoning method based on symbolic reasoning and large language model for visual concept recognition. Specifically, we propose a novel rule enhancement module with a tool library, which fully leverage the reasoning capability of large language models and can generate human-understandable rules without any annotation. We further propose a curriculum data resampling methodology to help the large language model accurately extract from easy to complex rules at different reasoning stages. Extensive experiments on various datasets demonstrate that CurLLM-Reasoner can achieve the state-of-the-art visual concept recognition results with explainable rules while free of human annotations. Yipeng Zhang 0003, Xin Wang 0019, Hong Chen 0011, Jiapei Fan, Weigao Wen, Hui Xue 0001, Hong Mei 0001, Wenwu Zhu 0001 |
KDD | 7 |
| 2024 | Revisiting PM-Based B+-Tree With Persistent CPU CacheabstractPersistent memory (PM) promises near-DRAM performance as well as data persistence. Recently, a new feature called eADR is available for PM-equipped platforms to guarantee the persistence of CPU cache. The emergence of eADR presents unique opportunities to build lock-free data structures and unleash the full potential of PM. In this paper, we propose NBTree, a lock-free PM-friendly B$^+$-Tree, to deliver high scalability and low PM overhead. To our knowledge, NBTree is the first persistent index designed for PM systems with persistent CPU cache. To achieve lock-free, NBTree uses atomic primitives to serialize index operations. Moreover, NBTree proposes five novel techniques to enable lock-free accesses during structural modification operations (SMO), includingthree-phase SMO,sync-on-write,sync-on-read,cooperative SMO, andshift-aware search. To reduce PM access overhead, NBTree employs a decoupled leaf node design to absorb the metadata accesses in DRAM. Moreover, NBTree devises a cache-crafty persistent allocator and adoptslog-structured insertandin-place update/deleteto enhance the access locality of write operations, absorbing a substantial amount of PM writes in persistent CPU cache. Our evaluation shows that NBTree achieves up to 11× higher throughput and 43× lower 99% tail latency than state-of-the-art persistent B$^+$-Trees under YCSB workloads. Bowen Zhang 0012, Shengan Zheng, Liangxu Nie, Zhenlin Qi, Linpeng Huang, Hong Mei 0001 |
IEEE Trans. Parallel Distributed Syst. | 7 |
| 2023 | Disaggregated RAID Storage in Modern DatacentersabstractRAID (Redundant Array of Independent Disks) has been widely adopted for decades, as it provides enhanced throughput and redundancy beyond what a single disk can offer. Today, enabled by fast datacenter networks, accessing remote block devices with acceptable overhead (i.e. disaggregated storage) becomes a reality (e.g., for serverless applications). Combining RAID with remote storage can provide the same benefits while creating better fault tolerance and flexibility than its monolithic counterparts. The key challenge of disaggregated RAID is to handle extra network traffic generated by RAID, which can consume a vast amount of NIC bandwidth. We present dRAID, a disaggregated RAID system that achieves near-optimal read and write throughput. dRAID exploits peer-to-peer disaggregated data access to reduce bandwidth consumption in both normal and degraded states. It employs non-blocking multi-stage writes to maximize inter-node parallelism, and applies pipelined I/O processing to maximize inter-device parallelism. We introduce bandwidth-aware reconstruction for better load balancing. We show that dRAID provides up to 3× bandwidth improvement. The results on a lightweight object store show that dRAID brings 1.5×-2.35× throughput improvement on various workloads. Junyi Shu, Ruidong Zhu, Yun Ma 0002, Gang Huang 0001, Hong Mei 0001, Xuanzhe Liu, Xin Jin 0008 |
ASPLOS (3) | 5 |
| 2023 | Wasserstein Barycenter Matching for Graph Size Generalization of Message Passing Neural NetworksabstractGraph size generalization is hard for Message passing neural networks (MPNNs). The graph-level classification performance of MPNNs degrades across various graph sizes. Recently, theoretical studies reveal that a slow uncontrollable convergence rate w.r.t. graph size could adversely affect the size generalization. To address the uncontrollable convergence rate caused by correlations across nodes in the underlying dimensional signal-generating space, we propose to use Wasserstein barycenters as graph-level consensus to combat node-level correlations. Methodologically, we propose a Wasserstein barycenter matching (WBM) layer that represents an input graph by Wasserstein distances between its MPNN-filtered node embeddings versus some learned class-wise barycenters. Theoretically, we show that the convergence rate of an MPNN with a WBM layer is controllable and independent to the dimensionality of the signal-generating space. Thus MPNNs with WBM layers are less susceptible to slow uncontrollable convergence rate and size variations. Empirically, the WBM layer improves the size generalization over vanilla MPNNs with different backbones (e.g., GCN, GIN, and PNA) significantly on real-world graph datasets. Yujie Jin, Xin Wang 0019, Shanghang Zhang, Yasha Wang, Wenwu Zhu 0001, Hong Mei 0001 |
ICML | 7 |
| 2023 | DeepDebugger: An Interactive Time-Travelling Debugging Approach for Deep ClassifiersabstractA deep classifier is usually trained to (i) learn the numeric representation vector of samples and (ii) classify sample representations with learned classification boundaries. Time-travelling visualization, as an explainable AI technique, is designed to transform the model training dynamics into an animation of canvas with colorful dots and territories. Despite that the training dynamics of the high-level concepts such as sample representations and classification boundaries are now observable, the model developers can still be overwhelmed by tens of thousands of moving dots across hundreds of training epochs (i.e., frames in the animation), which makes them miss important training events. Xianglin Yang, Yun Lin 0001, Yifan Zhang 0019, Linpeng Huang, Jin Song Dong 0001, Hong Mei 0001 |
ESEC/SIGSOFT FSE | 6 |
| 2023 | Massive Shape Formation in Grid EnvironmentsabstractShape formation mechanism plays an essential role in many natural processes, involving the formation and evolution of living or non-living structures, and shows potential applications in many emerging domains. In existing research and practice, there still lacks a shape formation mechanism that manifestsefficiency,scalability, andstabilityat the same time. Inspired byphototaxisobserved in nature, we propose a self-organized approach for the massive formation of connected shapes in grid environments. The key component of this approach is anartificial light fieldsuperimposed on a grid environment, which is determined by the positions of all agents and at the same time drives all agents to change their positions, forming a dynamic mutual feedback process. To evaluate the effectiveness of this approach, we conduct a set of simulations, involving 156 shapes from 16 categories, comparing with four baseline methods. The results show that: (1) our approach outperforms the three semi-/decentralized non-optimal baselines inefficiency,scalability, andstability; (2) compared to the centralized optimal baseline, our approach exhibits considerable decreases in theabsolute completion timeon diverse shape formation tasks, indicating a better efficiency and scalability of our approach.Note to Practitioners—In nature, shape formation phenomena emerge from collective behaviors of swarms based on chemical or physical signals. These natural phenomena provide valuable insights to build large-scale multi-agent collaboration systems using software-defined digital signals. This work proposes a phototaxis-inspired computational approach for shape formation that enables a massive swarm of agents to form arbitrary connected shapes in grid environments based on a digital signal called artificial light field. The significance of this work is twofold: 1. it could contribute to a deep understanding of shape formation mechanisms; 2. it would motivate new research on advanced multi-agent algorithms, massive collaboration mechanisms, and artificial collective intelligence systems and facilitate their practical applications. Specifically, the shape formation mechanism has promising applications, including smart warehouses, autonomous cooperation of UAVs, and intelligent transportation systems. A possible realistic application scenario of our method in intelligent transportation systems is bike sharing systems, in which the designated parking areas for shared bicycles near the work area are often overcrowded and difficult to park in during the morning peak period, so dynamic parking route guidance for users is required. Our method can directly apply to this scenario by utilizing the light field to represent the parking state of nearby bicycles and guiding the moving direction of each user. Wenjie Chu, Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
IEEE Trans Autom. Sci. Eng. | 5 |
| 2022 | DeepVisualInsight: Time-Travelling Visualization for Spatio-Temporal Causality of Deep Classification TrainingabstractUnderstanding how the predictions of deep learning models are formed during the training process is crucial to improve model performance and fix model defects, especially when we need to investigate nontrivial training strategies such as active learning, and track the root cause of unexpected training results such as performance degeneration. In this work, we propose a time-travelling visual solution DeepVisualInsight (DVI), aiming to manifest the spatio-temporal causality while training a deep learning image classifier. The spatio-temporal causality demonstrates how the gradient-descent algorithm and various training data sampling techniques can influence and reshape the layout of learnt input representation and the classification boundaries in consecutive epochs. Such causality allows us to observe and analyze the whole learning process in the visible low dimensional space. Technically, we propose four spatial and temporal properties and design our visualization solution to satisfy them. These properties preserve the most important information when projecting and inverse-projecting input samples between the visible low-dimensional and the invisible high-dimensional space, for causal analyses. Our extensive experiments show that, comparing to baseline approaches, we achieve the best visualization performance regarding the spatial/temporal properties and visualization efficiency. Moreover, our case study shows that our visual solution can well reflect the characteristics of various training scenarios, showing good potential of DVI as a debugging tool for analyzing deep learning training processes. Xianglin Yang, Yun Lin 0001, Zhenfeng He, Jin Song Dong 0001, Hong Mei 0001 |
AAAI | 7 |
| 2022 | Sectum: Accurate Latency Prediction for TEE-hosted Deep Learning InferenceabstractAs the security issue of cloud-offloaded Deep Learning (DL) inference is drawing increasing attention, running DL inference in Trusted Execution Environments (TEEs) has become a common practice. Latency prediction of TEE-hosted DL model inference is essential for many scenarios, such as DNN model architecture searching with a latency constraint or layer scheduling in model-parallelism inference. However, existing solutions fail to address the memory over-commitment issue in resource-constrained environments inside TEEs.This paper presents Sectum, an accurate latency predictor for DL inference inside TEE enclaves. We first perform a synthetic empirical study to analyze the relationship between inference latency and memory occupation. Sectum predicts inference latency following a two-stage design based on some critical observations. First, Sectum uses a Graph Neural Network (GNN)-based model to detect whether a given model would trigger memory over-commitment in TEEs. Then, combining operator-level latency modeling with linear regression, Sectum could predict the latency of a model. To evaluate Sectum, we design a large dataset that contains the latency information of over 6k CNN models. Our experiments demonstrate that Sectum could achieve over 85% ±10% accuracy of latency prediction. To our knowledge, Sectum is the first method to predict TEE-hosted DL inference latency accurately. Yan Li 0067, Junming Ma, Donggang Cao, Hong Mei 0001 |
ICDCS | 4 |
| 2022 | DNA: Domain Generalization with Diversified Neural AveragingabstractThe inaccessibility of the target domain data causes domain generalization (DG) methods prone to forget target discriminative features, and challenges the pervasive theme in existing literature in pursuing a single classifier with an ideal joint risk. In contrast, this paper investigates model misspecification and attempts to bridge DG with classifier ensemble theoretically and methodologically. By introducing a pruned Jensen-Shannon (PJS) loss, we show that the target square-root risk w.r.t. the PJS loss of the $\rho$-ensemble (the averaged classifier weighted by a quasi-posterior $\rho$) is bounded by the averaged source square-root risk of the Gibbs classifiers. We derive a tighter bound by enforcing a positive principled diversity measure of the classifiers. We give a PAC-Bayes upper bound on the target square-root risk of the $\rho$-ensemble. Methodologically, we propose a diversified neural averaging (DNA) method for DG, which optimizes the proposed PAC-Bayes bound approximately. The DNA method samples Gibbs classifiers transversely and longitudinally by simultaneously considering the dropout variational family and optimization trajectory. The $\rho$-ensemble is approximated by averaging the longitudinal weights in a single run with dropout shut down, ensuring a fast ensemble with low computational overhead. Empirically, the proposed DNA method achieves the state-of-the-art classification performance on standard DG benchmark datasets. Yujie Jin, Wenwu Zhu 0001, Yasha Wang, Xin Wang 0019, Shanghang Zhang, Hong Mei 0001 |
ICML | 7 |
| 2022 | RegMiner: towards constructing a large regression dataset from code evolution historyabstractBug datasets lay significant empirical and experimental foundation for various SE/PL researches such as fault localization, software testing, and program repair. Current well-known datasets are constructed manually, which inevitably limits their scalability, representativeness, and the support for the emerging data-driven research. Xuezhi Song, Yun Lin 0001, Siang Hwee Ng, Yijian Wu, Xin Peng 0001, Jin Song Dong 0001, Hong Mei 0001 |
ISSTA | 7 |
| 2022 | RegMiner: mining replicable regression dataset from code repositoriesabstractIn this work, we introduce a tool, RegMiner, to automate the process of collecting replicable regression bugs from a set of Git repositories. In the code commit history, RegMiner searches for regressions where a test can pass a regression-fixing commit, fail a regressioninducing commit, and pass a previous working commit again. Technically, RegMiner (1) identifies potential regression-fixing commits from the code evolution history, (2) migrates the test and its code dependencies in the commit over the history, and (3) minimizes the compilation overhead during the regression search. Our experients show that RegMiner can successfully collect 1035 regressions over 147 projects in 8 weeks, creating the largest replicable regression dataset within the shortest period, to the best of our knowledge. In addition, our experiments further show that (1) RegMiner can construct the regression dataset with very high precision and acceptable recall, and (2) the constructed regression dataset is of high authenticity and diversity. The source code of RegMiner is available at https://github.com/SongXueZhi/RegMiner, the mined regression dataset is available at https://regminer.github.io/, and the demonstration video is available at https://youtu.be/yzcM9Y4unok. Xuezhi Song, Yun Lin 0001, Yijian Wu, Yifan Zhang 0019, Siang Hwee Ng, Xin Peng 0001, Jin Song Dong 0001, Hong Mei 0001 |
ESEC/SIGSOFT FSE | 8 |
| 2022 | XiUOS: an open-source ubiquitous operating system for industrial Internet of Things
Donggang Cao, Dongliang Xue, Zhiyi Ma, Hong Mei 0001 |
Sci. China Inf. Sci. | 4 |
| 2022 | Massive self-organized shape formation in grid environments
Wenjie Chu, Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
Sci. China Inf. Sci. | 5 |
| 2022 | Heuristic and Neural Network Based Prediction of Project-Specific API Member AccessabstractCode completion is to predict the rest of a statement a developer is typing. Although advanced code completion approaches have greatly improved the accuracy of code completion in modern IDEs, it remains challenging to predict project-specific API method invocations or field accesses because little knowledge about such elements could be learned in advance. To this end, in this paper we propose an accurate approach called HeeNAMA to suggesting the next project-specific API member access. HeeNAMA focuses on a specific but common case of code completion: suggesting the following member access whenever a project-specific API instance is followed by a dot on the right hand side of an assignment. By focusing on such a specific case, HeeNAMA can take full advantages of the context of the code completion, including the type of the left hand side expression of the assignment, the identifier on the left hand side, the type of the base instance, and similar assignments typed in before. All such information together enables highly accurate code completion. Given an incomplete assignment, HeeNAMA generates the initial candidate set according to the type of the base instance, and excludes those candidates that are not type compatible with the left hand side of the assignment. If the enclosing project contains assignments highly similar to the incomplete assignment, it makes suggestions based on such assignments. Otherwise, it selects the one from the initial candidate set that has the greatest lexical similarity with the left hand side of the assignment. Finally, it employs a neural network to filter out risky predictions, which guarantees high precision. Evaluation results on open-source applications suggest that compared to the state-of-the-art approaches and the state-of-the-practice tools HeeNAMA improves precision and recall by 70.68 and 25.23 percent, relatively. Hui Liu 0003, He Jiang 0001, Lu Zhang 0023, Hong Mei 0001 |
IEEE Trans. Software Eng. | 5 |
| 2022 | Inferring Bug Signatures to Detect Real BugsabstractStatic tools like Findbugs allow their users to manually define bug patterns, so they can detect more types of bugs, but due to the complexity and variety of programs, it is difficult to manually enumerate all bug patterns, especially for those related to API usages or project-specific rules. Therefore, existing bug-detection tools (e.g., Findbugs) based on manual bug patterns are insufficient in detecting many bugs. Meanwhile, with the rapid development of software, many past bug fixes accumulate in software version histories. These bug fixes contain valuable samples of illegal coding practices. The gap between existing bug samples and well-defined bug patterns motivates our research. In the literature, researchers have explored techniques on learning bug signatures from existing bugs, and a bug signature is defined as a set of program elements explaining the cause/effect of the bug. However, due to various limitations, existing approaches cannot analyze past bug fixes in large scale, and to the best of our knowledge, no previously unknown bugs were ever reported by their work. The major challenge to automatically analyze past bug fixes is that, bug-inducing inputs are typically not recorded, and many bug fixes are partial programs that have compilation errors. As a result, for most bugs in the version history, it is infeasible to reproduce them for dynamic analysis or to feed buggy/fixed code directly into static analysis tools which mostly depend on compilable complete programs. In this paper, we propose an approach, calledDePa, that extracts bug signatures based on accurate partial-code analysis of bug fixes. With its support, we conduct the first large scale evaluation on 6,048 past bug fixes collected from four popular Apache projects. In particular, we useDePato infer bug signatures from these fixes, and to check the latest versions of the four projects with the inferred bug signatures. Our results show thatDePadetected 27 unique previously unknown bugs in total, including at least one bug from each project. These bugs are not detected by their developers nor other researchers. Among them, three of our reported bugs are already confirmed and repaired by their developers. Furthermore, our results show that the state-of-the-art tools detected only two of our found bugs, and our filtering techniques improve our precision from 25.5 to 51.5 percent. Hao Zhong 0001, Xiaoyin Wang, Hong Mei 0001 |
IEEE Trans. Software Eng. | 3 |
| 2021 | Emoji-powered Sentiment and Emotion Detection from Software Developers' Communication DataabstractSentiment and emotion detection from textual communication records of developers have various application scenarios in software engineering (SE). However, commonly used off-the-shelf sentiment/emotion detection tools cannot obtain reliable results in SE tasks and misunderstanding of technical knowledge is demonstrated to be the main reason. Then researchers start to create labeled SE-related datasets manually and customize SE-specific methods. However, the scarce labeled data can cover only very limited lexicon and expressions. In this article, we employ emojis as an instrument to address this problem. Different from manual labels that are provided by annotators, emojis are self-reported labels provided by the authors themselves to intentionally convey affective states and thus are suitable indications of sentiment and emotion in texts. Since emojis have been widely adopted in online communication, a large amount of emoji-labeled texts can be easily accessed to help tackle the scarcity of the manually labeled data. Specifically, we leverage Tweets and GitHub posts containing emojis to learn representations of SE-related texts through emoji prediction. By predicting emojis containing in each text, texts that tend to surround the same emoji are represented with similar vectors, which transfers the sentiment knowledge contained in emoji usage to the representations of texts. Then we leverage the sentiment-aware representations as well as manually labeled data to learn the final sentiment/emotion classifier via transfer learning. Compared to existing approaches, our approach can achieve significant improvement on representative benchmark datasets, with an average increase of 0.036 and 0.049 in macro-F1 in sentiment and emotion detection, respectively. Further investigations reveal that the large-scale Tweets make a key contribution to the power of our approach. This finding informs future research not to unilaterally pursue the domain-specific resource but try to transform knowledge from the open domain through ubiquitous signals such as emojis. Finally, we present the open challenges of sentiment and emotion detection in SE through a qualitative analysis of texts misclassified by our approach. Zhenpeng Chen 0001, Yanbin Cao, Huihan Yao, Xin Peng 0001, Hong Mei 0001, Xuanzhe Liu |
ACM Trans. Softw. Eng. Methodol. | 6 |
| 2021 | Lewat: A Lightweight, Efficient, and Wear-Aware Transactional Persistent Memory SystemabstractEmerging non-volatile memory (also termed as persistent memory, PM) technologies promise persistence, byte-addressability, and DRAM-like read/write latency. A proliferation of persistent memory systems have been proposed to leverage PM for fast data persistence and expose malloc-like persistent APIs. By eliminating disk I/Os, these systems gain low-latency and high-throughput access performance for persistent data. However, there still exist non-negligible limitations in these systems, such as frequent context switches, inefficient allocation, heavy logging overhead, and lack of wear-leveling techniques. To solve these problems, we develop Lewat, a lightweight, efficient, and wear-aware transactional persistent memory system. Lewat is built in user-layer to avoid kernel/user layer context switches and enables lightweight persistent data access. We decouple the data space into slot zone and page zone. Based on this, we design different allocators in these two zones to achieve efficient allocation performance for both small-sized data and large-sized data. To minimize logging overhead, we propose an efficient adaptive logging framework. The main idea is to utilize different logging techniques for different workloads. We also propose a suite of system-coupled wear-leveling techniques that contain wear-aware allocation, wear-aware update, and write reduction. We evaluate Lewat on a real non-volatile memory platform and the experimental results show that compared with state-of-the-art persistent memory systems, Lewat has much lower latency and higher throughput. Kaixin Huang, Sumin Li, Linpeng Huang, Kian-Lee Tan, Hong Mei 0001 |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2020 | SpotTune: Leveraging Transient Resources for Cost-efficient Hyper-parameter Tuning in the Public CloudabstractHyper-parameter tuning (HPT) is crucial for many machine learning (ML) algorithms. But due to the large searching space, HPT is usually time-consuming and resource-intensive. Nowadays, many researchers use public cloud resources to train machine learning models, convenient yet expensive. How to speed up the HPT process while at the same time reduce cost is very important for cloud ML users. In this paper, we propose SpotTune, an approach that exploits transient revocable resources in the public cloud with some tailored strategies to do HPT in a parallel and cost-efficient manner. Orchestrating the HPT process upon transient servers, SpotTune uses two main techniques, fine-grained cost-aware resource provisioning, and ML training trend predicting, to reduce the monetary cost and runtime of HPT processes. Our evaluations show that SpotTune can reduce the cost by up to 90% and achieve a 16.61x performance-cost rate improvement. Yan Li 0067, Bo An 0003, Junming Ma, Donggang Cao, Yasha Wang, Hong Mei 0001 |
ICDCS | 6 |
| 2020 | IEEE 2020 World Congress on Services Welcome Message from Congress 2020 General ChairsabstractPresents the introductory welcome message from the conference proceedings. May include the conference officers' congratulations to all involved with the conference event and publication of the proceedings record. Hong Mei 0001, Elisa Bertino |
SERVICES | 1 |
| 2020 | Learning a graph-based classifier for fault localization
Hao Zhong 0001, Hong Mei 0001 |
Sci. China Inf. Sci. | 2 |
| 2019 | Special Focus on Software Automation
Hong Mei 0001, Lu Zhang 0023 |
Sci. China Inf. Sci. | 1 |
| 2019 | Guest Editor's Introduction: Special Section on Services and Software Engineering Towards InternetwareabstractThe six papers in this special section focuses on services and software computing. Services computing provides a foundation to build software systems and applications over the Internet as well as emerging hybrid networked platforms motivated by it. Due to the open, dynamic, and evolving nature of the Internet, new features were born with these Internet-scale and service-based software systems. Such systems should be situation- aware, adaptable, and able to evolve to effectively deal with rapid changes of user requirements and runtime contexts. These emerging software systems enable and require novel methods in conducting software requirement, design, deployment, operation, and maintenance beyond existing services computing technologies. New programming and lifecycle paradigms accommodating such Internet- scale and service-based software systems, referred to as Internetware, are inevitable. The goal of this special section is to present the innovative solutions and challenging technical issues, so as to explore various potential pathways towards Internet-scale and service-based software systems. M. Brian Blake, Abdelsalam Helal, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 3 |
| 2019 | MUIT: A Domain-Specific Language and its Middleware for Adaptive Mobile Web-Based User Interfaces in WS-BPELabstractIn enterprise organizations, the Bring-Your-Own-Device (BYOD) requirement has become prevalent as employees use their own mobile devices to process the workflow-oriented tasks. Consequently, it calls for approaches that can quickly develop and integrate mobile user interactions into existing business processes, and adapt to various contexts. However, designing, developing, and deploying adaptive and mobile-oriented user interfaces for existing process engines are non-trivial, and require significant systematic efforts. To address this issue, we present a novel middleware-based approach, called MUIT, to developing and deploying the Mobility, User Interactions and Tasks into WS-BPEL engines. MUIT provides a Domain-Specific Language (DSL) that provides some intuitive facilities to support the declarative development of adaptive, mobile-oriented, and Web-based user interfaces in WS-BPEL. The DSL can significantly reduce developers' manual efforts of developing user interactions by preventing arbitrarily mixed code, and its runtime supports satisfactory user experiences. Additionally, MUIT can be seamlessly integrated into WS-BPEL without intrusions of existing process instances. We implement a proof-of-concept prototype by integrating MUIT into the commodity WS-BPEL-based Apusic Platform, and evaluate the performance and usability of MUIT platform. Xuanzhe Liu, Mengwei Xu 0001, Gang Huang 0001, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 5 |
| 2019 | An Empirical Study on API UsagesabstractAPI libraries provide thousands of APIs, and are essential in daily programming tasks. To understand their usages, it has long been a hot research topic to mine specifications that formally define legal usages for APIs. Furthermore, researchers are working on many other research topics on APIs. Although the research on APIs is intensively studied, many fundamental questions on APIs are still open. For example, the answers to open questions, such as which format can naturally define API usages and in which case, are still largely unknown. We notice that many such open questions are not concerned with concrete usages of specific APIs, but usages that describe how to use different types of APIs. To explore these questions, in this paper, we conduct an empirical study on API usages, with an emphasis on how different types of APIs are used. Our empirical results lead to nine findings on API usages. For example, we find that single-type usages are mostly strict orders, but multi-type usages are more complicated since they include both strict orders and partial orders. Based on these findings, for the research on APIs, we provide our suggestions on the four key aspects such as the challenges, the importance of different API elements, usage patterns, and pitfalls in designing evaluations. Furthermore, we interpret our findings, and present our insights on data sources, extraction techniques, mining techniques, and formats of specifications for the research of mining specifications. Hao Zhong 0001, Hong Mei 0001 |
IEEE Trans. Software Eng. | 2 |
| 2018 | Operating Systems for Internetware: Challenges and Future DirectionsabstractAn operating system is an essential layer of system software that is responsible for resource management and application support on a computer system. As the evolvement of computer systems, the concept of OSs has also been evolved into many new forms beyond the traditional OSs such as Linux and Windows. We call this new generation of OSs as ubiquitous operating systems (UOSs). Among many new types of UOSs, we are particularly interested in the operating systems for Internetware, i.e., Internetware Operating Systems. Internetware is a paradigm for new types of Internet applications that are autonomous, cooperative, situational, evolvable, and trustworthy. An Internetware OS represents our perspective on the OS for future Internet-based applications. This paper discusses the examples, technical challenges and our recent effort on Internetware OSs, as well as our vision on the future of Internetware OSs. We believe that, in the foreseeable future, Internetware OSs will become ubiquitous and could be built for many different types of computer systems and beyond. Hong Mei 0001, Yao Guo 0001 |
ICDCS | 1 |
| 2018 | Embracing informationization 3.0 - an era of computing intelligence
Hong Mei 0001 |
Sci. China Inf. Sci. | 1 |
| 2018 | Can big data bring a breakthrough for software automation?
Hong Mei 0001, Lu Zhang 0023 |
Sci. China Inf. Sci. | 1 |
| 2018 | Building application-specific operating systems: a profile-guided approach
Pengfei Yuan, Yao Guo 0001, Lu Zhang 0023, Xiangqun Chen, Hong Mei 0001 |
Sci. China Inf. Sci. | 5 |
| 2018 | Mining repair model for exception-related bug
Hao Zhong 0001, Hong Mei 0001 |
J. Syst. Softw. | 2 |
| 2018 | i-Jacob: An Internetware-Oriented Approach to Optimizing Computation-Intensive Mobile Web BrowsingabstractWeb browsing is always a key requirement of Internet users. Current mobile Web apps can contain computation-intensive JavaScript logics and thus affect browsing performance. Learning from our over-decade research and development experiences of the Internetware paradigm, we present the novel and generic i - Jacob approach to improving the performance of mobile Web browsing with effective JavaScript-code offloading. Our approach proposes a programming abstraction to make mobile Web situational and adaptive to contexts, by specifying the computation-intensive and “ offloadable ” code, and develops a platform-independent lightweight runtime spanning the mobile devices and the cloud. We demonstrate the efficiency of i - Jacob with some typical computation-intensive tasks over various combinations of hardware, operating systems, browsers, and network connections. The improvements can reach up to 49× speed-up in response time and 90% saving in energy. Xuanzhe Liu, Meihua Yu, Yun Ma 0002, Gang Huang 0001, Hong Mei 0001, Yunxin Liu 0001 |
ACM Trans. Internet Techn. | 5 |
| 2018 | Understanding Diverse Usage Patterns from Large-Scale Appstore-Service ProfilesabstractThe prevalence of smart mobile devices has promoted the popularity of mobile applications (a.k.a. apps). Supporting mobility has become a promising trend in software engineering research. This article presents an empirical study of behavioral service profiles collected from millions of users whose devices are deployed with Wandoujia, a leading Android app-store service in China. The dataset of Wandoujia service profiles consists of two kinds of user behavioral data from using 0.28 million free Android apps, including (1) app management activities (i.e., downloading, updating, and uninstalling apps) from over 17 million unique users and (2) app network usage from over 6 million unique users. We explore multiple aspects of such behavioral data and present patterns of app usage. Based on the findings as well as derived knowledge, we also suggest some new open opportunities and challenges that can be explored by the research community, including app development, deployment, delivery, revenue, etc. Xuanzhe Liu, Huoran Li, Tao Xie 0001, Qiaozhu Mei, Feng Feng 0001, Hong Mei 0001 |
IEEE Trans. Software Eng. | 7 |
| 2017 | Adaptive Prefetching for Accelerating Read and Write in NVM-Based File SystemsabstractThe byte-addressable Non-Volatile Memory (NVM) offers fast, fine-grained access to persistent storage. While DRAM and NVM have similar read performance, the write operations of existing NVM materials incur longer latency and lower bandwidth than DRAM. This read-write asymmetry nature of NVM causes two bottlenecks for accessing read-and write-intensive file data: expensive data block lookups via file inner structure and high-latency direct writes to data blocks in NVM. However, existing NVM-based file systems fail to address both bottlenecks well. This paper presents WARP, an adaptive prefetching module designed for NVM-based file systems, which aims to deal with two bottlenecks effectively. WARP employs two acceleration approaches: 1) mapping data blocks into kernel virtual address space to bypass the indirection of file inner structure for read-intensive file data; and 2) allocating DRAM buffer to absorb frequent writes for write-intensive file data. We design a WARP benefit model to identify read-and write-intensive access patterns for file data, and use a successor prediction model to predict future data access based on historical file access traces. With WARP, we are able to prefetch file data according to both file access patterns and traces with consistency guarantee. WARP can be implemented on various NVM-based file systems, and we choose HMVFS for the experiments. The evaluation results show that HMVFS with WARP provides high prefetching accuracy and up to 32%-83% improvement compared with the state-of-the-art NVM-based file systems. Shengan Zheng, Hong Mei 0001, Linpeng Huang, Yanyan Shen, Yanmin Zhu 0006 |
ICCD | 2 |
| 2017 | Understanding "software-defined" from an OS perspective: technical challenges and research issues
Hong Mei 0001 |
Sci. China Inf. Sci. | 1 |
| 2017 | Towards application-level elasticity on shared cluster: an actor-based approach
Donggang Cao, Lianghuan Kang, Hanglong Zhan, Hong Mei 0001 |
Frontiers Comput. Sci. | 4 |
| 2016 | Dynamic-MUSIC: accurate device-free indoor localizationabstractDevice-free passive indoor localization is playing a critical role in many applications such as elderly care, intrusion detection, smart home, etc. However, existing device-free localization systems either suffer from labor-intensive offline training or require dedicated special-purpose devices. To address the challenges, we present our system named MaTrack, which is implemented on commodity off-the-shelf Intel 5300 Wi-Fi cards. MaTrack proposes a novel Dynamic-MUSIC method to detect the subtle reflection signals from human body and further differentiate them from those reflected signals from static objects (furniture, walls, etc.) to identify the human target's angle for localization. MaTrack does not require any offline training compared to existing signature-based systems and is insensitive to changes in environment. With just two receivers, MaTrack is able to achieve a median localization accuracy below 0.6 m when the human is walking, outperforming the state-of-the-art schemes. Xiang Li 0049, Shengjie Li 0001, Daqing Zhang 0001, Jie Xiong 0001, Yasha Wang, Hong Mei 0001 |
UbiComp | 6 |
| 2016 | Supporting oracle construction via static analysisabstractIn software testing, the program under test is usually executed with test inputs and checked against a test oracle, which is a mechanism to verify whether the program behaves as expected. Selecting the right oracle data to observe is crucial in test oracle construction. In the literature, researchers have proposed two dynamic approaches to oracle data selection by analyzing test execution information (e.g., variables' values or interaction information). However, collecting such information during program execution may incur extra cost. In this paper, we present the first static approach to oracle data selection, SODS (Static Oracle Data Selection). In particular, SODS first identifies the substitution relationships between candidate oracle data by constructing a probabilistic substitution graph based on the definition-use chains of the program under test, then estimates the fault-observing capability of each candidate oracle data, and finally selects a subset of oracle data with strong fault-observing capability. For programs with analyzable test code, we further extend SODS via pruning the probabilistic substitution graph based on 0-1-CFA call graph analysis. The experimental study on 11 subject systems written in C or Java demonstrates that our static approach is more effective and much more efficient than state-of-the-art dynamic approaches in most cases. Junjie Chen 0003, Yanwei Bai, Dan Hao 0001, Lingming Zhang 0001, Lu Zhang 0023, Hong Mei 0001 |
ASE | 7 |
| 2016 | Multi-extract and multi-level dataset of mozilla issue tracking historyabstractany studies analy e issue trac ing repositories to understand and support software development To facilitate the analyses we share a o illa issue trac ing dataset covering a -year history The dataset includes three e tracts and multiple levels for each e tract The three e tracts were retrieved through two channels a front-end we user interface I and a ac -end o cial data ase dump of o illa ug illa at three di erent times The variations dynamics among e tracts provide space for researchers to reproduce and validate their studies while revealing potential opportunities for studies that otherwise could not e conducted e provide di erent data levels for each e tract ranging from raw data to standardi ed data as well as to the calculated data level for targeting speci c research uestions Data retrieving and processing scripts related to each data level are o ered too y employing the multi-level structure analysts can more e ciently start an in uiry from the standardi ed level and easily trace the data chain when necessary e g to verify if a phenomenon re ected y the data is an actual event e applied this dataset to several pu lished studies and intend to e pand the multi-level and multi-e tract feature to other software engineering datasets. Minghui Zhou 0001, Hong Mei 0001 |
MSR | 3 |
| 2016 | Relationship-aware code search for JavaScript frameworksabstractJavaScript frameworks, such as jQuery, are widely used for developing web applications. To facilitate using these JavaScript frameworks to implement a feature (e.g., functionality), a large number of programmers often search for code snippets that implement the same or similar feature. However, existing code search approaches tend to be ineffective, without taking into account the fact that JavaScript code snippets often implement a feature based on various relationships (e.g., sequencing, condition, and callback relationships) among the invoked framework API methods. To address this issue, we present a novel Relationship-Aware Code Search (RACS) approach for finding code snippets that use JavaScript frameworks to implement a specific feature. In advance, RACS collects a large number of code snippets that use some JavaScript frameworks, mines API usage patterns from the collected code snippets, and represents the mined patterns with method call relationship (MCR) graphs, which capture framework API methods’ signatures and their relationships. Given a natural language (NL) search query issued by a programmer, RACS conducts NL processing to automatically extract an action relationship (AR) graph, which consists of actions and their relationships inferred from the query. In this way, RACS reduces code search to the problem of graph search: finding similar MCR graphs for a given AR graph. We conduct evaluations against representative real-world jQuery questions posted on Stack Overflow, based on 308,294 code snippets collected from over 81,540 files on the Internet. The evaluation results show the effectiveness of RACS: the top 1 snippet produced by RACS matches the target code snippet for 46% questions, compared to only 4% achieved by a relationship-oblivious approach. Zerui Wang, Qianxiang Wang, Shoumeng Yan, Tao Xie 0001, Hong Mei 0001 |
SIGSOFT FSE | 6 |
| 2016 | Isomorphic regression testing: executing uncovered branches without test augmentationabstractIn software testing, it is very hard to achieve high coverage with the program under test, leaving many behaviors unexplored. To alleviate this problem, various automated test generation and augmentation approaches have been proposed, among which symbolic execution and search-based techniques are the most competitive, while each has key challenges to be solved. Different from prior work, we present a new methodology for regression testing --Isomorphic Regression Testing,which explores the behaviors of the program under test by creating its variants (i.e., modified programs) instead of generating tests. In this paper, we make the first implementation of isomorphic regression testing through an approach named ISON, which creates program variants by negating branch conditions. The results show that ISON is able to additionally execute 5.3% to 80.0% branches that are originally uncovered. Furthermore, ISON also detects a number of faults not detected by a popular automated test generation tool (i.e., EvoSuite) under the scenario of regression testing. Jie Zhang 0050, Yiling Lou, Lingming Zhang 0001, Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
SIGSOFT FSE | 6 |
| 2016 | Test-case prioritization: achievements and challenges
Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
Frontiers Comput. Sci. | 3 |
| 2016 | Towards a multi-QoS human-centric cloud computing load balance resource allocation method
Hong Mei 0001 |
J. Supercomput. | 2 |
| 2016 | Inflow and Retention in OSS Communities with Commercial Involvement: A Case Study of Three Hybrid ProjectsabstractMotivation:Open-source projects are often supported by companies, but such involvement often affects the robust contributor inflow needed to sustain the project and sometimes prompts key contributors to leave. To capture user innovation and to maintain quality of software and productivity of teams, these projects need to attract and retain contributors.Aim:We want to understand and quantify how inflow and retention are shaped by policies and actions of companies in three application server projects.Method:We identified three hybrid projects implementing the same JavaEE specification and used published literature, online materials, and interviews to quantify actions and policies companies used to get involved. We collected project repository data, analyzed affiliation history of project participants, and used generalized linear models and survival analysis to measure contributor inflow and retention.Results:We identified coherent groups of policies and actions undertaken by sponsoring companies as three models of community involvement and quantified tradeoffs between the inflow and retention each model provides. We found that full control mechanisms and high intensity of commercial involvement were associated with a decrease of external inflow and with improved retention. However, a shared control mechanism was associated with increased external inflow contemporaneously with the increase of commercial involvement.Implications:Inspired by a natural experiment, our methods enabled us to quantify aspects of the balance between community and private interests in open- source software projects and provide clear implications for the structure of future open-source communities. Minghui Zhou 0001, Audris Mockus, Lu Zhang 0023, Hong Mei 0001 |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2015 | Carpet: Automating Collaborative Web-Based Process across Multiple Devices by Capture-and-ReplayabstractModern mobile devices like smartphones and tablet computers are equipped with browsers like Apple Safari, Mozilla Fire Fox and Google Chrome. People begin to pay more time on mobile devices than on desktop PCs. Though most popular websites have been optimized for mobile browsing, some web applications, particularly those legacy web-based processes, e.g., Office Automation applications, still keep the same PC-version. Users are possibly influenced by poor browsing experiences and low work efficiency due to limited screen estate and touch-centric interaction pattern. To enable collaborative process on multiple devices, a browser-level and process-oriented capture-and-replay might be an option. However, the changes of web contents and structures, diverse user interaction patterns and performance make cross-device capture-and-replay challenging. This paper presents Carpet, a non-intrusive, low-overhead and intuitive cross-device capture-and-replay system. Unlike previous capture-and-replay efforts that mainly focus on reporting bugs, Carpet is designed for automating web-based processes across multiple devices. Carpet is built atop standard browser kernels without modifying original browsers. Carpet can capture all user interactions and data on a web application, and replay consistently on various devices. We demonstrate Carpet on some typical web applications, including web game, online office, e-commerce, etc. Our initial experiences suggest that Carpet is surprisingly effective in automating the web-based process. Yun Ma 0002, Xuanzhe Liu, Hong Mei 0001 |
COMPSAC | 4 |
| 2015 | Safe Memory-Leak Fixing for C ProgramsabstractAutomatic bug fixing has become a promising direction for reducing manual effort in debugging. However, general approaches to automatic bug fixing may face some fundamental difficulties. In this paper, we argue that automatic fixing of specific types of bugs can be a useful complement. This paper reports our first attempt towards automatically fixing memory leaks in C programs. Our approach generates only safe fixes, which are guaranteed not to interrupt normal execution of the program. To design such an approach, we have to deal with several challenging problems such as inter-procedural leaks, global variables, loops, and leaks from multiple allocations. We propose solutions to all the problems and integrate the solutions into a coherent approach. We implemented our inter-procedural memory leak fixing into a tool named Leak Fix and evaluated Leak Fix on 15 programs with 522k lines of code. Our evaluation shows that Leak Fix is able to successfully fix a substantial number of memory leaks, and Leak Fix is scalable for large applications. Yingfei Xiong 0001, Yaqing Mi, Lu Zhang 0023, Weikun Yang, Zhaoping Zhou, Hong Mei 0001 |
ICSE (1) | 8 |
| 2015 | A Genetic Algorithm for Detecting Significant Floating-Point InaccuraciesabstractIt is well-known that using floating-point numbers may inevitably result in inaccurate results and sometimes even cause serious software failures. Safety-critical software often has strict requirements on the upper bound of inaccuracy, and a crucial task in testing is to check whether significant inaccuracies may be produced. The main existing approach to the floating-point inaccuracy problem is error analysis, which produces an upper bound of inaccuracies that may occur. However, a high upper bound does not guarantee the existence of inaccuracy defects, nor does it give developers any concrete test inputs for debugging. In this paper, we propose the first metaheuristic search-based approach to automatically generating test inputs that aim to trigger significant inaccuracies in floating-point programs. Our approach is based on the following two insights: (1) with FPDebug, a recently proposed dynamic analysis approach, we can build a reliable fitness function to guide the search; (2) two main factors -- the scales of exponents and the bit formations of significands -- may have significant impact on the accuracy of the output, but in largely different ways. We have implemented and evaluated our approach over 154 real-world floating-point functions. The results show that our approach can detect significant inaccuracies in the subjects. Daming Zou, Yingfei Xiong 0001, Lu Zhang 0023, Zhendong Su 0001, Hong Mei 0001 |
ICSE (1) | 6 |
| 2015 | A Study on Power Side Channels on Mobile DevicesabstractPower side channel is a very important category of side channels, which can be exploited to steal confidential information from a computing system by analyzing its power consumption. In this paper, we demonstrate the existence of various power side channels on popular mobile devices such as smartphones. Based on unprivileged power consumption traces, we present a list of real-world attacks that can be initiated to identify running apps, infer sensitive UIs, guess password lengths, and estimate geo-locations. These attack examples demonstrate that power consumption traces can be used as a practical side channel to gain various confidential information of mobile apps running on smartphones. Based on these power side channels, we discuss possible exploitations and present a general approach to exploit a power side channel on an Android smartphone, which demonstrates that power side channels pose imminent threats to the security and privacy of mobile users. We also discuss possible countermeasures to mitigate the threats of power side channels. Yao Guo 0001, Xiangqun Chen, Hong Mei 0001 |
Internetware | 4 |
| 2015 | Fixing Recurring Crash Bugs via Analyzing Q&A Sites (T)abstractRecurring bugs are common in software systems, especially in client programs that depend on the same framework. Existing research uses human-written templates, and is limited to certain types of bugs. In this paper, we propose a fully automatic approach to fixing recurring crash bugs via analyzing Q&A sites. By extracting queries from crash traces and retrieving a list of Q&A pages, we analyze the pages and generate edit scripts. Then we apply these scripts to target source code and filter out the incorrect patches. The empirical results show that our approach is accurate in fixing real-world crash bugs, and can complement existing bug-fixing approaches. Hansheng Zhang, Jie Wang 0033, Yingfei Xiong 0001, Lu Zhang 0023, Hong Mei 0001 |
ASE | 6 |
| 2015 | Summary-Based Context-Sensitive Data-Dependence Analysis in Presence of CallbacksabstractBuilding a summary for library code is a common approach to speeding up the analysis of client code. In presence of callbacks, some reachability relationships between library nodes cannot be obtained during library-code summarization. Thus, the library code may have to be analyzed again during the analysis of the client code with the library summary. In this paper, we propose to summarize library code with tree-adjoining-language (TAL) reachability. Compared with the summary built with context-free-language (CFL) reachability, the summary built with TAL reachability further contains conditional reachability relationships. The conditional reachability relationships can lead to much lighter analysis of the library code during the client code analysis with the TAL-reachability-based library summary. We also performed an experimental comparison of context-sensitive data-dependence analysis with the TAL-reachability-based library summary and context-sensitive data-dependence analysis with the CFL-reachability-based library summary using 15 benchmark subjects. Our experimental results demonstrate that the former has an 8X speed-up over the latter on average. Xiaoyin Wang, Lingming Zhang 0001, Lu Zhang 0023, Hong Mei 0001 |
POPL | 6 |
| 2015 | Tiles: a new language mechanism for heterogeneous parallelismabstractThis paper studies the essence of heterogeneity from the perspective of language mechanism design. The proposed mechanism, called tiles, is a program construct that bridges two relative levels of computation: an outer level of source data in larger, slower or more distributed memory and an inner level of data blocks in smaller, faster or more localized memory. Xiang Cui, Hong Mei 0001 |
PPoPP | 3 |
| 2015 | A survey on bug-report analysis
Jie Zhang 0050, Xiaoyin Wang, Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
Sci. China Inf. Sci. | 6 |
| 2015 | Data-Driven Composition for Service-Oriented Situational Web ApplicationsabstractThe convergence of Services Computing and Web 2.0 gains a large space of opportunities to compose “situational” web applications from web-delivered services. However, the large number of services and the complexity of composition constraints make manual composition difficult to application developers, who might be non-professional programmers or even end-users. This paper presents a systematic data-driven approach to assisting situational application development. We first propose a technique to extract useful information from multiple sources to abstract service capabilities with a set tags. This supports intuitive expression of user's desired composition goals by simple queries, without having to know underlying technical details. A planning technique then exploits composition solutions which can constitute the desired goals, even with some potential new interesting composition opportunities. A browser-based tool facilitates visual and iterative refinement of composition solutions, to finally come up with the satisfying outputs. A series of experiments demonstrate the efficiency and effectiveness of our approach. Xuanzhe Liu, Yun Ma 0002, Gang Huang 0001, Junfeng Zhao 0001, Hong Mei 0001, Yunxin Liu 0001 |
IEEE Trans. Serv. Comput. | 5 |
| 2015 | Privacy preserving graph publication in a distributed environment
Mingxuan Yuan, Lei Chen 0002, Philip S. Yu, Hong Mei 0001 |
World Wide Web | 4 |
| 2014 | Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace AnalysisabstractTo deal with post-release bugs, many software projects set up public bug repositories for users all over the world to report bugs that they have encountered. Recently, researchers have proposed various information retrieval based approaches to localizing faults based on bug reports. In these approaches, source files are processed as single units, where noise in large files may affect the accuracy of fault localization. Furthermore, bug reports often contain stack-trace information, but existing approaches often treat this information as plain text. In this paper, we propose to use segmentation and stack-trace analysis to improve the performance of bug localization. Specifically, given a bug report, we divide each source code file into a series of segments and use the segment most similar to the bug report to represent the file. We also analyze the bug report to identify possible faulty files in a stack trace and favor these files in our retrieval. According to our empirical results, our approach is able to significantly improve Bug Locator, a representative fault localization approach, on all the three software projects (i.e., Eclipse, AspectJ, and SWT) used in our empirical evaluation. Furthermore, segmentation and stack-trace analysis are complementary to each other for boosting the performance of bug-report-oriented fault localization. Chu-Pan Wong, Yingfei Xiong 0001, Hongyu Zhang 0002, Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
ICSME | 6 |
| 2014 | Search-based inference of polynomial metamorphic relationsabstractMetamorphic testing (MT) is an effective methodology for testing those so-called ``non-testable'' programs (e.g., scientific programs), where it is sometimes very difficult for testers to know whether the outputs are correct. In metamorphic testing, metamorphic relations (MRs) (which specify how particular changes to the input of the program under test would change the output) play an essential role. However, testers may typically have to obtain MRs manually. Jie Zhang 0050, Junjie Chen 0003, Dan Hao 0001, Yingfei Xiong 0001, Lu Zhang 0023, Hong Mei 0001 |
ASE | 7 |
| 2014 | iMashup: a mashup-based framework for service composition
Xuanzhe Liu, Gang Huang 0001, Qi Zhao 0005, Hong Mei 0001, M. Brian Blake |
Sci. China Inf. Sci. | 4 |
| 2014 | Interactive Inconsistency Fixing in Feature Modeling
Bo Wang 0170, Yingfei Xiong 0001, Zhenjiang Hu 0002, Haiyan Zhao 0001, Wei Zhang 0004, Hong Mei 0001 |
J. Comput. Sci. Technol. | 6 |
| 2014 | Protect You More Than Blank: Anti-Learning Sensitive User Information in the Social Networks
Mingxuan Yuan, Lei Chen 0002, Philip S. Yu, Hong Mei 0001 |
J. Comput. Sci. Technol. | 4 |
| 2014 | A Unified Test Case Prioritization ApproachabstractTest case prioritization techniques attempt to reorder test cases in a manner that increases the rate at which faults are detected during regression testing. Coverage-based test case prioritization techniques typically use one of two overall strategies: a total strategy or an additional strategy . These strategies prioritize test cases based on the total number of code (or code-related) elements covered per test case and the number of additional (not yet covered) code (or code-related) elements covered per test case, respectively. In this article, we present a unified test case prioritization approach that encompasses both the total and additional strategies. Our unified test case prioritization approach includes two models ( basic and extended ) by which a spectrum of test case prioritization techniques ranging from a purely total to a purely additional technique can be defined by specifying the value of a parameter referred to as the f p value. To evaluate our approach, we performed an empirical study on 28 Java objects and 40 C objects, considering the impact of three internal factors (model type, choice of f p value, and coverage type) and three external factors (coverage granularity, test case granularity, and programming/testing paradigm), all of which can be manipulated by our approach. Our results demonstrate that a wide range of techniques derived from our basic and extended models with uniform f p values can outperform purely total techniques and are competitive with purely additional techniques. Considering the influence of each internal and external factor studied, the results demonstrate that various values of each factor have nontrivial influence on test case prioritization techniques. Dan Hao 0001, Lingming Zhang 0001, Lu Zhang 0023, Gregg Rothermel, Hong Mei 0001 |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2014 | Predicting Consistency-Maintenance Requirement of Code Clonesat Copy-and-Paste TimeabstractCode clones have always been a double edged sword in software development. On one hand, it is a very convenient way to reuse existing code, and to save coding effort. On the other hand, since developers may need to ensure consistency among cloned code segments, code clones can lead to extra maintenance effort and even bugs. Recently studies on the evolution of code clones show that only some of the code clones experience consistent changes during their evolution history. Therefore, if we can accurately predict whether a code clone will experience consistent changes, we will be able to provide useful recommendations to developers onleveraging the convenience of some code cloning operations, while avoiding other code cloning operations to reduce future consistency maintenance effort. In this paper, we define a code cloning operation as consistency-maintenance-required if its generated code clones experience consistent changes in the software evolution history, and we propose a novel approach that automatically predicts whether a code cloning operation requires consistency maintenance at the time point of performing copy-and-paste operations. Our insight is that whether a code cloning operation requires consistency maintenance may relate to the characteristics of the code to be cloned and the characteristics of its context. Based on a number of attributes extracted from the cloned code and the context of the code cloning operation, we use Bayesian Networks, a machine-learning technique, to predict whether an intended code cloning operation requires consistency maintenance. We evaluated our approach on four subjects-two large-scale Microsoft software projects, and two popular open-source software projects-under two usage scenarios: 1) recommend developers to perform only the cloning operations predicted to be very likely to be consistency-maintenance-free, and 2) recommend developers to perform all cloning operations unless they are predicted very likely to be consistency-maintenance-required. In the first scenario, our approach is able to recommend developers to perform more than 50 percent cloning operations with a precision of at least 94 percent in the four subjects. In the second scenario, our approach is able to avoid 37 to 72 percent consistency-maintenance-required code clones by warning developers on only 13 to 40 percent code clones, in the four subjects. Xiaoyin Wang, Yingnong Dang, Lu Zhang 0023, Dongmei Zhang 0001, Erica Lan, Hong Mei 0001 |
IEEE Trans. Software Eng. | 6 |
| 2013 | Privacy Preserving Graph Publication in a Distributed Environment
Mingxuan Yuan, Lei Chen 0002, Philip S. Yu, Hong Mei 0001 |
APWeb | 4 |
| 2013 | Subscription Privacy Protection in Topic-Based Pub/Sub
Weixiong Rao, Lei Chen 0002, Mingxuan Yuan, Sasu Tarkoma, Hong Mei 0001 |
DASFAA (1) | 5 |
| 2013 | Bridging the gap between the total and additional test-case prioritization strategiesabstractIn recent years, researchers have intensively investigated various topics in test-case prioritization, which aims to re-order test cases to increase the rate of fault detection during regression testing. The total and additional prioritization strategies, which prioritize based on total numbers of elements covered per test, and numbers of additional (not-yet-covered) elements covered per test, are two widely-adopted generic strategies used for such prioritization. This paper proposes a basic model and an extended model that unify the total strategy and the additional strategy. Our models yield a spectrum of generic strategies ranging between the total and additional strategies, depending on a parameter referred to as the p value. We also propose four heuristics to obtain differentiated p values for different methods under test. We performed an empirical study on 19 versions of four Java programs to explore our results. Our results demonstrate that wide ranges of strategies in our basic and extended models with uniform p values can significantly outperform both the total and additional strategies. In addition, our results also demonstrate that using differentiated p values for both the basic and extended models with method coverage can even outperform the additional strategy using statement coverage. Lingming Zhang 0001, Dan Hao 0001, Lu Zhang 0023, Gregg Rothermel, Hong Mei 0001 |
ICSE | 5 |
| 2013 | Towards runtime model based integrated management of cloud resourcesabstractAlthough there are many management systems, Cloud management still faces with great challenges, due to the diversity of Cloud resources and ever-changing management requirements. Integration and adaptation become important for constructing a cloud management system, because a redevelopment solution based on existing systems is usually more practicable than developing the management system from scratch. However, the workload of redevelopment is also very high. As the runtime model is causally connected with the corresponding running system automatically, constructing an integrated Cloud management system based on runtime models can benefit from the model-specific natures to reduce the development workload. Therefore, in this paper, we present a runtime model based approach to constructing cloud management system. First, we construct the runtime model of each Cloud resource based on its own management interfaces. Second, we construct a composite model reflecting integration management requirements through merging the distributed runtime models. Third, we make Cloud management meet the adaptation requirements through model transformation from the composite model to the customized models specific to different administrators. Such architecture-level integrated management brings many advantages related to the interoperability, reusability and simplicity. The experiment on a real-world cloud demonstrates the feasibility, effectiveness and benefits of the new approach to integrated management of Cloud resources. Xing Chen 0002, Ying Zhang 0012, Xiaodong Zhang 0025, Yihan Wu 0009, Gang Huang 0001, Hong Mei 0001 |
Internetware | 6 |
| 2013 | Inferring project-specific bug patterns for detecting sibling bugsabstractLightweight static bug-detection tools such as FindBugs, PMD, Jlint, and Lint4j detect bugs with the knowledge of generic bug patterns (e.g., objects of java.io.InputStream are not closed in time after used). Besides generic bug patterns, different projects under analysis may have some project-specific bug patterns. For example, in a revision of the Xerces project, the class field "fDTDHandler" is dereferenced without proper null-checks, while it could actually be null at runtime. We name such bug patterns directly related to objects instantiated in specific projects as Project-Specific Bug Patterns (PSBPs). Due to lack of such PSBP knowledge, existing tools usually fail in effectively detecting most of this kind of bugs. We name bugs belonging to the same project and sharing the same PSBP as sibling bugs. If some sibling bugs are fixed in a fix revision but some others remain, we treat such fix as an incomplete fix. To address such incomplete fixes, we propose a PSBP-based approach for detecting sibling bugs and implement a tool called Sibling-Bug Detector (SBD). Given a fix revision, SBD first infers the PSBPs implied by the fix revision. Then, based on the inferred PSBPs, SBD detects their related sibling bugs in the same project. To evaluate SBD, we apply it to seven popular open-source projects. Among the 108 warnings reported by SBD, 63 of them have been confirmed as real bugs by the project developers, while two existing popular static detectors (FindBugs and PMD) cannot report most of them. Guangtai Liang, Qianxiang Wang, Tao Xie 0001, Hong Mei 0001 |
ESEC/SIGSOFT FSE | 4 |
| 2013 | Inferring dependency constraints on parameters for web servicesabstractRecently many popular websites such as Twitter and Flickr expose their data through web service APIs, enabling third-party organizations to develop client applications that provide function-alities beyond what the original websites offer. These client appli-cations should follow certain constraints in order to correctly in-teract with the web services. One common type of such constraints is Dependency Constraints on Parameters. Given a web service operation O and its parameters Pi, Pj, these constraints describe the requirement on one parameter Pi that is dependent on the conditions of some other parameter(s) Pj. For example, when requesting the Twitter operation "GET statuses/user_timeline", a user_id parameter must be provided if a screen_name parameter is not provided. Violations of such constraints can cause fatal errors or incorrect results in the client applications. However, these con-straints are often not formally specified and thus not available for automatic verification of client applications. To address this issue, we propose a novel approach, called INDICATOR, to automatically infer dependency constraints on parameters for web services, via a hybrid analysis of heterogeneous web service artifacts, including the service documentation, the service SDKs, and the web services themselves. To evaluate our approach, we applied INDICATOR to infer dependency constraints for four popular web services. The results showed that INDICATOR effectively infers constraints with an average precision of 94.4% and recall of 95.5%. Guangtai Liang, Qianxiang Wang, Tao Xie 0001, Hong Mei 0001 |
WWW | 6 |
| 2013 | Graph publication when the protection algorithm is available
Mingxuan Yuan, Lei Chen 0002, Hong Mei 0001 |
Data Knowl. Eng. | 3 |
| 2013 | Supporting feature model refinement with updatable view
Bo Wang 0170, Zhenjiang Hu 0002, Haiyan Zhao 0001, Yingfei Xiong 0001, Wei Zhang 0004, Hong Mei 0001 |
Frontiers Comput. Sci. | 7 |
| 2013 | QoS-Driven Service Composition with Reconfigurable ServicesabstractService-oriented architecture provides a framework for achieving rapid system composition and deployment. To satisfy different system QoS requirements, it is possible to select an appropriate set of concrete services and compose them to achieve the QoS goals. In addition, some of the services may be reconfigurable and provide various QoS tradeoffs. To make use of these reconfigurable services, the composition process should consider not only service selection, but also configuration parameter settings. However, existing QoS-driven service composition research does not consider reconfigurable services. Moreover, the decision space may be enormous when reconfigurable services are considered. In this paper, we deal with the issues of reconfigurable service modeling and efficient service composition decision making. We introduce a novel compositional decision making process, CDP, which explores optimal solutions of individual component services and uses the knowledge to derive optimal QoS-driven composition solutions. Experimental studies show that the CDP approach can significantly reduce the search space and achieve great performance gains. We also develop a case study system to validate the proposed approach and the results confirm the feasibility and effectiveness of reconfigurable services. Hui Ma 0006, Favyen Bastani, I-Ling Yen, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 4 |
| 2013 | Effective Message-Sequence Generation for Testing BPEL ProgramsabstractWith the popularity of Web Services and Service-Oriented Architecture (SOA), quality assurance of SOA applications, such as testing, has become a research focus. Programs implemented by the Business Process Execution Language for Web Services (WS-BPEL), which can be used to compose partner Web Services into composite Web Services, are one popular kind of SOA applications. The unique features of WS-BPEL programs bring new challenges into testing. A test case for testing a WS-BPEL program is a sequence of messages that can be received by the WS-BPEL program under test. Previous research has not studied the challenges of message-sequence generation induced by unique features of WS-BPEL as a new language. In this paper, we present a novel methodology to generate effective message sequences for testing WS-BPEL programs. To capture the order relationship in a message sequence and the constraints on correlated messages imposed by WS-BPEL's routing mechanism, we model the WS-BPEL program under test as a message-sequence graph (MSG), and generate message sequences based on MSG. We performed experiments for our method and two other techniques with six WS-BPEL programs. The results show that the message sequences generated by using our method can effectively expose faults in the WS-BPEL programs. Yitao Ni, Shan-Shan Hou, Lu Zhang 0023, Zhong Jie Li, Qian Lan, Hong Mei 0001, Jiasu Sun |
IEEE Trans. Serv. Comput. | 7 |
| 2013 | Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint AnalysisabstractNowadays, a software product usually faces a global market. To meet the requirements of different local users, the software product must be internationalized. In an internationalized software product, user-visible hard-coded constant strings are externalized to resource files so that local versions can be generated by translating the resource files. In many cases, a software product is not internationalized at the beginning of the software development process. To internationalize an existing product, the developers must locate the user-visible constant strings that should be externalized. This locating process is tedious and error-prone due to 1) the large number of both user-visible and non-user-visible constant strings and 2) the complex data flows from constant strings to the Graphical User Interface (GUI). In this paper, we propose an automatic approach to locating need-to-externalize constant strings in the source code of a software product. Given a list of precollected API methods that output values of their string argument variables to the GUI and the source code of the software product under analysis, our approach traces from the invocation sites (within the source code) of these methods back to the need-to-externalize constant strings using generalized string-taint analysis. In our empirical evaluation, we used our approach to locate need-to-externalize constant strings in the uninternationalized versions of seven real-world open source software products. The results of our evaluation demonstrate that our approach is able to effectively locate need-to-externalize constant strings in uninternationalized software products. Furthermore, to help developers understand why a constant string requires translation and properly translate the need-to-externalize strings, we provide visual representation of the string dependencies related to the need-to-externalize strings. Xiaoyin Wang, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
IEEE Trans. Software Eng. | 4 |
| 2012 | Towards an Adaptive Service Degradation Approach for Handling Server OverloadabstractWhile people get used to surfing web, managing the overload of web applications has become a critical problem for application providers. Targeting overload issue of complex, dynamic web applications, this paper presents an adaptive service degradation approach. Our approach attempts to automatically locate the bottleneck inside the applications and generate proper degradation plans in real time. This is accomplished through internally monitoring the performance and resource utilization state of the application, which is decomposed into a set of services. By dynamic controlling the bottleneck of resource utilization, the application can keep providing key services even when overload occurs, for example, by degrading only the service which consumes critical resources and has a low priority from the perspective of business logic. We implement a prototype and conduct a case study with a business application. The case study demonstrates the approach is effective when overload occurs. Ziyou Wang, Minghui Zhou 0001, Hong Mei 0001 |
APSEC | 3 |
| 2012 | An Effective Defect Detection and Warning Prioritization Approach for Resource LeaksabstractFailing to release unneeded system resources such as I/O streams can result in resource leaks, which can lead to performance degradation and system crashes. Existing resource-leak detectors are usually based on predefined defect patterns to detect resource leaks in software. However, they typically report too many false positives and negatives, and also lack effective warning prioritization. Our empirical investigation shows that, their predefined defect patterns are not precise enough, and moreover, their used defect detection processes are not suitable enough for the defect patterns. In our approach, we introduce a novel Expressive Defect Pattern Specification Notation (EDPSN). With EDPSN, a resource-leak defect pattern can be defined more precisely by specifying conditional method calls and more expressively by including guiding information for the defect detection and warning prioritization process, such as the characteristics of its preferred defect detection process and the effective prioritization impact factors for its related warnings. Based on the EDPSN-based defect pattern, our approach tries to flexibly tune out a suitable defect detection and warning prioritization process. Through evaluations on three real-world projects (Eclipse-3.0.1, JBoss-3.0.6, and Weka-3.6.4), we show that our approach achieves high average precision (96%) and recall (74%), 26% and 49% higher than existing approaches, respectively. Guangtai Liang, Qianxiang Wang, Hong Mei 0001 |
COMPSAC | 4 |
| 2012 | Towards Online Localization and Recovery for Faulty Components in Component-Based ApplicationsabstractOff-The-Shelf (COTS) software components have been extensively used by applications over the world. However, COTS components always carry issues that might and sometimes only take place at runtime, in particular, when combined with other components. This might bring serious trouble for the application's dependability. Based on the industry experiences that lots of faulty components usually occupy excessive resources, this paper proposes an approach to localize the faulty components in an application automatically through analyzing the resource usage of components. Once a faulty component interferes with the application's performance, our approach generates an anomaly report, localizes the faulty component, and enables component level recovery to remove the negative impact. We have implemented a prototype and demonstrated its effectiveness on the well-known JPetStore benchmark with performance overhead of less than 3%. Chao You, Minghui Zhou 0001, Hongwu Lin, Zan Xiao, Hong Mei 0001 |
COMPSAC | 5 |
| 2012 | A General Framework for Publishing Privacy Protected and Utility Preserved GraphabstractThe privacy protection of graph data has become more and more important in recent years. Many works have been proposed to publish a privacy preserving graph. All these works prefer publishing a graph, which guarantees the protection of certain privacy with the smallest change to the original graph. However, there is no guarantee on how the utilities are preserved in the published graph. In this paper, we propose a general fine-grained adjusting framework to publish a privacy protected and utility preserved graph. With this framework, the data publisher can get a trade-off between the privacy and utility according to his customized preferences. We used the protection of a weighted graph as an example to demonstrate the implementation of this framework. Mingxuan Yuan, Lei Chen 0002, Weixiong Rao, Hong Mei 0001 |
ICDM | 4 |
| 2012 | On-demand test suite reductionabstractMost test suite reduction techniques aim to select, from a given test suite, a minimal representative subset of test cases that retains the same code coverage as the suite. Empirical studies have shown, however, that test suites reduced in this manner may lose fault detection capability. Techniques have been proposed to retain certain redundant test cases in the reduced test suite so as to reduce the loss in fault-detection capability, but these still do concede some degree of loss. Thus, these techniques may be applicable only in cases where loose demands are placed on the upper limit of loss in fault-detection capability. In this work we present an on-demand test suite reduction approach, which attempts to select a representative subset satisfying the same test requirements as an initial test suite conceding at most l% loss in fault-detection capability for at least c% of the instances in which it is applied. Our technique collects statistics about loss in fault-detection capability at the level of individual statements and models the problem of test suite reduction as an integer linear programming problem. We have evaluated our approach in the contexts of three scenarios in which it might be used. Our results show that most test suites reduced by our approach satisfy given fault detection capability demands, and that the approach compares favorably with an existing test suite reduction approach. Dan Hao 0001, Lu Zhang 0023, Xingxia Wu, Hong Mei 0001, Gregg Rothermel |
ICSE | 4 |
| 2012 | A history-based matching approach to identification of framework evolutionabstractIn practice, it is common that a framework and its client programs evolve simultaneously. Thus, developers of client programs may need to migrate their programs to the new release of the framework when the framework evolves. As framework developers can hardly always guarantee backward compatibility during the evolution of a framework, migration of its client program is often time-consuming and error-prone. To facilitate this migration, researchers have proposed two categories of approaches to identification of framework evolution: operation-based approaches and matching-based approaches. To overcome the main limitations of the two categories of approaches, we propose a novel approach named HiMa, which is based on matching each pair of consecutive revisions recorded in the evolution history of the framework and aggregating revision-level rules to obtain framework-evolution rules. We implemented our HiMa approach as an Eclipse plug-in targeting at frameworks written in Java using SVN as the version-control system. We further performed an experimental study on HiMa together with a state-of-art approach named AURA using six tasks based on three subject Java frameworks. Our experimental results demonstrate that HiMa achieves higher precision and higher recall than AURA in most circumstances and is never inferior to AURA in terms of precision and recall in any circumstances, although HiMa is computationally more costly than AURA. Sichen Meng, Xiaoyin Wang, Lu Zhang 0023, Hong Mei 0001 |
ICSE | 4 |
| 2012 | Review code evolution history in OSS universeabstractSoftware evolves all the time because of the changing requirements, in particular, in the diverse Internet environment. Evolution history recorded in software repositories, e.g., Version Control Systems, reflects people's software development practice. Exploring this history could help practitioners to reuse the best practices therefore improve productivity and software quality. Because of the difficulty of collecting and standardizing data, most existing work could only utilize small project set. In this study, we target the open source software universe to build a universal code evolution model for large-scale data. We consider code evolution from two aspects: code version changing history in a single project and code reuse history in the whole universe. In the model, files/modules are built as nodes, and relations (version change or reuse) between files/modules are built as connections. Based on the model, we design and implement a code evolution review framework, i.e., Code Evolution Reviewer (CER), which provides a series of data interfaces to review code evolution history, in particular, code version changing in single project and code reuse among projects. Further, CER could be utilized to explore best practices across large-scale project set. Hongwu Lin, Minghui Zhou 0001, Hong Mei 0001 |
Internetware | 4 |
| 2012 | Can I clone this piece of code here?abstractWhile code cloning is a convenient way for developers to reuse existing code, it may potentially lead to negative impacts, such as degrading code quality or increasing maintenance costs. Actually, some cloned code pieces are viewed as harmless since they evolve independently, while some other cloned code pieces are viewed as harmful since they need to be changed consistently, thus incurring extra maintenance costs. Recent studies demonstrate that neither the percentage of harmful code clones nor that of harmless code clones is negligible. To assist developers in leveraging the benefits of harmless code cloning and/or in avoiding the negative impacts of harmful code cloning, we propose a novel approach that automatically predicts the harmfulness of a code cloning operation at the point of performing copy-and-paste. Our insight is that the potential harmfulness of a code cloning operation may relate to some characteristics of the code to be cloned and the characteristics of its context. Based on a number of features extracted from the cloned code and the context of the code cloning operation, we use Bayesian Networks, a machine-learning technique, to predict the harmfulness of an intended code cloning operation. We evaluated our approach on two large-scale industrial software projects under two usage scenarios: 1) approving only cloning operations predicted to be very likely of no harm, and 2) blocking only cloning operations predicted to be very likely of harm. In the first scenario, our approach is able to approve more than 50% cloning operations with a precision higher than 94.9% in both subjects. In the second scenario, our approach is able to avoid more than 48% of the harmful cloning operations by blocking only 15% of the cloning operations for the first subject, and avoid more than 67% of the cloning operations by blocking only 34% of the cloning operations for the second subject. Xiaoyin Wang, Yingnong Dang, Lu Zhang 0023, Dongmei Zhang 0001, Erica Lan, Hong Mei 0001 |
ASE | 6 |
| 2012 | Refactoring android Java code for on-demand computation offloadingabstractComputation offloading is a promising way to improve the performance as well as reducing the battery power consumption of a smartphone application by executing some parts of the application on a remote server. Supporting such capability is not easy for smartphone application developers due to (1) correctness: some code, e.g., that for GPS, gravity, and other sensors, can run only on the smartphone so that developers have to identify which parts of the application cannot be offloaded; (2) effectiveness: the reduced execution time must be greater than the network delay caused by computation offloading so that developers need to calculate which parts are worth offloading; (3) adaptability: smartphone applications often face changes of user requirements and runtime environments so that developers need to implement the adaptation on offloading. More importantly, considering the large number of today's smartphone applications, solutions applicable for legacy applications will be much more valuable. In this paper, we present a tool, named DPartner, that automatically refactors Android applications to be the ones with computation offloading capability. For a given Android application, DPartner first analyzes its bytecode for discovering the parts worth offloading, then rewrites the bytecode to implement a special program structure supporting on-demand offloading, and finally generates two artifacts to be deployed onto an Android phone and the server, respectively. We evaluated DPartner on three real-world Android applications, demonstrating the reduction of execution time by 46%-97% and battery power consumption by 27%-83%. Ying Zhang 0012, Gang Huang 0001, Xuanzhe Liu, Wei Zhang 0004, Hong Mei 0001, Shunxiang Yang |
OOPSLA | 5 |
| 2012 | PARRAY: a unifying array representation for heterogeneous parallelismabstractThis paper introduces a programming interface called PARRAY (or Parallelizing ARRAYs) that supports system-level succinct programming for heterogeneous parallel systems like GPU clusters. The current practice of software development requires combining several low-level libraries like Pthread, OpenMP, CUDA and MPI. Achieving productivity and portability is hard with different numbers and models of GPUs. PARRAY extends mainstream C programming with novel array types of distinct features: 1) the dimensions of an array type are nested in a tree, conceptually reflecting the memory hierarchy; 2) the definition of an array type may contain references to other array types, allowing sophisticated array types to be created for parallelization; 3) threads also form arrays that allow programming in a Single-Program-Multiple-Codeblock (SPMC) style to unify various sophisticated communication patterns. This leads to shorter, more portable and maintainable parallel codes, while the programmer still has control over performance-related features necessary for deep manual optimization. Although the source-to-source code generator only faithfully generates low-level library calls according to the type information, higher-level programming and automatic performance optimization are still possible through building libraries of sub-programs on top of PARRAY. The case study on cluster FFT illustrates a simple 30-line code that 2x outperforms Intel Cluster MKL on the Tianhe-1A system with 7168 Fermi GPUs and 14336 CPUs. Xiang Cui, Hong Mei 0001 |
PPoPP | 3 |
| 2012 | Mining binary constraints in the construction of feature modelsabstractFeature models provide an effective way to organize and reuse requirements in a specific domain. A feature model consists of a feature tree and cross-tree constraints. Identifying features and then building a feature tree takes a lot of effort, and many semi-automated approaches have been proposed to help the situation. However, finding cross-tree constraints is often more challenging which still lacks the help of automation. In this paper, we propose an approach to mining cross-tree binary constraints in the construction of feature models. Binary constraints are the most basic kind of cross-tree constraints that involve exactly two features and can be further classified into two sub-types, i.e. requires and excludes. Given these two sub-types, a pair of any two features in a feature model falls into one of the following classes: no constraints between them, a requires between them, or an excludes between them. Therefore we perform a 3-class classification on feature pairs to mine binary constraints from features. We incorporate a support vector machine as the classifier and utilize a genetic algorithm to optimize it. We conduct a series of experiments on two feature models constructed by third parties, to evaluate the effectiveness of our approach under different conditions that might occur in practical use. Results show that we can mine binary constraints at a high recall (near 100% in most cases), which is important because finding a missing constraint is very costly in real, often large, feature models. Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
RE | 5 |
| 2012 | Automating presentation changes in dynamic web applications via collaborative hybrid analysisabstractWeb applications are becoming increasingly popular nowadays. During the development and evolution of a web application, a typical type of tasks is to change the presentation of the web application, such as correcting display errors, adding user-interface controls, or changing appearance styles. To change the presentation of a static web page, developers are able to modify the HTML text of the web page using a graphical web-page editor. However, to change the presentation of a dynamic web application, instead of using a graphical web-page editor to directly modify generated web pages, developers need to modify the code that generates the web pages. As manually performing presentation changes in dynamic web applications is tedious and error-prone, we propose a novel approach based on collaborative hybrid analysis that combines static analysis and dynamic analysis to facilitate developers to perform presentation changes in dynamic web applications. Our approach includes two parts. The first part takes as input the presentation change to be performed on a generated web page (with proper runtime information), and uses dynamic string-origin analysis to locate the source-code segment that generates the changed part of the web page. The second part checks unexpected impact of directly performing the change on the source-code segment, and asks for human intervention when unexpected impact exists. We implemented our approach for the PHP language and carried out an empirical study on 39 presentation-change tasks identified from 600 bug reports of three real-world dynamic web applications (in total more than 148 KLOC). Among the 39 tasks, our approach is able to correctly locate the place to modify in each presentation-change task and correctly perform the presentation change on the source code in more than half of the tasks. Xiaoyin Wang, Lu Zhang 0023, Tao Xie 0001, Yingfei Xiong 0001, Hong Mei 0001 |
SIGSOFT FSE | 5 |
| 2012 | Towards a degradation-based mechanism for adaptive overload control
Ziyou Wang, Minghui Zhou 0001, Hong Mei 0001 |
Sci. China Inf. Sci. | 3 |
| 2012 | Towards module-based automatic partitioning of Java applications
Ying Zhang 0012, Gang Huang 0001, Wei Zhang 0004, Xuanzhe Liu, Hong Mei 0001 |
Frontiers Comput. Sci. | 5 |
| 2012 | Security model oriented attestation on dynamically reconfigurable component-based systems
Liang Gu, Guangdong Bai, Yao Guo 0001, Xiangqun Chen, Hong Mei 0001 |
J. Netw. Comput. Appl. | 5 |
| 2012 | A data access framework for service-oriented rich clients
Qi Zhao 0005, Xuanzhe Liu, Xingrun Chen, Jiyu Huang, Gang Huang 0001, Hong Mei 0001 |
Serv. Oriented Comput. Appl. | 6 |
| 2012 | A Static Approach to Prioritizing JUnit Test CasesabstractTest case prioritization is used in regression testing to schedule the execution order of test cases so as to expose faults earlier in testing. Over the past few years, many test case prioritization techniques have been proposed in the literature. Most of these techniques require data on dynamic execution in the form of code coverage information for test cases. However, the collection of dynamic code coverage information on test cases has several associated drawbacks including cost increases and reduction in prioritization precision. In this paper, we propose an approach to prioritizing test cases in the absence of coverage information that operates on Java programs tested under the JUnit framework-an increasingly popular class of systems. Our approach, JUnit test case Prioritization Techniques operating in the Absence of coverage information (JUPTA), analyzes the static call graphs of JUnit test cases and the program under test to estimate the ability of each test case to achieve code coverage, and then schedules the order of these test cases based on those estimates. To evaluate the effectiveness of JUPTA, we conducted an empirical study on 19 versions of four Java programs ranging from 2K-80K lines of code, and compared several variants of JUPTA with three control techniques, and several other existing dynamic coverage-based test case prioritization techniques, assessing the abilities of the techniques to increase the rate of fault detection of test suites. Our results show that the test suites constructed by JUPTA are more effective than those in random and untreated test orders in terms of fault-detection effectiveness. Although the test suites constructed by dynamic coverage-based techniques retain fault-detection effectiveness advantages, the fault-detection effectiveness of the test suites constructed by JUPTA is close to that of the test suites constructed by those techniques, and the fault-detection effectiveness of the test suites constructed by some of JUPTA's variants is better than that of the test suites constructed by several of those techniques. Hong Mei 0001, Dan Hao 0001, Lingming Zhang 0001, Lu Zhang 0023, Gregg Rothermel |
IEEE Trans. Software Eng. | 1 |
| 2011 | Tuning Adaptive Computations for Performance Improvement of Autonomic Middleware in PaaS CloudabstractIn a cloud platform belonging to the PaaS (Platform as a Service) category, autonomic middleware have become the fundamental part of a cloud node. An autonomic middleware can perform adaptive computations for self-management of the system. However, these adaptive computations consume resources such as CPU and memory, and can interfere with each other and also with normal business functions of the system due to resource competition, especially when the system is under heavy load. As a result, the adaptive computations should be tuned from the perspective of resource management. In this position paper, we propose an approach to tuning the autonomic levels and thus controlling the resource costs of the adaptive computations in an autonomic middleware of PaaS cloud, so as to guarantee the system's performance when resources are competed. Ying Zhang 0012, Gang Huang 0001, Xuanzhe Liu, Hong Mei 0001 |
IEEE CLOUD | 4 |
| 2011 | Towards a More Fundamental Explanation of Constraints in Feature Models: A Requirement-Oriented Approach
Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
ICSR | 4 |
| 2011 | Binary-Search Based Verification of Feature Models
Wei Zhang 0004, Haiyan Zhao 0001, Hong Mei 0001 |
ICSR | 3 |
| 2011 | Composing Data-Driven Service Mashups with Tag-Based Semantic AnnotationsabstractSpurred by Web 2.0 paradigm, there emerge large numbers of service mashups by composing readily accessible data and services. Mashups usually address solving situational problems and require quick and iterative development lifecyle. In this paper, we propose an approach to composing data driven mashups, based on tag-based semantics. The core principle is deriving semantic annotations from popular tags, and associating them with programmatic inputs and outputs data. Tag-based semantics promise a quick and simple comprehension of data capabilities. Mashup developers including end-users can intuitively search desired services with tags, and combine several services by means of data flows. Our approach takes a planning technique to retrieving the potentially relevant composition opportunities. With our graphical composition user interfaces, developers can iteratively modify, adjust and refine their mashups to be more satisfying. Xuanzhe Liu, Qi Zhao 0005, Gang Huang 0001, Hong Mei 0001 |
ICWS | 4 |
| 2011 | A Policy-Based Framework for Automated Service Level Agreement NegotiationabstractService Level Agreements (SLAs) play an important role in service-based systems. However, traditional approaches to establish SLAs are mostly manual and predefined which is not suitable for the highly dynamic and unpredictable service-oriented environment. In this paper, we propose a policy-based framework for supporting dynamic and automated SLA negotiations for Web services. In our framework, we extend the WS-Policy framework to provide a domain-independent policy language for specifying QoS constraints over the QoS attributes that are to be negotiated. Negotiation agents are dynamically created to perform SLA negotiations on behalf of each negotiating party in a P2P way using standard web services invocations. Decision making models of negotiation agents are also defined in a declarative way and can be reconfigured easily. We have implemented a prototype of our framework and demonstrated our approach through a case study. Zan Xiao, Donggang Cao, Chao You, Hong Mei 0001 |
ICWS | 4 |
| 2011 | Finding the merits and drawbacks of software resources from commentsabstractIn order to reuse software resources efficiently, developers need necessary quality guarantee on software resources. However, our investigation proved that most software resources on the Internet did not provide enough quality descriptions. In this paper, we propose an approach to help developers judge a software resource's quality based on comments. In our approach, the software resources' comments on the Internet are automatically collected, the sentiment polarity (positive or negative) of a comment is identified and the quality aspects which the comment talks about are extracted. As a result, the merits and drawbacks of software resources are drew out which could help developers judge a software resource's quality in the process of software resource selection and reuse. To evaluate our approach, we applied our method to a group of open source software and the results showed that our method achieved satisfying precision in merits and drawbacks finding. Yanzhen Zou, Sibo Cai, Hong Mei 0001 |
ASE | 5 |
| 2011 | Iterative mining of resource-releasing specificationsabstractSoftware systems commonly use resources such as network connections or external file handles. Once finish using the resources, the software systems must release these resources by explicitly calling specific resource-releasing API methods. Failing to release resources properly could result in resource leaks or even outright system failures. Existing verification techniques could analyze software systems to detect defects related to failing to release resources. However, these techniques require resource-releasing specifications for specifying which API method acquires/releases certain resources, and such specifications are not well documented in practice, due to the large amount of manual effort required to document them. To address this issue, we propose an iterative mining approach, called RRFinder, to automatically mining resource-releasing specifications for API libraries in the form of (resource-acquiring, resource-releasing) API method pairs. RRFinder first identifies resource-releasing API methods, for which RRFinder then identifies the corresponding resource-acquiring API methods. To identify resource-releasing API methods, RRFinder performs an iterative process including three steps: model-based prediction, call-graph-based propagation, and class-hierarchy-based propagation. From heterogeneous information (e.g., source code, natural language), the model-based prediction employs a classification model to predict the likelihood that an API method is a resource-releasing method. The call-graph-based and class-hierarchy-based propagation propagates the likelihood information across methods. We evaluated RRFinder on eight open source libraries, and the results show that RRFinder achieved an average recall of 94.0% with precision of 86.6% in mining resource-releasing specifications, and the mined specifications are useful in detecting resource leak defects. Guangtai Liang, Qianxiang Wang, Tao Xie 0001, Hong Mei 0001 |
ASE | 5 |
| 2011 | Instant and Incremental QVT Transformation for Runtime Models
Gang Huang 0001, Franck Chauvel, Wei Zhang 0004, Yanchun Sun, Weizhong Shao, Hong Mei 0001 |
MoDELS | 7 |
| 2011 | Detecting Architecture Erosion by Design Decision of Architectural Pattern
Yanchun Sun, Franck Chauvel, Hong Mei 0001 |
SEKE | 5 |
| 2011 | Inferring specifications for resources from natural language API documentation
Hao Zhong 0001, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001 |
Autom. Softw. Eng. | 4 |
| 2011 | Internetware: An Emerging Software Paradigm for Internet Computing
Hong Mei 0001, Xuanzhe Liu |
J. Comput. Sci. Technol. | 1 |
| 2011 | Mining Effective Temporal Specifications from Heterogeneous API Data
Guangtai Liang, Qianxiang Wang, Hong Mei 0001 |
J. Comput. Sci. Technol. | 4 |
| 2011 | Simulation-based analysis of middleware service impact on system reliability: Experiment on Java application server
Gang Huang 0001, Weihu Wang, Hong Mei 0001 |
J. Syst. Softw. | 4 |
| 2011 | Supporting runtime software architecture: A bidirectional-transformation-based approach
Gang Huang 0001, Franck Chauvel, Yingfei Xiong 0001, Zhenjiang Hu 0002, Yanchun Sun, Hong Mei 0001 |
J. Syst. Softw. | 7 |
| 2011 | Checking enforcement of integrity constraints in database applications based on code patterns
Hongyu Zhang 0002, Hee Beng Kuan Tan, Lu Zhang 0023, Xiaoyin Wang, Hong Mei 0001 |
J. Syst. Softw. | 7 |
| 2010 | A Runtime Model Based Monitoring Approach for CloudabstractMonitoring plays a significant role in improving the quality of service in cloud computing. It helps clouds to scale resource utilization adaptively, to identify defects in services for service developers, and to discover usage patterns of numerous end users. However, due to the heterogeneity of components in clouds and the complexity arising from the wealth of runtime information, monitoring in clouds faces many new challenges. In this paper, we propose a runtime model for cloud monitoring (RMCM), which denotes an intuitive representation of a running cloud by focusing on common monitoring concerns. Raw monitoring data gathered by multiple monitoring techniques are organized by RMCM to present a more intuitive profile of a running cloud. We applied RMCM in the implementation of a flexible monitoring framework, which can achieve a balance between runtime overhead and monitoring capability via adaptive management of monitoring facilities. Our experience of utilizing the monitoring framework on a real cloud demonstrates the feasibility and effectiveness of our approach. Jin Shao, Qianxiang Wang, Hong Mei 0001 |
IEEE CLOUD | 4 |
| 2010 | Integrating Resource Consumption and Allocation for Infrastructure Resources on-DemandabstractInfrastructure resources on-demand requires resource provision (e.g., CPU and memory) to be both sufficient and necessary, which is the most important issue and a challenge in Cloud Computing. Platform as a service (PaaS) encapsulates a layer of software that includes middleware, and even development environment, and provides them as a service for building and deploying cloud applications. In PaaS, the issue of on-demand infrastructure resource management becomes more challenging due to the thousands of cloud applications that share and compete for resources simultaneously. The fundamental solution is to integrate and coordinate the resource consumption and allocation management of a cloud application. The difficulties of such a solution in PaaS are essentially how to maximize the resource utilization of an application, and how to allocate resources to guarantee adequate resource provision for the system. In this paper, we propose an approach to managing infrastructure resources in PaaS by leveraging two adaptive control loops: the resource consumption optimization loop and the resource allocation loop. The optimization loop improves the resource utilization of a cloud application via management functions provided by the corresponding middleware layers of PaaS. The allocation loop provides or reclaims appropriate amounts of resources to/from the application system while guaranteeing its performance. The two loops are integrated to run consecutively and repeatedly to provide infrastructure resources on-demand by first trying to improve resource utilization, and then allocating more resources when necessary. We implement a framework, SmartRod, to investigate our approach. The experiment on SmartRod proves its effectiveness on infrastructure resource management. Ying Zhang 0012, Gang Huang 0001, Xuanzhe Liu, Hong Mei 0001 |
IEEE CLOUD | 4 |
| 2010 | SCOBA: source code based attestation on custom softwareabstractMost existing attestation schemes deal with binaries and typically require an exhaustive list of known-good measurements beforehand in order to perform verification. However, many programs nowadays are custom-built: the end user is allowed to tailor, compile and build the source code into various versions, or even build everything from scratch. As a result, it is very difficult, if not impossible, for existing schemes to attest the custom-built software with theoretically unlimited number of valid binaries available. This paper introduce SCOBA, a new Source COde Based Attestation framework, to specifically deal with the attestation on custom software. Instead of trying to obtain a know-good measurement list, SCOBA focuses on the source code and provides a trusted building process to attest the resulting binaries based on the source files and building configuration. SCOBA introduces a trusted verifier to certify the binary code of custom-build program according to its source code and building configuration. For custom-built software based on open-source distributions, we implemented a fully automatic trusted building system prototype for SCOBA based on GCC and TPM. As a case study, we also applied SCOBA to Gentoo and its Portage, which is a source code based package management system. Experimental results show that remote attestation, one of the key TCG features, can be made practically available to the free software community. Liang Gu, Yao Guo 0001, Anbang Ruan, Qingni Shen, Hong Mei 0001 |
ACSAC | 5 |
| 2010 | Lazy Runtime Verification for Constraints on Interacting ObjectsabstractApplication Programming Interface (API) constraints on objects are rules that API client code must follow in order to get expected results from these objects. Runtime verification, an important approach for detecting API constraint violations, usually suffers from high runtime overhead. This paper focuses on temporal API constraints on multiple interacting objects. Violation detection of such constraints is more challenging than violation detection of single object constraints, and may induce higher runtime overhead. To reduce the runtime overhead, without compromising the effectiveness of verification, we propose a Lazy Verification Approach (LAVA), which enables verification lazily. Verification probes in LAVA are loaded automatically during the program execution as late as possible. And only probes on objects that have been bound by a binding point (a special method invocation that binds involved objects together) are enabled. Based on these optimization strategies, we implemented an efficient and flexible runtime verification framework. We show the effectiveness of our approach by applying it to verify five constraints in the DaCapo [1] benchmark. The empirical results show that our approach can reduce the number of method invocation events sent by probes, which is the main cause of runtime overhead, by 74% to 100% on average, and bring about an optimization ratio of 44.1% to 89.9% on runtime overhead. Jin Shao, Fang Deng, Haiwen Liu, Qianxiang Wang, Hong Mei 0001 |
APSEC | 5 |
| 2010 | Internetware: Challenges and Future Direction of Software Paradigm for Internet as a ComputerabstractInternet is becoming an open, global, ubiquitous and smarter computer for our society and planet. Such “Internet as a Computer” requires substantial improvements in software characteristics such as collaborative, situational, autonomous, evolvable and trustworthy, which challenge existing software paradigms, including software model, software middleware and engineering approach. In this talk, a new software paradigm, called Internetware, is presented as a synergy of these future directions. Hong Mei 0001 |
COMPSAC | 1 |
| 2010 | An Automatic Configuration Approach to Improve Real-Time Application Throughput While Attaining DeterminismabstractDeterminism and throughput are two important performance measures for Java-based real-time applications, but they often conflict. Therefore, it is significant to improve throughput for Java-based real-time applications while guaranteeing its execution time determinism. In this paper, we propose an automatic configuration approach to assign real-time thread priorities to solve the above-mentioned problem. In this approach, we propose an innovative representation of determinism related with real-time thread priorities using stochastic process. Java-based real-time application's throughput is quantified with thread priorities as parameters. The algorithm of integer programming is used to optimize throughput with boundary conditions of the level of determinism. Finally, the Sweet Factory application is tested to evaluate the effect of our approach. Experiment results show that throughput for Java-based real-time applications could be efficiently improved while keeping the execution time determinism with our approach. Donggang Cao, Xiangqun Chen, Hong Mei 0001 |
COMPSAC | 5 |
| 2010 | A Task-Oriented Navigation Approach to Enhance Architectural Description ComprehensionabstractThe way to document architecture is called Architecture Description (AD). It contains all the key design decisions, presents how the system is composed, specifies the interface of the component, and etc. Such information is needed not only during the whole development but also in the system maintenance or evolvement phase. Meanwhile, the amount of the various ADs in a modern software system becomes very large and the content of ADs is also richer. To understand the system ADs becomes challenging to the engineers. However, past research in the software engineering area did not pay enough attention to assisting the engineers to understand the ADs. On the other hand, according to the document navigation research in Human Computer Interaction (HCI), the engineer's intention should be adequately presented. To address these issues, we proposed a Task-oriented Navigation Approach and developed a tool support. By specifying tasks that express the purpose of the engineer, our approach generates the organized information, trims the irrelevant descriptions, and guides the navigation sequentially. Our approach provides several major benefits. First, it offers an approach to capture the purpose of the engineer. Second, it reminds the engineer about the possible omission during the reading. Last, it improves the understandability of the AD and reduces the workload of the engineer. Gang Huang 0001, Yanchun Sun, Hong Mei 0001 |
COMPSAC | 5 |
| 2010 | Auto-tuning Dense Matrix Multiplication for GPGPU with CacheabstractIn this paper we discuss about our experiences in improving the performance of GEMM (both single and double precision) on Fermi architecture using CUDA, and how the new features of Fermi such as cache affect performance. It is found that the addition of cache in GPU on one hand helps the processers take advantage of data locality occurred in runtime but on the other hand renders the dependency of performance on algorithmic parameters less predictable. Auto tuning then becomes a useful technique to address this issue. Our auto-tuned SGEMM and DGEMM reach 563 GFlops and 253 GFlops respectively on Tesla C2050. The design and implementation entirely use CUDA and C and have not benefited from tuning at the level of binary code. Xiang Cui, Changyou Zhang, Hong Mei 0001 |
ICPADS | 4 |
| 2010 | Large-scale FFT on GPU clustersabstractA GPU cluster is a cluster equipped with GPU devices. Excellent acceleration is achievable for computation-intensive tasks (e. g. matrix multiplication and LINPACK) and bandwidth-intensive tasks with data locality (e. g. finite-difference simulation). Bandwidth-intensive tasks such as large-scale FFTs without data locality are harder to accelerate, as the bottleneck often lies with the PCI between main memory and GPU device memory or the communication network between workstation nodes. That means optimizing the performance of FFT for a single GPU device will not improve the overall performance. This paper uses large-scale FFT as an example to show how to achieve substantial speedups for these more challenging tasks on a GPU cluster. Three GPU-related factors lead to better performance: firstly the use of GPU devices improves the sustained memory bandwidth for processing large-size data; secondly GPU device memory allows larger subtasks to be processed in whole and hence reduces repeated data transfers between memory and processors; and finally some costly main-memory operations such as matrix transposition can be significantly sped up by GPUs if necessary data adjustment is performed during data transfers. This technique of manipulating array dimensions during data transfer is the main technical contribution of this paper. These factors (as well as the improved communication library in our implementation) attribute to 24.3x speedup with respect to FFTW and 7x speedup with respect to Intel MKL for 4096 3D single-precision FFT on a 16-node cluster with 32 GPUs. Around 5x speedup with respect to both standard libraries are achieved for double precision. Xiang Cui, Hong Mei 0001 |
ICS | 3 |
| 2010 | SM@RT: representing run-time system data as MOF-compliant modelsabstractRuntime models represent the dynamic data of running systems, and enable developers to manipulate the data in an abstract, model-based way. This paper presents [email protected], a tool that help realize runtime models on a wide class of systems. Receiving a meta-model specifying the target system's data type and an API description specifying how to manipulate the data, [email protected] automatically generates the synchronizer to maintain the runtime model for this system. Gang Huang 0001, Franck Chauvel, Yanchun Sun, Hong Mei 0001 |
ICSE (2) | 5 |
| 2010 | JDF: detecting duplicate bug reports in JazzabstractBoth developers and users submit bug reports to a bug repository. These reports can help reveal defects and improve software quality. As the number of bug reports in a bug repository increases, the number of the potential duplicate bug reports increases. Detecting duplicate bug reports helps reduce development efforts in fixing defects. However, it is challenging to manually detect all potential duplicates because of the large number of existing bug reports. This paper presents JDF (representing Jazz Duplicate Finder), a tool that helps users to find potential duplicates of bug reports on Jazz, which is a team collaboration platform for software development and process management. JDF finds potential duplicates for a given bug report using natural language and execution information. Yoonki Song, Xiaoyin Wang, Tao Xie 0001, Lu Zhang 0023, Hong Mei 0001 |
ICSE (2) | 5 |
| 2010 | Is operator-based mutant selection superior to random mutant selection?abstractDue to the expensiveness of compiling and executing a large number of mutants, it is usually necessary to select a subset of mutants to substitute the whole set of generated mutants in mutation testing and analysis. Most existing research on mutant selection focused on operator-based mutant selection, i.e., determining a set of sufficient mutation operators and selecting mutants generated with only this set of mutation operators. Recently, researchers began to leverage statistical analysis to determine sufficient mutation operators using execution information of mutants. However, whether mutants selected with these sophisticated techniques are superior to randomly selected mutants remains an open question. In this paper, we empirically investigate this open question by comparing three representative operator-based mutant-selection techniques with two random techniques. Our empirical results show that operator-based mutant selection is not superior to random mutant selection. These results also indicate that random mutant selection can be a better choice and mutant selection on the basis of individual mutants is worthy of further investigation. Lu Zhang 0023, Shan-Shan Hou, Jun-Jue Hu, Tao Xie 0001, Hong Mei 0001 |
ICSE (1) | 5 |
| 2010 | Test generation via Dynamic Symbolic Execution for mutation testingabstractMutation testing has been used to assess and improve the quality of test inputs. Generating test inputs to achieve high mutant-killing ratios is important in mutation testing. However, existing test-generation techniques do not provide effective support for killing mutants in mutation testing. In this paper, we propose a general test-generation approach, called PexMutator, for mutation testing using Dynamic Symbolic Execution (DSE), a recent effective test-generation technique. Based on a set of transformation rules, PexMutator transforms a program under test to an instrumented meta-program that contains mutant-killing constraints. Then PexMutator uses DSE to generate test inputs for the meta-program. The mutant-killing constraints introduced via instrumentation guide DSE to generate test inputs to kill mutants automatically. We have implemented our approach as an extension for Pex, an automatic structural testing tool developed at Microsoft Research. Our preliminary experimental study shows that our approach is able to strongly kill more than 80% of all the mutants for the five studied subjects. In addition, PexMutator is able to outperform Pex, a state-of-the-art test-generation tool, in terms of strong mutant killing while achieving the same block coverage. Lingming Zhang 0001, Tao Xie 0001, Lu Zhang 0023, Nikolai Tillmann, Jonathan de Halleux, Hong Mei 0001 |
ICSM | 6 |
| 2010 | A framework for the integration of MOF-compliant analysis methodsabstractWith the increasing maturity of model-driven tools and methods, new model-based analysis methods are developed to support specific stakeholder concerns during software lifecycle. This multiplication of models and their related analysis tools calls for solution addressing the integration of MOF-based analysis methods. Current research works on integration of analysis methods have already addressed the extraction of the needed input data as well as the control and the integration of the tools supporting the analysis execution. However, little attention has been paid to the integration of analysis results back into initial model. We propose a MOF-based framework enabling the integration of analysis results that a) defines a meta-model capturing the integration requirements, b) provides a MOF meta-model extension mechanism with support for upward compatibility; and c) automatically generates a model transformation for model integration. We illustrate the use of our framework by integrating a reliability analysis methods and a fault tolerant reconfiguration method on the ABC/ADL Software Architecture. We applied the resulting analysis composition onto the ECPerf JEE system. Xiangping Chen, Gang Huang 0001, Franck Chauvel, Yanchun Sun, Hong Mei 0001 |
Internetware | 5 |
| 2010 | A case study of internetware developmentabstractThe open, dynamic and ever-changing characteristics of Internet have attracted much attention to carry out research on Internetware. Current researches mainly focus on the framework of the Internetware. However, there are a variety of issues facing the Internetware development today with more joint work distributed over the world, and how should we improve the efficiency of such development? In order to resolve this issue we investigate three open source projects from J2EE platform domain: JBossAS, JOnAS, and Apache Geronimo to find out that, in the sampled projects, how many people will involve the Internetware development, how they allocate the work, and how the speed to resolve the issues reported by the customer. By answering five research questions referred from the Apache study, we proposed four hypotheses: (1) Open source Interware development will have a core of developers who will create approximately 80% or more of the new functionality. The group will be no larger than 30 people; (2) In a specific server-side domain, the group who will repair defects and report issues will have the equal or even smaller number people compared to the core group; (3) Commercial support can attract more volunteers to the open source Internetware projects; (4) Open Source Internetware developments exhibit very rapid responses to customer issues. Minghui Zhou 0001, Hong Mei 0001 |
Internetware | 3 |
| 2010 | A problem-driven collaborative approach to eliciting requirements of internetwaresabstractIn the software development, most stakeholders cannot clearly and objectively express their needs for the envisioned software systems. In this paper, we propose a problem-driven collaborative requirements elicitation approach, with the purpose of helping identify and extract the requirements of the Internetwares (a complex and new software paradigm). The basic idea of our approach is that the requirements of the software systems should be stated by stakeholders in an objective way (i.e. problem-identifying-solving way). That is, first identify the problems existed in the as-is problem domain, and then find the solutions to the problems. The solutions to the problems are the requirements of the envisioned software systems. To this end, we propose the structure of problems and a collaborative process for achieving the solutions. Bo Wang 0170, Haiyan Zhao 0001, Wei Zhang 0004, Zhi Jin 0001, Hong Mei 0001 |
Internetware | 5 |
| 2010 | CoFM: a web-based collaborative feature modeling system for internetware requirements' gathering and continual evolutionabstractInternetware is a paradigm of open, decentralized and continually evolvable software systems running on the Internet. In the development of Internetware, the enormous amount of its stakeholders brings challenges to the gathering of common and essential requirements among these stakeholders and continual evolution of the requirements. In this paper, we present a web-based collaborative feature modeling system (CoFM) developed as a platform for gathering, organizing, evaluating, and negotiating Internetware requirements. The basic idea is to express and organize requirements in terms of user-perceivable features of desired Internetware application, and to allow stakeholders to propose, evaluate and negotiate these features collaboratively, in a shared feature model of the application. During the collaboration, the application provider can discover the common and important features that need to be implemented at present, and the special but valuable features that might be provided in the future. Moreover, the provider can track the up-to-moment evolution of the features, which enables the provider to quickly respond to the changes in the Internetware requirements. Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
Internetware | 5 |
| 2010 | Automatic construction of an effective training set for prioritizing static analysis warningsabstractIn order to improve ineffective warning prioritization of static analysis tools, various approaches have been proposed to compute a ranking score for each warning. In these approaches, an effective training set is vital in exploring which factors impact the ranking score and how. While manual approaches to build a training set can achieve high effectiveness but suffer from low efficiency (i.e., high cost), existing automatic approaches suffer from low effectiveness. In this paper, we propose an automatic approach for constructing an effective training set. In our approach, we select three categories of impact factors as input attributes of the training set, and propose a new heuristic for identifying actionable warnings to automatically label the training set. Our empirical evaluations show that the precision of the top 22 warnings for Lucene, 20 for ANT, and 6 for Spring can achieve 100% with the help of our constructed training set. Guangtai Liang, Qianxiang Wang, Tao Xie 0001, Hong Mei 0001 |
ASE | 6 |
| 2010 | iMashup: assisting end-user programming for the service-oriented webabstractThe Web is currently moving towards a platform with rich services. A notable trend is that end-users create mashups composing services with short, iterative development life cycles as well as updating with evolving needs. However, the large number of services and the high complexity of composition constraints make manual composition extremely difficult. Addressing this issue, we have developed an approach to assisting the end-users to build mashups in a simple and fast fashion. A tag-based model provides end-users a quick and intuitive insight of services. End-users simply describe their desired goals with tags. Interacting with a service repository, our approach employs a planning approach to suggest services that end-users might want to involve in the final outputs, including some additional interesting or relevant ones to induce more potential composition opportunities. End-users are allowed to iteratively modify, adjust or refine their goals. We have implemented our approach with a tool called iMashup. Xuanzhe Liu, Qi Zhao 0005, Gang Huang 0001, Zhi Jin 0001, Hong Mei 0001 |
ASE | 5 |
| 2010 | Matching dependence-related queries in the system dependence graphabstractIn software maintenance and evolution, it is common that developers want to apply a change to a number of similar places. Due to the size and complexity of the code base, it is challenging for developers to locate all the places that need the change. A main challenge in locating the places that need the change is that, these places share certain common dependence conditions but existing code searching techniques can hardly handle dependence relations satisfactorily. In this paper, we propose a technique that enables developers to make queries involving dependence conditions and textual conditions on the system dependence graph of the program. We carried out an empirical evaluation on four searching tasks taken from the development history of two real-world projects. The results of our evaluation indicate that, compared with code-clone detection, our technique is able to locate many required code elements that code-clone detection cannot locate, and compared with text search, our technique is able to effectively reduce false positives without losing any required code elements. Xiaoyin Wang, David Lo 0001, Jiefeng Cheng, Lu Zhang 0023, Hong Mei 0001, Jeffrey Xu Yu |
ASE | 5 |
| 2010 | Inferring Meta-models for Runtime System Data from the Clients of Management APIs
Gang Huang 0001, Yingfei Xiong 0001, Franck Chauvel, Yanchun Sun, Hong Mei 0001 |
MoDELS (2) | 6 |
| 2010 | A Dynamic-Priority Based Approach to Fixing Inconsistent Feature Models
Bo Wang 0170, Yingfei Xiong 0001, Zhenjiang Hu 0002, Haiyan Zhao 0001, Wei Zhang 0004, Hong Mei 0001 |
MoDELS (1) | 6 |
| 2010 | Towards Automated Synthesis of Executable Eclipse Tutorials
Nuyun Zhang, Gang Huang 0001, Ying Zhang 0012, Hong Mei 0001 |
SEKE | 5 |
| 2010 | A Browser-Based Middleware for Service-Oriented Rich ClientabstractAlong with the proliferation of web-delivered services and the wide adoption of popular Web technologies, it has been an emerging development style that composes service-oriented applications with rich user experiences in the web browser. Currently, these service-oriented rich client (SoRC) applications are usually tightly coupled with specific requirements and scenarios, without the solutions of common problems for development, deployment and operation. It leads to the fact that SoRC applications are exactly done in an ad-hoc manner. In this paper, we propose a new type of middleware, which is embedded in web browsers and encapsulates reusable solutions for common problems. This browser-embedded middleware consists of a container managing component instances, a set of communication mechanisms coordinating both browser-server and inter-browser interactions. Different SoRC applications can be constructed more easily based on the middleware. In the case study, we construct a mashup environment, called iMashup, with the middleware and compare it with some popular environments. The comparison shows that iMashup provides composition capabilities with less implementation efforts, occupies much lower memory consumption and achieves more scalability. Qi Zhao 0005, Xuanzhe Liu, Gang Huang 0001, Jiyu Huang, Hong Mei 0001 |
ICSS | 5 |
| 2010 | Locating need-to-translate constant strings in web applicationsabstractSoftware internationalization aims to make software accessible and usable by users all over the world. For a Java application that does not consider internationalization at the beginning of its develop- ment stage, our previous work proposed an approach to locating need-to-translate constant strings in the Java code. However, when being applied on web applications, it can identify only constant strings that may go to the generated HTML texts, but cannot further distinguish constant strings visible at the browser side (need-to-translate) from other constant strings (not need-to-translate). In this paper, to address significant challenges in internationalizing web applications, we propose a novel approach to locating need-to-translate constant strings in web applications. Among those constant strings that may go to the generated HTML texts, our approach further distinguishes strings visible at the browser side from non-visible strings via a novel technique called flag propagation. We evaluated our approach on three real-world open source PHP-based web applications (in total near 17 KLOC): Squirrel Mail, Lime Survey, and Mrbs. The empirical results demonstrate that our approach accurately distinguishes visible strings from non-visible strings among all the constant strings that may go to the generated HTML texts, and is effective for locating need-to-translate constant strings in web applications. Xiaoyin Wang, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
SIGSOFT FSE | 4 |
| 2010 | Test input reduction for result inspection to facilitate fault localization
Dan Hao 0001, Tao Xie 0001, Lu Zhang 0023, Xiaoyin Wang, Jiasu Sun, Hong Mei 0001 |
Autom. Softw. Eng. | 6 |
| 2010 | A community-centric approach to automated service composition
Xuanzhe Liu, Gang Huang 0001, Hong Mei 0001 |
Sci. China Inf. Sci. | 3 |
| 2010 | A concern-based approach to generating formal requirements specifications
Ying Jin 0002, Jing Zhang 0005, Weiping Hao, Haiyan Zhao 0001, Hong Mei 0001 |
Frontiers Comput. Sci. China | 7 |
| 2010 | Self-Adaptive Resource Management for Large-Scale Shared Clusters
Yan Li 0067, Feng-Hong Chen, Minghui Zhou 0001, Wenpin Jiao, Donggang Cao, Hong Mei 0001 |
J. Comput. Sci. Technol. | 7 |
| 2010 | Automated assembly of Internet-scale software systems involving autonomous agents
Wenpin Jiao, Yanchun Sun, Hong Mei 0001 |
J. Syst. Softw. | 3 |
| 2010 | A biting-down approach to hierarchical decomposition of object-oriented systems based on structure analysisabstractAbstract System decomposition has been widely viewed as an effective means to facilitate the comprehension of complex software systems and/or capture potentially reusable components in them. In fact, various approaches to system decomposition have been intensively documented in the literature. However, during the process of system decomposition, only a few of them can also capture the target system's hierarchical organization structure, which is essential when the target system is very complex. In this paper, we present a biting‐down approach to hierarchical decomposition of object‐oriented systems. Compared with the previous hierarchical approaches, the distinct features of this approach are as follows. First, our approach does not rely on agglomeration, and thus can avoid some unnecessary calculations. Second, our approach does not require merging nodes when performing high‐level decomposition, and thus can avoid imprecision induced by the merging. To evaluate our approach, we conducted a case study and an experimental study on our approach. The results of these studies can confirm its effectiveness and its superiority over our previous approach. Copyright © 2009 John Wiley & Sons, Ltd. Lu Zhang 0023, Jiasu Sun, Hong Mei 0001 |
J. Softw. Maintenance Res. Pract. | 5 |
| 2009 | MAPO: Mining and Recommending API Usage Patterns
Hao Zhong 0001, Tao Xie 0001, Lu Zhang 0023, Jian Pei 0001, Hong Mei 0001 |
ECOOP | 5 |
| 2009 | Architecture Design for the Large-Scale Software-Intensive Systems: A Decision-Oriented Approach and the ExperienceabstractSoftware architectures are considered the key means to manage the complexity of large-scale systems from the high abstraction levels and system-wide perspectives. The traditional software design methodologies and the emerging architecture design methods still fall short of coping with the architectural complexity and difficulty in practice. The recent research on the architecture design decisions mostly focuses on its representation, providing little support for the architecture design task itself. In this paper we propose a decision-oriented architecture design approach ABC/DD, based on the decision-abstraction and issue-decomposition principles specific to the architecture level design of software. The approach models software architecture from the perspective of design decisions, and accomplishes the architecture design from eliciting architecturally significant design issues to exploiting and making decisions on the solutions for these issues. We illustrate the application of the approach with two real-life large-scale software-intensive projects, showing that the decision-oriented approach accommodates the characteristics and demands of the architecture level, and facilitates the design of architecture and the capture of the essential decisions for large complex systems. Xiaofeng Cui, Yanchun Sun, Sai Xiao, Hong Mei 0001 |
ICECCS | 4 |
| 2009 | Improving Performance of Matrix Multiplication and FFT on GPUabstractIn this paper we discuss about our experiences in improving the performance of two key algorithms: the single-precision matrix-matrix multiplication subprogram (SGEMM of BLAS) and single-precision FFT using CUDA. The former is computation-intensive, while the latter is memory bandwidth or communication-intensive. A peak performance of 393 Gflops is achieved on NVIDIA GeForce GTX280 for the former, about 5% faster than the CUBLAS 2.0 library. Better FFT performance results are obtained for a range of dimensions. Some common principles are discussed for the design and implementation of many-core algorithms. Xiang Cui, Hong Mei 0001 |
ICPADS | 3 |
| 2009 | VIDA: Visual interactive debuggingabstractSoftware debugging is time-consuming and effort-consuming. Although software debugging, especially fault-localization, has been studied for long, few practical debugging tools have been developed and used by the industry. In this paper we present VIDA, a visual interactive debugging tool, which has been integrated with the Eclipse Integrated Development Environment to support a programmer's debugging process. During the programmer's conventional debugging process, VIDA continuously recommends break-points for the programmer based on the analysis of execution information and the gathered feedback from the programmer. Moreover, VIDA provides a program outline to help the programmer choose breakpoints and visualizes the static dependency relation to help the programmer make estimation at breakpoints. Dan Hao 0001, Lingming Zhang 0001, Lu Zhang 0023, Jiasu Sun, Hong Mei 0001 |
ICSE | 5 |
| 2009 | Locating need-to-translate constant strings for software internationalizationabstractModern software applications require internationalization to be distributed to different regions of the world. In various situations, many software applications are not internationalized at early stages of development. To internationalize such an existing application, developers need to externalize some hard-coded constant strings to resource files, so that translators can easily translate the application into a local language without modifying its source code. Since not all the constant strings require externalization, locating those need-to-translate constant strings is a necessary task that developers must complete for internationalization. In this paper, we present an approach to automatically locating need-to-translate constant strings. Our approach first collects a list of API methods related to the graphical user interface (GUI), and then searches for need-to-translate strings from the invocations of these API methods based on string-taint analysis. We evaluated our approach on four real-world open source applications: RText, Risk, ArtOfIllusion, and Megamek. The results show that our approach effectively locates most of the need-to-translate constant strings in all the four applications. Xiaoyin Wang, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
ICSE | 4 |
| 2009 | TranStrL: An automatic need-to-translate string locator for software internationalizationabstractSoftware internationalization is often necessary when distributing software applications to different regions around the world. In many cases, developers often do not internationalize a software application at the beginning of the development stage. To internationalize such an existing application, developers need to externalize some hard-coded constant strings to resource files, so that translators can easily translate the application to be in a local language without modifying its source code. Since not all the constant strings require externalization, locating those need-to-translate constant strings is a basic task that the developers must conduct. In this paper, we present TranStrL, an Eclipse plug-in tool that automatically locates need-to-translate constant strings in Java code. Our tool maintains a pre-collected list of API methods related to the Graphical User Interface (GUI), and then searches for need-to-translate strings in the source code starting from the invocations of these API methods using string-taint analysis. Xiaoyin Wang, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
ICSE | 4 |
| 2009 | SmartTutor: Creating IDE-based interactive tutorials via editable replayabstractInteractive tutorials, like Eclipse's cheat sheets, are good for novice programmers to learn how to perform tasks (e.g., checking out a CVS project) in an integrated development environment (IDE). Creating these tutorials often requires programming effort that is time-consuming and difficult. In this paper, we propose an approach using editable replay of user actions to help authors create interactive tutorials with little programming effort. User actions of performing a task can be recorded, edited, and presented as a tutorial. The tutorial can be replayed interactively for mentoring. We present our SmartTutor implementation in the Eclipse IDE and conduct a preliminary evaluation on it, which demonstrates efficiency gains for the tutorial authors. Ying Zhang 0012, Gang Huang 0001, Nuyun Zhang, Hong Mei 0001 |
ICSE | 4 |
| 2009 | Prioritizing JUnit test cases in absence of coverage informationabstractBetter orderings of test cases can detect faults in less time with fewer resources, and thus make the debugging process earlier and accelerate software delivery. As a result, test case prioritization has become a hot topic in the research of regression testing. With the popularity of using the JUnit testing framework for developing Java software, researchers also paid attention to techniques for prioritizing JUnit test cases in regression testing of Java software. Typically, most of them are based on coverage information of test cases. However, coverage information may need extra costs to acquire. In this paper, we propose an approach (named Jupta) for prioritizing JUnit test cases in absence of coverage information. Jupta statically analyzes call graphs of JUnit test cases and the software under test to estimate the test ability (TA) of each test case. Furthermore, Jupta provides two prioritization techniques: the total TA based technique (denoted as JuptaT) and the additional TA based technique (denoted as JuptaA). To evaluate Jupta, we performed an experimental study on two open source Java programs, containing 11 versions in total. The experimental results indicate that Jupta is more effective and stable than the untreated orderings and Jupta is approximately as effective and stable as prioritization techniques using coverage information at the method level. Lingming Zhang 0001, Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
ICSM | 5 |
| 2009 | An Optimization Strategy to Feature Models' Verification by Eliminating Verification-Irrelevant Features and Constraints
Wei Zhang 0004, Haiyan Zhao 0001, Hong Mei 0001 |
ICSR | 4 |
| 2009 | User-Perceived Service Availability: A Metric and an Estimation ApproachabstractWeb-service-related techniques have become popular to improve system integration and interaction. In distributed and dynamic environment, Web services' availability has been regarded as one of the key properties for (critical) service-oriented applications. Quality of Service (QoS), including availability, has been regarded by IEEE as a user-perceived property. However, based on our investigation of monitoring invocation records of real Web services, existing availability metrics, which were proposed in traditional domains, have not addressed the "user-perceived'' characteristics. Based on analyzing the limitations of the existing availability metrics, we propose a status-based user-perceived service availability metric and a corresponding estimation approach. Experiments on monitoring and analyzing the invocation records of real services demonstrate that the new metric and the corresponding estimation approach could lead to a feasible estimation on Web services' availability from the user side. Lingshuang Shao, Junfeng Zhao 0001, Tao Xie 0001, Lu Zhang 0023, Hong Mei 0001 |
ICWS | 6 |
| 2009 | SM@RT: towards architecture-based runtime management of Internetware systemsabstractArchitecture-based runtime management (ARM) is a promising approach for Internetware systems. The key enablement of ARM is runtime architecture infrastructure (RAI) that maintains the causal connection between runtime systems and architectural models. An RAI is uneasy to implement and, more importantly, specific to the given system and model. In this paper, we propose a model-driven approach for automated generation of RAI implementation. Developers only need to define three MOF models for their preferred architecture model and the target system (these models are reusable independently for different pairs of the model and system), and one QVT transformation for the causal connection. Our Eclipse-based toolset, called [email protected], will automatically generate the RAI implementation code without any modification on the source code of the target system. This approach is experimented on several runtime systems and architectural models, including ABC architectural models on Eclipse GUI and Android, C2 architectural models on JOnAS, Rainbow C/S style on PLASTIC and UML models on POJO. Gang Huang 0001, Hong Mei 0001 |
Internetware | 3 |
| 2009 | Towards a dynamic and adaptable application serverabstractInternetware is proposed as a new software paradigm to cope with the open, dynamic and ever-changing Internet environment for applications. The incarnated characteristics of Internetware promote the operating platform to be more dynamic and adaptable. As an operating platform, PKUAS (Peking University Application Server) has been successfully applied in various fields. However, its inexplicit module boundary, insufficient lifecycle management and absent dependency management, make it hardly meet challenges. In this paper we refactor PKUAS into PKUAS II by introducing OSGi (Open Services Gateway Initiative) to achieve a better dynamic capability. First, PKUAS II adopts service component oriented model as its structure so that the boundary among modules can be explicitly explained, and the continuous lifecycle management and dynamic dependency management can get supported. PKUAS II is able to upgrade without interruption of service and extend on the fly with new services. Second, PKUAS II supports application--aware customization, which can dynamically generate a just enough application server for the application at runtime, to satisfy different applications' requirements and reduce resource costs. Last but not least, some evaluations have been done, which show that PKUAS II is more flexible and dynamic without significant performance overhead, and might support Internetware better. Chao You, Minghui Zhou 0001, Zan Xiao, Hong Mei 0001 |
Internetware | 4 |
| 2009 | Service-oriented rich client applications supported by Internetware browser middlewareabstractSince many web sites provide their own services and a web browser becomes a rich client platform, a new type of web application that is constructed by assembling web-delivered services in web browser, called Service-Oriented Rich Client (SoRC), emerges. Typical SoRC applications include web OSes and mashups. Due to the increasing complexity of SoRC, we propose a new type of middleware, which is embedded in web browsers and encapsulates reusable solutions for common problems of SoRC, including a container for component instances, a set of mechanisms for interactions within the browser, between the browser and server. Different SoRC applications can be constructed easily in high quality based on this middleware. We implement a prototype of the Internetware browser middleware, and then build two SoRC applications based on this prototype: 1) a web-based BPEL editor, iServiceStudio; 2) a mashup environment, iMashup. Qi Zhao 0005, Gang Huang 0001, Hong Mei 0001 |
Internetware | 3 |
| 2009 | A problem-driven scenario-based approach to collaborative requirement elicitationabstractStakeholders play critical roles in requirements elicitation, since they are the source of requirements, and the quality of elicited requirements is significantly influenced by the degree of stakeholders' participation and collaboration in elicitation. However, requirements elicitation is often obstructed due to the diversity in stakeholders' background and interests, especially in the different perspectives on the envisioned systems, the insufficient communication and common-understanding among them, and the different abilities to express requirements. Haiyan Zhao 0001, Wei Zhang 0004, Hong Mei 0001 |
Internetware | 4 |
| 2009 | Supporting Reconfigurable Fault Tolerance on Application ServersabstractDynamic reconfiguration support in application servers is a solution to meet the demands for flexible and adaptive component-based applications. However, when an application is reconfigured, its fault-tolerant mechanism should be reconfigured either. This is one of the crucial problems we have to solve before a fault-tolerant application is dynamically reconfigured at runtime. This paper proposes a fault-tolerant sandbox to support the reconfigurable fault-tolerant mechanisms on application servers. We present how the sandbox integrates multiple error detection and recovery mechanisms, and how to reconfigure these mechanisms at runtime, especially for coordinated recovery mechanisms. We implement a prototype and perform a set of controlled experiments to demonstrate the sandbox’s capabilities. Junguo Li, Gang Huang 0001, Xingrun Chen, Franck Chauvel, Hong Mei 0001 |
ISPA | 5 |
| 2009 | Time-aware test-case prioritization using integer linear programmingabstractTechniques for test-case prioritization re-order test cases to increase their rate of fault detection. When there is a fixed time budget that does not allow the execution of all the test cases, time-aware techniques for test-case prioritization may achieve a better rate of fault detection than traditional techniques for test-case prioritization. In this paper, we propose a novel approach to time-aware test-case prioritization using integer linear programming. To evaluate our approach, we performed experiments on two subject programs involving four techniques for our approach, two techniques for an approach to time-aware test-case prioritization based on genetic algorithms, and four traditional techniques for test-case prioritization. The empirical results indicate that two of our techniques outperform all the other techniques for the two subjects under the scenarios of both general and version-specific prioritization. The empirical results also indicate that some traditional techniques with lower analysis time cost for test-case prioritization may still perform competitively when the time budget is not quite tight. Lu Zhang 0023, Shan-Shan Hou, Tao Xie 0001, Hong Mei 0001 |
ISSTA | 5 |
| 2009 | Jtop: Managing JUnit Test Cases in Absence of Coverage InformationabstractTest case management may make the testing process more efficient and thus accelerate software delivery. With the popularity of using JUnit for testing Java software, researchers have paid attention to techniques to manage JUnit test cases in regression testing of Java software. Typically, most existing test case management tools are based on the coverage information. However, coverage information may need extra efforts to obtain. In this paper, we present an Eclipse IDE plug-in (named Jtop) for managing JUnit test cases in absence of coverage information. Jtop statically analyzes the program under test and its corresponding JUnit test cases to perform the following management tasks: regression test case selection, test suite reduction and test case prioritization. Furthermore, Jtop also enables the programmer to manually manipulate test cases through a graphical user interface. Lingming Zhang 0001, Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001 |
ASE | 5 |
| 2009 | Inferring Resource Specifications from Natural Language API DocumentationabstractTypically, software libraries provide API documentation, through which developers can learn how to use libraries correctly. However, developers may still write code inconsistent with API documentation and thus introduce bugs, as existing research shows that many developers are reluctant to carefully read API documentation. To find those bugs, researchers have proposed various detection approaches based on known specifications. To mine specifications, many approaches have been proposed, and most of them rely on existing client code. Consequently, these mining approaches would fail to mine specifications when client code is not available. In this paper, we propose an approach, called Doc2Spec, that infers resource specifications from API documentation. For our approach, we implemented a tool and conducted an evaluation on Javadocs of five libraries. The results show that our approach infers various specifications with relatively high precisions, recalls, and F-scores. We further evaluated the usefulness of inferred specifications through detecting bugs in open source projects. The results show that specifications inferred by Doc2Spec are useful to detect real bugs in existing projects. Hao Zhong 0001, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001 |
ASE | 4 |
| 2009 | A Use Case Based Approach to Feature Models' ConstructionabstractIn the research of software reuse, feature models have been widely adopted to organize the requirements of a set of applications in a software domain. However, there still lacks an effective approach to minimizing analysts' participation in feature models' construction. In this paper, we propose a use case based semi-automatic approach to the construction of feature models. The basic idea of this approach is to first construct a set of feature models for individual applications(called application feature models, AFMs) in a software domain, then adjust, and merge the set of AFMs to form a feature model for this domain (called a domain feature model, DFM). The main characteristic of this approach is that it provides a set of rules and algorithms to make the construction of AFMs (from use cases) and the construction of DFMs (by merging a set of AFMs) be carried out automatically. A running example is used to illustrate the main characteristic and the feasibility of this approach. Bo Wang 0170, Wei Zhang 0004, Haiyan Zhao 0001, Zhi Jin 0001, Hong Mei 0001 |
RE | 5 |
| 2009 | Documenting Quality Attributes of Software Components
Yanchun Sun, Gang Huang 0001, Hong Mei 0001 |
SEKE | 4 |
| 2009 | Supporting automatic model inconsistency fixingabstractModern development environments often involve models with complex consistency relations. Some of the relations can be automatically established through "fixing procedures". When users update some parts of the model and cause inconsistency, a fixing procedure dynamically propagates the update to other parts to fix the inconsistency. Existing fixing procedures are manually implemented, which requires a lot of efforts and the correctness of a fixing procedure is not guaranteed. Yingfei Xiong 0001, Zhenjiang Hu 0002, Haiyan Zhao 0001, Masato Takeichi, Hong Mei 0001 |
ESEC/SIGSOFT FSE | 6 |
| 2009 | An Approach to Constructing High-Available Decentralized Systems via Self-Adaptive ComponentsabstractIn decentralized computing environments, systems are built mainly from components that are developed and maintained independently by different third-party providers. The executions and evolutions of components located on distributed sites are beyond the control of the system developers, and the availabilities of those components are, to some extent, unpredictable because of their own tendencies and the unstable network. As a result, it is still a great challenge to construct high-available decentralized systems. In this paper, a self-adaptive component model is proposed to model those components distributed on the Internet and a running framework is described for constructing systems composed of self-adaptive components. Self-adaptive components can adjust their knowledge about the availabilities of the required services via learning from the feedback of historical invocations. Based on the knowledge, components can find the most appropriate service providers effectively and automatically. Experiments show that systems can always gain high availabilities under dynamic decentralized environments by using the approach. Wenpin Jiao, Hong Mei 0001 |
Int. J. Softw. Eng. Knowl. Eng. | 5 |
| 2009 | Interactive Fault Localization Using Test Information
Dan Hao 0001, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
J. Comput. Sci. Technol. | 4 |
| 2009 | Quality attribute tradeoff through adaptive architectures at runtime
Jie Yang 0014, Gang Huang 0001, Xiaofeng Cui, Hong Mei 0001 |
J. Syst. Softw. | 5 |
| 2009 | Discovering Homogeneous Web Service Community in the User-Centric Web EnvironmentabstractThe Web has undergone a tremendous change toward a highly user-centric environment. Millions of users can participate and collaborate for their own interests and benefits. Services Computing paradigm together with the proliferation of Web services have created great potential opportunities for the users, also known as service consumers, to produce value-added services by means of service discovery and composition. In this paper, we propose an efficient approach to facilitating the service consumer on discovering Web services. First, we analyze the service discovery requirements from the service consumer's perspective and outline a conceptual model of homogeneous Web service communities. The homogeneous service community contains two types of discovery: the search of similar operations and that of composible operations. Second, we describe a similarity measurement model for Web services by leveraging the metadata from WSDL, and design a graph-based algorithm to support both of the two discovery types. Finally, adopting the popular atom feeds, we design a prototype to facilitate the consumers to discover while subscribing Web services in an easy-of-use manner. With the experimental evaluation and prototype demonstration, our approach not only alleviates the consumers from time-consuming discovery tasks but also lowers their entry barrier in the user-centric Web environment. Xuanzhe Liu, Gang Huang 0001, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 3 |
| 2009 | Guest Editorial: Special Section on Requirements Engineering for Services—Challenges and PracticesabstractSince the first IEEE International Requirements Engineering for Services (REFS) workshop took place in the historical capital of China, Beijing, on 23 July 2007, three editions of the workshop have been running as a series at the COMPSAC conference, serving as an interactive forum for in-depth discussion of all issues related to requirements engineering for services. Researchers from the diverse areas of requirements engineering, services engineering, and services management presented and debated major issues, challenges, trends, and technical advances in requirements engineering for services. Based upon the ranking of papers assigned by the program committee in the workshops, a collection of six research papers from the workshop, together with two main conference papers on relevant topics, were invited to submit a revised and extended version to the IEEE Transations on Services Computing (TSC). Of these, two papers are included in this first special section on REFS. Lin Liu 0001, Eric S. K. Yu, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 3 |
| 2009 | An Online Monitoring Approach for Web Service RequirementsabstractWeb service technology aims to enable the interoperation of heterogeneous systems and the reuse of distributed functions in an unprecedented scale and has achieved significant success. There are still, however, challenges to realize its full potential. One of these challenges is to ensure the behavior of Web services consistent with their requirements. Monitoring events that are relevant to Web service requirements is, thus, an important technique. This paper introduces an online monitoring approach for Web service requirements. It includes a pattern-based specification of service constraints that correspond to service requirements, and a monitoring model that covers five kinds of system events relevant to client request, service response, application, resource, and management, and a monitoring framework in which different probes and agents collect events and data that are sensitive to requirements. The framework analyzes the collected information against the prespecified constraints, so as to evaluate the behavior and use of Web services. The prototype implementation and experiments with a case study shows that our approach is effective and flexible, and the monitoring cost is affordable. Qianxiang Wang, Jin Shao, Fang Deng, Hong Mei 0001 |
IEEE Trans. Serv. Comput. | 7 |
| 2008 | Early Filtering of Polluting Method Calls for Mining Temporal SpecificationsabstractTemporal specifications can describe the legal call sequences of API libraries. With these specifications, verification tools can find defects in existing clients automatically. However, temporal specifications are often not provided due to the high cost of writing them manually or being out-of-date due to the rapid evolution of software. As API clients contain many usages of libraries including temporal rules, various approaches have been proposed to automatically mine temporal specifications from these clients. Typically, only a small part of the mined specifications are real specifications because the generated traces from clients are quite large and polluted. In this paper, we analyze four types of unwanted method calls that are not useful for mining, and we refer to these method calls as polluting method calls. As these method calls are not useful for mining, it is desirable to filter out them as early as possible. To address the problem, we develop a tool, named mining accurate temporal specifications (MATS), that filters out most of the preceding polluting method calls before traces are generated. Our experiments show that with these filtering techniques, the specifications mined by MATS are more accurate than without these filtering techniques. Our experiments also show the detailed impacts of MATS¿s filtering techniques. The results provide further insight on how and why MATS improves existing specification mining. Hao Zhong 0001, Lu Zhang 0023, Hong Mei 0001 |
APSEC | 3 |
| 2008 | Inferring Specifications of Object Oriented APIs from API Source CodeabstractAPI libraries are becoming increasingly popular in modern software industries because these libraries provide various methods and classes for reuse. However, as pointed out by researchers, libraries are typically difficult to use. It is desirable to infer some specifications for libraries so that programmers can learn the correct usages of these libraries. In this paper, we propose an approach to infer specifications from source code of API libraries. Our approach is based on the observation that rules in object-oriented programs can be traced from basic constraints such as memory usage, file usage, and network protocol. In addition, rules of one class spread to its dependent classes through the features of object-oriented programs such as derivation, invocation relationship, and field access among methods. Based on our approach, we implemented a prototype named Java Rule Finder (JRF) to infer specifications from source code of API libraries in Java. We conducted four case studies using JRF. The result shows that JRF infers some rules correctly. We further conducted an experiment on three open source API libraries. The results show that JRF scales well with real API libraries. Hao Zhong 0001, Lu Zhang 0023, Hong Mei 0001 |
APSEC | 3 |
| 2008 | Towards Automatic Verification of Web-Based SOA Applications
Xiangping Chen, Gang Huang 0001, Hong Mei 0001 |
APWeb | 3 |
| 2008 | Editable Replay of IDE-Based Repetitive TasksabstractProgrammers often have to do many repetitive tasks when using an IDE (integrated development environment). These tasks require them to navigate through many views and dialogs in the same steps and input same data, which are time consuming and boring. In this paper, we present an approach to automatically perform the repetitive tasks by catching user actions on the IDE and replaying them when necessary. The sequence and contents of the caught user actions can be edited for generating user actions of similar tasks. The user actions are manifested as a set of high-level information so that they are easy to be edited and robust to UI changes. We present SmartReplayer, an implementation of our approach in the Eclipse IDE and use examples to show that it can greatly improve efficiency of Eclipse Programmers. Ying Zhang 0012, Gang Huang 0001, Nuyun Zhang, Hong Mei 0001 |
COMPSAC | 4 |
| 2008 | Modeling and Checking for Non-functional Attributes in Extended UML Class DiagramabstractA model is a blueprint of a system, which influences the quality of the system. A high quality model should specify not only the functional attributes of a system, i.e., what the system can do, but also the non-functional attributes, i.e., how well the system can do. Modeling for non-functional attributes, especially, the integration of nonfunctional attributes description with functional description and the checking for non-functional attributes, are rarely taken into account by the de facto modeling approaches and tools, while they support modeling and checking for the functional attributes well. In this paper, we extend UML class diagram by adding two model elements, i.e., the nonfunctional attributes notation and the constraint relationships table, for modeling non-functional attributes. An approach is given for checking consistency and satisfiability of the non-functional attributes in the extended UML class diagram. We use an example to demonstrate our proposal. Zhiyi Ma, Hong Mei 0001 |
COMPSAC | 5 |
| 2008 | A User-Oriented Approach to Automated Service CompositionabstractIn the past a few years, the Web has undergone a tremendous change towards a highly user-centric environment. Millions of users can participate and collaborate for their own interests and benefits. Service oriented computing and Web services have created great potential opportunities for the users to build their own applications. Then, it is a pressing issue that, the users can compose services without too complex tasks and efforts. In this paper, we introduce a user-oriented approach which aims to simplify service composition. We leverage the plentiful information residing in service tags, both from service descriptions (such as WSDL) and the annotations tagged by users. Employing some mining algorithms, a direct acyclic graph is built up to represent potential composition opportunities. With a simple and intuitive search, it allows users to explore the space of potentially composable services and achieve service composition in a heuristic manner. We have developed a composition advisor to provide recommendations guiding and assisting the users. It also lets the users discover and make use of services without having to understand too many details of individual candidate services. To enable the users to accomplish service composition in a more interactive access channel, we finally provide a user-friendly prototype based on Web browsers. It undoubtedly reduces the complexity and lowers the entry barrier for the users, and makes them better play their role in the service-oriented Web environment. Xuanzhe Liu, Gang Huang 0001, Hong Mei 0001 |
ICWS | 3 |
| 2008 | Dynamic Availability Estimation for Service Selection Based on Status IdentificationabstractWith the popularity of service-oriented computing, how to construct highly available service-oriented applications is becoming a hot topic in both the research and industry communities. As a fundamental problem in dynamic service selection, availability estimation is challenging because of the dynamic nature of Web services. To grasp the dynamic nature of Web services, we set up an experimental environment for collecting runtime information of Web services. Based on the collected runtime information, we identify several characteristics of service failures and successes, and further define three typical service runtime statuses. Based on these statuses, we propose a novel approach to dynamic availability estimation, which is called status identification based availability estimation for service selection (SIBE). To evaluate our approach, we compare SIBE with other approaches in an experiment of dynamic service selection on the Internet. Experimental results show that SIBE can efficiently improve the success rate of selecting available services. Lingshuang Shao, Lu Zhang 0023, Tao Xie 0001, Junfeng Zhao 0001, Hong Mei 0001 |
ICWS | 6 |
| 2008 | A Decision-centric Architecture Design Method Facilitating the Contextually Capture and Reuse of Design Knowledge
Xiaofeng Cui, Yanchun Sun, Sai Xiao, Hong Mei 0001 |
SEKE | 4 |
| 2008 | Towards Automated Solution Synthesis and Rationale Capture in Decision-Centric Architecture DesignabstractSoftware architectures are considered crucial because they are the earliest blueprints for target products and at the right level for achieving system-wide qualities. Existing methods of architecture design still face the challenge of bridging the gap between software requirements and architectures in practice. The emerging methods that focus on design decisions and rationale provide little support for deriving target architectures. In this paper we propose a decision- centric architecture design approach, which models issues, solutions, decisions, and rationale as the core elements of architecture design and the key notions to direct the derivation of target architectures. The approach transits from requirements to architectures through a process including issue eliciting, solution exploiting, solution synthesizing, and architecture deciding. We implement the automated synthesis of candidate architecture solutions from various issue solutions, and provide a way to capture comprehensive design decisions and rationale during this design process. We finally illustrate the applicability of this approach with a case study. Xiaofeng Cui, Yanchun Sun, Hong Mei 0001 |
WICSA | 3 |
| 2008 | On similarity-awareness in testing-based fault localization
Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001, Jiasu Sun |
Autom. Softw. Eng. | 4 |
| 2008 | Online approach to feature interaction problems in middleware based system
Gang Huang 0001, Xuanzhe Liu, Hong Mei 0001 |
Sci. China Ser. F Inf. Sci. | 3 |
| 2008 | A software architecture centric self-adaptation approach for Internetware
Hong Mei 0001, Gang Huang 0001, Ling Lan, Junguo Li |
Sci. China Ser. F Inf. Sci. | 1 |
| 2008 | Technical framework for Internetware: An architecture centric approach
Fuqing Yang, Jian Lu 0001, Hong Mei 0001 |
Sci. China Ser. F Inf. Sci. | 3 |
| 2008 | An objective-oriented approach to program comprehension using multiple information sources
Wei Zhao 0006, Lu Zhang 0023, Jiasu Sun, Hong Mei 0001 |
Sci. China Ser. F Inf. Sci. | 4 |
| 2008 | An experimental study of four typical test suite reduction techniques
Hao Zhong 0001, Lu Zhang 0023, Hong Mei 0001 |
Inf. Softw. Technol. | 3 |
| 2007 | A Middleware-based Approach to Model Refactoring at RuntimeabstractModel refactoring is emerging as a desirable means to improve design model by restructuring it while preserving the behavior properties. It applies the concept of refactoring to a higher level of abstraction and makes refactoring more convenient and effective. Model refactoring always arises at design phase, but unfortunately, 7(days) times 24(hours) high availability requires that refactoring takes effect at runtime without stopping the running systems. In this paper, we present a middleware-based approach to applying model refactoring for component based applications at runtime. First of all, ill-structures in an application are abstracted as bad patterns, each of which has at least one good pattern abstracting the refactored part in the application without the ill-structure. People can define the bad/good patterns using a MOF-based metamodel. After that, with the help of middleware, the ill-structures will be automatically detected and removed by refactoring the running application under the guide of predefined patterns. Ling Lan, Gang Huang 0001, Weihu Wang, Hong Mei 0001 |
APSEC | 4 |
| 2007 | Architectural Adaptation Addressing the Criteria of Multiple Quality Attributes in Mission-Critical SystemsabstractMission-critical software claims safe and robust adaptations that comply with rigorous criteria of multiple critical quality attributes. Existing adaptation approaches pay little attention to comprehensively capture mission goals and explicitly specify adaptation requirements. We propose an approach to using scenario-based analysis to elicit and specify the criteria of multiple quality attributes as adaptation invariants, and design corresponding architecture variants as facilities implementing adaptations. We also present how to make adaptation decisions at runtime. Xiaofeng Cui, Yanchun Sun, Gang Huang 0001, Hong Mei 0001 |
COMPSAC (1) | 4 |
| 2007 | Towards End User Service CompositionabstractThe popularity of service oriented computing (SOC) brings a large number of distributed, well-encapsulated and reusable services all over Internet, and makes it possible to create value-added services by means of service composition. Current composition styles are too professional to those end users when building their own applications. Actually, the end user would prefer rapidly discovering the best-of-breed services to assemble as well as visually personalizing the presentation to enjoy rich experiences. We propose an end user service composition approach for reducing the composition complexity and difficulty from the end user perspective. In our approach, similar candidate services are aggregated together as a unified resource, whose wide QoS spectrum can be easily manipulated by the end users to satisfy their requirements. Then they can personalize the services and, the composition occurs only at the presentation layer. The main contributions of the approach are: (i) enabling the end users to personalize the composite application with more powerful presentation; (ii) supporting the end users to dynamically customize the service composition in terms of QoS; (iii) alleviating the end users from the time-consuming task of selecting service to compose. Xuanzhe Liu, Gang Huang 0001, Hong Mei 0001 |
COMPSAC (1) | 3 |
| 2007 | An Online Monitoring Approach for Web servicesabstractHigh quality is one of the critical elements contributing to Web service's success. Monitoring events that are sensitive to quality of Web services is thus an important issue for Web services. This paper proposes an online monitoring approach for web service. This approach is driven by a quality model which covers five kinds of events: the response to client, application execution, changing states of resources, client request, and management operations. We introduce a monitoring framework that collects quality sensitive events by multiple kinds of probes and agents. The framework can do some analysis according to the pre-specified constraints, so as to evaluate the quality of web service. The initial implementation and experiment with a web-based auction example shows that our approach is feasible, and the monitoring cost is affordable. Qianxiang Wang, Hong Mei 0001 |
COMPSAC (1) | 4 |
| 2007 | Applying Interface-Contract Mutation in Regression Testing of Component-Based SoftwareabstractRegression testing, which plays an important role in software maintenance, usually relies on test adequacy criteria to select and prioritize test cases. However, with the wide use and reuse of black-box components, such as reusable class libraries and COTS components, it is challenging to establish test adequacy criteria for testing software systems built on components whose source code is not available. Without source code or detailed documents, the misunderstanding between the system integrators and component providers has become a main factor of causing faults in component-based software. In this paper, we apply mutation on interface contracts, which can describe the rights and obligations between component users and providers, to simulate the faults that may occur in this way of software development. The mutation adequacy score for killing the mutants of interface contracts can serve as a test adequacy criterion. We performed an experimental study on three subject systems to evaluate the proposed approach together with four other existing criteria. The experimental results show that our adequacy criterion is helpful for both selecting good-quality test cases and scheduling test cases in an order of exposing faults quickly in regression testing of component-based software. Shan-Shan Hou, Lu Zhang 0023, Tao Xie 0001, Hong Mei 0001, Jiasu Sun |
ICSM | 4 |
| 2007 | Personalized QoS Prediction forWeb Services via Collaborative FilteringabstractMany researchers propose that, not only functional but also non-functional properties, also known as quality of service (QoS), should be taken into consideration when consumers select services. Consumers need to make prediction on quality of unused web services before selecting. Usually, this prediction is based on other consumers' experiences. Being aware of different QoS experiences of consumers, this paper proposes a collaborative filtering based approach to making similarity mining and prediction from consumers' experiences. Experimental results demonstrate that this approach can make significant improvement on the effectiveness of QoS prediction for web services. Lingshuang Shao, Jing Zhang 0005, Junfeng Zhao 0001, Hong Mei 0001 |
ICWS | 6 |
| 2007 | Towards automatic model synchronization from model transformationsabstractThe metamodel techniques and model transformation techniques provide a standard way to represent and transform data, especially the software artifacts in software development. However, after a transformation is applied, the source model and the target model usually co-exist and evolve independently. How to propagate modifications across models in different formats still remains as an open problem. Yingfei Xiong 0001, Dongxi Liu, Zhenjiang Hu 0002, Haiyan Zhao 0001, Masato Takeichi, Hong Mei 0001 |
ASE | 6 |
| 2007 | Towards Constructing High-available Decentralized Systems via Self-adaptive Components
Wenpin Jiao, Hong Mei 0001 |
SEKE | 5 |
| 2007 | Pattern-based J2EE Application Deployment with Cost Analysis
Nuyun Zhang, Gang Huang 0001, Ling Lan, Hong Mei 0001 |
SEKE | 4 |
| 2007 | Towards service pool based approach for services discovery and subscriptionabstractIn current web service discovery and subscription, consumers must pay too much time on manually selection and cannot easily benefit from the wide QoS spectrum brought by the proliferating services. In our approach, we introduce the service pool as a "virtual service" grouping function identical services together and dispatching consumer requests to the proper service in terms of QoS requirements. Xuanzhe Liu, Gang Huang 0001, Hong Mei 0001 |
WWW | 4 |
| 2007 | Supporting crosscutting concern modelling in software architecture design
Donggang Cao, Hong Mei 0001, Minghui Zhou 0001 |
Frontiers Comput. Sci. China | 2 |
| 2007 | Guest Editors' Introduction
Hong Mei 0001, T. H. Tse |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 2007 | Supporting high interoperability of components by adopting an agent-based approach
Wenpin Jiao, Hong Mei 0001 |
Softw. Qual. J. | 2 |
| 2006 | Towards Interactive Fault Localization Using Test InformationabstractFinding the location of a fault is a central task of debugging. Typically, a developer employs an interactive process for fault localization. To accelerate this task, several approaches have been proposed to automate fault localization. In practice, testing-based fault localization (TBFL), which uses test information to locate faults, has become a research focus. However, experimental results reported in the literature showed that current automation of fault localization can only serve as a means to confirming the search space and prioritizing search sequences, not a substitute of the interactive fault localization process. In this paper, we propose an approach based on test information to support the entire interactive fault localization process. During this process, the information gathered from previous interaction steps can be used to provide the ranking of suspicious statements for the current interaction step. As a feasibility study of our approach, we performed an experiment on applying our approach together with some other TBFL approaches on the Siemens programs, which have been used in the literature. Our experimental results show the effectiveness of our approach. Dan Hao 0001, Lu Zhang 0023, Hong Mei 0001, Jiasu Sun |
APSEC | 3 |
| 2006 | Traceability between Software Architecture ModelsabstractSoftware architecture (SA) is the blueprint of the software system and considered as one of the most important artifacts in component based development. The design and analysis of SA can be very complex. Under the inspiration of Model-Driven Development, the design of SA has been no more constrained in one stage. It is a trend to construct multiple SA models in multiple stages during the software life cycle. Thus, the traceability between these SA models becomes a new challenge. The information between these SA models in deferent stages is usually not recorded well and easy to be lost lately, which makes the maintenance and evolution difficult and error-prone. In this paper, we present an approach to recording the information between SA models via a traceability model for reducing the loss of design decisions and helping developers understand the software system well. Yao-Dong Feng, Gang Huang 0001, Jie Yang 0014, Hong Mei 0001 |
COMPSAC (2) | 4 |
| 2006 | The Model and Implementation of Component Array ContainerabstractA component array is a group of component implementations that provide the same functions but have different qualities. At runtime, a component array can adapt to changes of the system and environment by executing different implementations. When developing component arrays, developers have to implement them from the scratch and consider all such things as how to manage component implementations, how to control the selection and so on. In this paper, we propose a container model that provides a runtime space for component arrays and makes the development of component arrays easier and dependable. The container model is implemented in a J2EE compliant application server Gang Huang 0001, Hong Mei 0001 |
COMPSAC (2) | 3 |
| 2006 | Preventing Feature Interactions by ConstraintsabstractAs software systems evolve by adding new extensions some unexpected conflicts may occur, which is known as the feature interaction problem (PIP). PIP is a threat to the dependability of software systems as it can break system security and safety. A major cause for PIP is the non-determinism related with sending or receiving the predefined signals of the base subsystem by extensions. This paper analyzes the problems and proposes to enforce necessary constraints to prevent the PIP. In addition, we present a systematic approach to acquire heuristically constraints from system specifications Jihong Zuo, Qianxiang Wang, Hong Mei 0001 |
COMPSAC (2) | 3 |
| 2006 | Development of software engineering: co-operative efforts from academia, government and industryabstractIn the past 40 years, software engineering has emerged as an important sub-field of computer science. The quality and productivity of software have been improved and the cost and risk of software development been decreased due to the contributions made in this sub-field. The software engineering community needs to invest much more efforts to cope with the drastically increasing demands on the information technology as well as the extremely open and dynamic nature of the Internet. The history of software engineering is reviewed with emphasis on the driving forces of software and the milestones of software engineering development. The history of software engineering in China is reviewed with emphasis on the relationship between software engineering and the software industry. Based on the above reviews, we argue that software engineering should become an independent discipline along with computer science and co-operative efforts from academia, governments and industries should be needed for the harmonious development of software engineering. Some results are presented based on China's experience of developing software engineering under this model. Fuqing Yang, Hong Mei 0001 |
ICSE | 2 |
| 2006 | An experimental comparison of four test suite reduction techniquesabstractAs a test suite usually contains redundancy, a subset of the test suite (representative set) may still satisfy all the test objectives. As the redundancy increases the cost of executing the test suite, many test suite reduction techniques have been brought out in spite of the NP-completeness of the general problem of finding the optimal representative set of the test suite. In the literature, some experimental studies of test suite reduction techniques have already been reported, but there are still shortcomings of the studies of these techniques. This paper presents an experimental comparison of the four typical test suite reduction techniques: heuristic H, heuristic GRE, genetic algorithm-based approach and ILP-based approach. The aim of the study is to provide a guideline for choosing the appropriate test suite reduction techniques. Hao Zhong 0001, Lu Zhang 0023, Hong Mei 0001 |
ICSE | 3 |
| 2006 | Automating Integration of Heterogeneous COTS Components
Wenpin Jiao, Hong Mei 0001 |
ICSR | 2 |
| 2006 | A Service-Oriented Trust Management Model on Application ServerabstractIn the service-oriented architecture, the components deployed on application servers are published as Web services. Though many researches focus on how to authorize at the Web service level currently, there is little work involving the authorization gap between the service and its component implementation. This paper tries to bridge the gap by proposing a service-oriented trust management model, which expands the application server's capability to deal with more complex trust relationship between service users and services, and supplies a flexible trust management mechanism to integrate authentication and authorization together. Moreover, the model provides a finer granularity access control, sustains delegation between users, and has a certain extent reasoning capability. The model has been implemented in a J2EE application server, and the experiment has demonstrated that the model has high flexibility and scalability Minghui Zhou 0001, Hong Mei 0001 |
ICWS | 2 |
| 2006 | User Feedback-Based Refinement for Web Services Retrieval using Multiple Instance LearningabstractA critical step in the process of reusing existing WSDL-specified components is the discovery of potentially relevant Web services. Traditional category based Web service retrieval usually can achieve good recall but worse precision because some semantically relevant Web services are not actually relevant as they cannot provide suitable interfaces. In this paper, we present an interactive Web services retrieval mechanism to refine the coarse retrieval results set in category based retrieval. In the refinement, the signature matching of Web services that concerning the structure of operation specifications is investigated from a multi-instances view. In detail, each Web service is represented as a bag in multiple instance learning, while each operation in this Web service is regarded as an instance. This representation lies in that a user regards a service as useful if at least one operation provided by this Web service is useful. Experimental results show that our approach can improve the retrieval performance significantly: It can gain 83% precision in average after two rounds of user relevance feedback Yanzhen Zou, Liang-Jie Zhang, Lu Zhang 0023, Hong Mei 0001 |
ICWS | 5 |
| 2006 | Identification of Crosscutting Requirements Based on Feature Dependency AnalysisabstractIdentification of crosscutting concerns at the requirements level is important for the modularization and evolution of requirements, and has attracted many research interests. This paper proposes a feature-oriented approach to the identification of crosscutting requirements based on feature dependency analysis. In this approach, features are used as basic elements to organize the requirements space, and two kinds of dynamic dependencies (i.e. interactions and weavings) between features are analyzed to find out the candidate crosscutting requirements and their influence on other requirements. A case study is also used to illustrate the application of this approach Haiyan Zhao 0001, Wei Zhang 0004, Hong Mei 0001 |
RE | 4 |
| 2006 | Runtime recovery and manipulation of software architecture of component-based systems
Gang Huang 0001, Hong Mei 0001, Fuqing Yang |
Autom. Softw. Eng. | 2 |
| 2006 | A software architecture centric engineering approach for Internetware
Hong Mei 0001, Gang Huang 0001, Haiyan Zhao 0001, Wenpin Jiao |
Sci. China Ser. F Inf. Sci. | 1 |
| 2006 | Performance Aware Service Pool in Dependable Service Oriented Architecture
Gang Huang 0001, Xuanzhe Liu, Hong Mei 0001, Shing-Chi Cheung |
J. Comput. Sci. Technol. | 4 |
| 2006 | Development of Software Engineering: A Research Perspective
Hong Mei 0001, Donggang Cao, Fuqing Yang |
J. Comput. Sci. Technol. | 1 |
| 2006 | Feature-driven requirement dependency analysis and high-level software design
Wei Zhang 0004, Hong Mei 0001, Haiyan Zhao 0001 |
Requir. Eng. | 2 |
| 2006 | A component-based approach to online software evolutionabstractMany software systems need to provide services continuously and uninterruptedly. Meanwhile, these software systems need to keep evolving continuously to fix bugs, add functions, improve algorithms, adapt to new running environments and platforms, or prevent potential problems. This situation makes online evolution an important issue in the field of software maintenance and evolution. This paper proposes a component-based approach to online software evolution. Nowadays component technology has been widely adopted. Component technology facilitates software evolution, but also introduces some new issues. In our approach, an application server is used to evolve the application, without special support from the compiler or operating system. The implementation and performance analysis of our approach are also covered. Copyright © 2006 John Wiley & Sons, Ltd. Qianxiang Wang, Junrong Shen, Hong Mei 0001 |
J. Softw. Maintenance Res. Pract. | 4 |
| 2006 | A metamodel for modeling system features and their refinement, constraint and interaction relationships
Hong Mei 0001, Wei Zhang 0004, Haiyan Zhao 0001 |
Softw. Syst. Model. | 1 |
| 2005 | The Coordinated Recovery of Data Service and Transaction Service in J2EEabstractMiddleware can be viewed as a collection of common services which may fail caused by various reasons. Recovery-based fault tolerance is an effective way to improve middleware services' dependability. But the interdependent relationships among services make the recovery of failed services complex. This paper analyzes the interdependent relationships and correlated faults of the data service and the transaction service in J2EE (Java 2 Platform Enterprise Edition), and presents the coordinated recovery of these two services, which is demonstrated in PKUAS, a J2EE-compliant middleware product. Our coordinated recovery uses a configuration file to define correlated faults and their corresponding recovery operations, a centralized coordinator to schedule these operations, and the request caching to improve the effect. Experimentation results show that our coordinated recovery provide a better user-visible availability than other recovery strategies. Gang Huang 0001, Gang Fan, Hong Mei 0001 |
COMPSAC (1) | 4 |
| 2005 | Dynamic Architectural Connectors in Cooperative Software SystemsabstractIn cooperative software systems, the interconnection relationships between components are often dynamic and unpredictable and therefore connectors have to be created dynamically. In this paper, we bring forward the concept of dynamic architectural connector to provide dynamic interconnectivities for components. This paper proposes an automated approach based on software agents to generate dynamic connectors. In the approach, dynamic interaction relationships are established via negotiations and dynamic connectors are generated automatically as high-order entities via taking the behavior specifications and the ontologies of components as arguments. Based on the formal study on the interconnectivities of components, the approach is proved competent for generating dynamic connectors that can satisfy the requirements for providing correct dynamic interconnectivities for components. Wenpin Jiao, Hong Mei 0001 |
ICECCS | 2 |
| 2005 | Customizable Framework for Managing Trusted Components Deployed on MiddlewareabstractDue to the widespread trust threat under the open and dynamic Internet environment, the computer community has endeavored to engage in the studies of technologies for protecting and evaluating trustworthiness. This paper firstly defines trust from three aspects: trust relationship, trust property and trust entity, and build a uniform view for multiple trust properties. Secondly, according to abstract the common characteristics over varied trust properties, a model of trust management is elaborated, in which the trust entities, measurement model and trust policy are described. Thirdly, the trust management is implemented as a kind of public service on a J2EE-compliant middleware platform, i.e., the PKUAS. Minghui Zhou 0001, Wenpin Jiao, Hong Mei 0001 |
ICECCS | 3 |
| 2005 | Modeling Architecture Based Development in UMLabstractIn this paper, an approach is presented to formally model architecture based software development process. The ability of UML in modeling software architecture is reinforced by defining a generic model of component and software architecture, and by integrating the model with UML class model and interaction model to unify software development process. In UML, software development is modeled in different views. With formal semantics, designer can keep consistency among these views. The paper demonstrates how to use the method to construct software. Yali Zhu, Gang Huang 0001, Hong Mei 0001 |
ICECCS | 3 |
| 2005 | Eliminating Harmful Redundancy for Testing-Based Fault Localization Using Test Suite Reduction: An Experimental StudyabstractIn the process of software maintenance, it is usually a time-consuming task to track down bugs. To reduce the cost on debugging, several approaches have been proposed to localize the fault(s) to facilitate debugging. Intuitively, testing-based fault localization (TBFL), such as dicing and TRANTULA, is quite promising as it can take the advantage of a large set of execution traces at the same time. However, redundant test cases may bias the distribution of the test suite and harm this kind of approaches. Therefore, we suggest that the test suite, which is the input of TBFL, should be reduced before used in TBFL. To evaluate whether and to what extent TBFL can benefit from test suite reduction, we performed an experimental study on two source programs. The experimental results show that, for test suites containing unevenly distributed redundant test cases, performing test suite reduction before applying TBFL may be more advantageous. Dan Hao 0001, Lu Zhang 0023, Hao Zhong 0001, Hong Mei 0001, Jiasu Sun |
ICSM | 4 |
| 2005 | Requirements Guided Dynamic Software ClusteringabstractIn this paper, we propose a requirements guided dynamic approach to address software clustering -which aims at providing the logically meaningful and high-level decompositions of large and complex systems. In our approach, the hierarchical structure of functional requirements are constructed by a text document clustering technique named hierarchical agglomerative clustering (HAC) as a high-level skeleton to facilitate the further decomposition of source code through dynamic analysis. We also perform an experimental study based on a GNU system and present the quantitative and qualitative analysis of the experimental results. Wei Zhao 0006, Lu Zhang 0023, Hong Mei 0001, Jiasu Sun |
ICSM | 3 |
| 2005 | A similarity-aware approach to testing based fault localizationabstractDebugging is a time-consuming task in software development and maintenance. To accelerate this task, several approaches have been proposed to automate fault localization. In particular, testing based fault localization (TBFL), which utilizes the testing information to localize the faults, seem to be very promising. However, the similarity between test cases in the test suite has been ignored in the research on TBFL. In this paper, we investigate this similarity issue and propose a novel approach named similarity-aware fault localization (SAFL), which can calculate the suspicion probability of each statement with little impact by the similarity issue. To address and deal with the similarity between test cases, SAFL applies the theory of fuzzy sets to remove the uneven distribution of the test cases. We also performed an experimental study for two real-world programs at different size levels to evaluate SAFL together with another two approaches to TBFL. Experimental results show that SAFL is more effective than the other two approaches when the test suites contain injected redundancy, and SAFL can achieve a competitive result with normal test suites. SAFL can also be more effective than applying test suite reduction to current approaches to TBFL. Dan Hao 0001, Lu Zhang 0023, Wei Zhao 0006, Hong Mei 0001, Jiasu Sun |
ASE | 5 |
| 2005 | An Approach to Constructing Feature Models Based on Requirements ClusteringabstractFeature models have been widely adopted in software reuse to organize the requirements of a set of similar applications in a software domain/product line. However, in most feature-oriented methods, the construction of feature models heavily depends on the domain analysts' personal understanding, and the work of constructing feature models from the original requirements of sample applications is often tedious and ineffective. This paper proposes a semiautomatic approach to constructing feature models based on requirements clustering, which automates the activities of feature identification, organization and variability modeling to a great extent. The underlying idea of this approach is to analyze the relationships between individual requirements and cluster tight-related requirements into features. With the automatic support of this approach, good quality feature models can be constructed in a more effective way. A case study is also provided to show the feasibility of this approach. Wei Zhang 0004, Haiyan Zhao 0001, Hong Mei 0001 |
RE | 4 |
| 2005 | A Feature-Oriented Approach to Modeling Requirements DependenciesabstractThere are many researches on requirements dependencies. However, most of them limit their views to the requirements phase of software development, few focus on the roles of requirements dependencies in the solution space of software. This paper presents a feature-oriented approach to modeling requirements dependencies. A feature is a set of tight-related requirements from user/customer-views. The feature-orientation provides a modular way to organize requirements and a proper granularity to analyze requirements dependencies. In this approach, we care about not only static feature dependencies (i. e. refinements and constraints), but also feature dependencies at the specification level (namely influences) and, furthermore, dynamic feature dependencies (namely interactions). Moreover, we also explore the underlying connections between these four kinds of feature dependency. By this way, this approach gives a more complete view of how requirements dependencies influence the whole process of software development. Wei Zhang 0004, Hong Mei 0001, Haiyan Zhao 0001 |
RE | 2 |
| 2005 | Towards a unified formal model for supporting mechanisms of dynamic component updateabstractThe continuous requirements of evolving a delivered software system and the rising cost of shutting down a running software system are forcing researchers and practitioners to find ways of updating software as it runs. Dynamic update is a kind of software evolution that updates a running program without interruption. This paper covers the fundamental issues of the mechanisms of dynamic update theoretically. Based on a similarity analysis of many typical approaches to dynamic update during the past decades, we propose a unified formal model (namely, Dynamic Update Connector) to specify mechanisms of updating an architectural component, and reason about its properties. The model borrows the concept of connectors from software architecture community and is specified using process algebra CSP. We also demonstrate the applications of our DUC model. Junrong Shen, Gang Huang 0001, Wenpin Jiao, Yanchun Sun, Hong Mei 0001 |
ESEC/SIGSOFT FSE | 6 |
| 2004 | Quality Attribute Scenario Based Architectural Modeling for Self-Adaptation Supported by Architecture-Based Reflective MiddlewareabstractReflective middleware is proposed for guaranteeing desired qualities of middleware based systems which reside in the extremely open and dynamic Internet. Current researches and practices focus on how to monitor and change the whole system through reflective mechanisms provided by middleware. However, they put little attention on why, when and what to monitor and change because it is very hard for middleware to collect enough knowledge which is usually specific to the whole system. Being an important artifact in software development, software architecture records plentiful design information, especially the considerations for quality attributes of the target system. It is a natural idea to provide reflective middleware with enough knowledge via software architecture. This paper presents a demonstration of the idea. In this demonstration, the self-adaptations can be analyzed in a quality attribute scenario based way and specified by an extended architecture description language. Such knowledge prescribed at the design phase can be used directly by an architecture based reflective middleware which then automatically adapts itself at runtime. Yali Zhu, Gang Huang 0001, Hong Mei 0001 |
APSEC | 3 |
| 2004 | Towards Autonomic Computing Middleware via ReflectionabstractAutonomic computing middleware is a promising way to enable middleware based systems to cope with the rapid and continuous changes in the era of Internet. Technically, there have been three fundamental and challenging capabilities to an autonomic computing middleware, including how to monitor, reason and control middleware platform and applications. This position paper presents a reflection-based approach to autonomic computing middleware, which shows the philosophy that autonomic computing should focus on how to reason while reflective computing supports how to monitor and control. In this approach, the states and behaviors of middleware-based systems can be observed and changed through reflective mechanisms embedded in middleware platform at runtime. On the basis of reflection, some autonomic computing facilities could be constructed to reason and decide when and what to change. The approach is demonstrated on a reflective J2EE application server, which can automatically optimize itself in the standard J2EE benchmark testing Gang Huang 0001, Hong Mei 0001, Zizhan Zheng, Gang Fan |
COMPSAC | 3 |
| 2004 | A Propositional Logic-Based Method for Verification of Feature Models
Wei Zhang 0004, Haiyan Zhao 0001, Hong Mei 0001 |
ICFEM | 3 |
| 2004 | An Experimental Study of Two Graph Analysis Based Component Capture Methods for Object-Oriented SystemsabstractThe problem of how to partition a software system and thus capture its overall architecture and its constituent components has become a research focus in the community of software engineering. In the literature, many methods have been proposed for solving this problem. For example, both top-down and bottom-up methods based on analyzing the graph representation of software systems have been proposed. We report an experimental study of a top-down method and a bottom-up method. In our study, we focus on the capability of component capture, the capability of architecture recovery and the time complexity for the two methods. According to our results on two real world systems, the studied bottom-up method is superior to the studied top-down method in both aspects, although the time complexity of the bottom-up method remains a big concern for large systems. Renkuan Jiang, Lu Zhang 0023, Hong Mei 0001, Jiasu Sun |
ICSM | 4 |
| 2004 | Alternative Scalable Algorithms for Lattice-Based Feature LocationabstractConsidering the scalability of using formal concept analysis to locate features in source code, we present a set of alternative straightforward algorithms to achieve the same objectives. A preliminary experiment indicates that the alternative algorithms are more scalable to deal with the large numbers of data to some extent. Wei Zhao 0006, Lu Zhang 0023, Dan Hao 0001, Hong Mei 0001, Jiasu Sun |
ICSM | 4 |
| 2004 | ABC: Supporting Software Architectures in the Whole Lifecycle
Hong Mei 0001 |
SEFM | 1 |
| 2004 | Runtime software architecture based on reflective middleware
Gang Huang 0001, Hong Mei 0001, Fuqing Yang |
Sci. China Ser. F Inf. Sci. | 2 |
| 2004 | Automated adaptations to dynamic software architectures by using autonomous agents
Wenpin Jiao, Hong Mei 0001 |
Eng. Appl. Artif. Intell. | 2 |
| 2003 | A Feature Oriented Approach to Modeling and Reusing Requirements of Software Product LinesabstractGetting a proper set of reusable requirements is an important milestone for successful software product line (SPL) practice. But modeling SPL requirements is usually more complex and difficult than modeling requirements for individual applications because it often involves systematically exploring commonality and variation across a set of applications. This paper presents a feature-oriented approach to modeling and reusing SPL requirements. A framework of the feature model is first proposed from five aspects, namely, basic structure, variation representation mechanism, variation binding time, variation constraint mechanism and quality feature analysis. Then, a customization-based reusing method is suggested, and a feature-oriented domain modeling method (FODM) is presented, including a concrete form of the feature model and a modeling process for it. At the end, a case study of a real domain is used to validate the feature model framework and demonstrate FODM. Hong Mei 0001, Wei Zhang 0004, Fang Gu |
COMPSAC | 1 |
| 2003 | Runtime Software Architecture Based Software Online EvolutionabstractRuntime environment of software are becoming more and more dynamic and changeful, while pervasive computing and Web services further this situation. Software systems are not only becoming larger, more complex, and also more rigid, which make it difficult to evolve software. This paper focuses on online evolution, more exactly, how to make online evolution process convenient and smart, with help of runtime software architecture (RSA). Following issues are discussed in this paper: types of software environment changes, the incarnation of RSA, retrieval and manipulation of RSA, the relation between RSA and the runtime system, and a visual tool to show RSA, and make evolution process more easy and intuitionist. Qianxiang Wang, Gang Huang 0001, Junrong Shen, Hong Mei 0001, Fuqing Yang |
COMPSAC | 4 |
| 2003 | Eliminating Mismatching Connections between Components by Adopting an Agent-Based ApproachabstractDuring component composition, mismatches may occur on different aspects, such as interaction behaviors between components and features imposed by architectural styles. In this paper, we studied architectural mismatches related to connecting components using a specified architectural style, which implies that the connections supported by components may be incompatible with the connection supposed by the architectural style. First, we formalized components involved in different architectural styles in the pi-calculus. Next, we studied the formal foundation of the interconnectivity between components to exploit under what situation two heterogeneous components are possible to interconnect together properly. Then, we described an adaptor-based solution for composing components supporting different architectural styles by introducing the notation of negative component. In the end of this paper, we presented an agent-based implementation for the solution, in which agents are used to wrap components and can automatically transform messages specific to one architectural style into messages specific to another style by using architectural style-specific knowledge that agents possess. Wenpin Jiao, Hong Mei 0001 |
ICTAI | 2 |
| 2002 | An Architecture-Based Approach for Component-Oriented DevelopmentabstractComponent-based reuse is a hopeful solution to the software crisis. Research on software architecture (SA) has revealed a component-based vision of the gross structure of software and provides a top-down approach to direct the component-oriented development process. But the gap between SA design and final implementation prevents it from playing a fundamental role in the process. On the other hand, the component-based software development (CBSD) technology such as Java 2 platform enterprise edition (J2EE) and Common Object Request Broker Architecture (CORBA) provides a feasible bottom-up way to construct systems from standard components, forming an implementation basis for an integrated component-oriented development process. In this paper we propose an architecture-based component composition (ABC) approach, which uses SA model as the blueprint of development and COTS middleware as the run-time platform to support an automated component-oriented development process. Qianxiang Wang, Hong Mei 0001, Fuqing Yang |
COMPSAC | 3 |
| 2002 | ABC/ADL: An ADL Supporting Component Composition
Hong Mei 0001, Qianxiang Wang, Yao-Dong Feng |
ICFEM | 1 |
| 2002 | An Application Server to Support Online EvolutionabstractMost online evolution of an application depends on its runtime environment. This paper addresses how to support online evolution by an application server, which is considered as a third kind of system software, besides OS and DBMS. From the view of requirements, evolutions of software can be divided into four categories: evolutions that do not alter requirements, evolutions that alter functional requirements, evolutions that alter local constraint requirements, and evolutions that alter global constraint requirements. All changes at the requirement level should be mapped to changes at the implementation level. In our approach implementation level entities, such as components and interceptors are responsible for online evolution. Evolutions in implementation level include adding, removing, updating, and reconfiguring the entities. One of the keys to our approach is to carefully distinguish states of components and interceptors, that is, whether they are in a ready, active, executing or evolving state. A well-designed architecture and feasible mechanisms for runtime instance loading are also keys to the solution. Based on this approach, an application server prototype, named PKUAS, has been implemented and is introduced in our paper. Qianxiang Wang, Hong Mei 0001, Fuqing Yang |
ICSM | 3 |
| 2002 | Building enterprise reuse program - A model-based approachabstractReuse is viewed as a realistically effective approach to solving software crisis. For an organization that wants to build a reuse program, technical and non-technical issues must be considered in parallel. In this paper, a model-based approach to building systematic reuse program is presented. Component-based reuse is currently a dominant approach to software reuse. In this approach, building the right reusable component model is the first important step. In order to achieve systematic reuse, a set of component models should be built from different perspectives. Each of these models will give a specific view of the components so as to satisfy different needs of different persons involved in the enterprise reuse program. There already exist some component models for reuse from technical perspectives. But less attention is paid to the reusable components from a non-technical view, especially from the view of process and management. In our approach, a reusable component model—FLP model for reusable component—is introduced. This model describes components from three dimensions (Form, Level, and Presentation) and views components and their relationships from the perspective of process and management. It determines the sphere of reusable components, the time points of reusing components in the development process, and the needed means to present components in terms of the abstraction level, logic granularity and presentation media. Being the basis on which the management and technical decisions are made, our model will be used as the kernel model to initialize and normalize a systematic enterprise reuse program. Hong Mei 0001, Fuqing Yang |
Sci. China Ser. F Inf. Sci. | 1 |
| 2002 | A Model-Based Approach to Object-Oriented Software Metrics
Hong Mei 0001, Tao Xie 0001, Fuqing Yang |
J. Comput. Sci. Technol. | 1 |
| 2002 | A Component-Based Software Configuration Management Model and Its Supporting System
Hong Mei 0001, Lu Zhang 0023, Fuqing Yang |
J. Comput. Sci. Technol. | 1 |
| 2001 | End-to-End Integration Testing in CBSD
Hong Mei 0001 |
COMPSAC | 1 |
| 2001 | JBOORET: an Automated Tool to Recover OO Design and Source ModelsabstractThis paper introduces a reverse engineering tool, JBOORET (Jade Bird Object-Oriented Reverse Engineering Tool). This tool is developed by adopting a parser-based approach to assist the activity of extracting the higher-level design and source models from system artifacts. A conceptual model is formulated as the knowledge representation. Multi-perspective design and source models are recovered by JBOORET based on the comprehensive program information extracted from source code. Its flexible user interface can assist users to browse the detailed information of design and source models by using the selection and compaction mechanism. This paper discusses the design principles and decisions of JBOORET and describes its implementation. Hong Mei 0001, Tao Xie 0001, Fuqing Yang |
COMPSAC | 1 |
| 2001 | A Configuration Management System Supporting Component-Based Software DevelopmentabstractComponent-based software development has been viewed as an emerging paradigm of software development. This paper analyzes the requirements of configuration management in component-based development process. Based on the analysis, a prototype configuration management system is proposed to meet the requirements. An example of using the system is also given. Lu Zhang 0023, Hong Mei 0001, Hong Zhu 0002 |
COMPSAC | 2 |
| 2001 | Software component composition based on ADL and Middleware
Hong Mei 0001, Jichuan Chang, Fuqing Yang |
Sci. China Ser. F Inf. Sci. | 1 |
| 2001 | Reuse-based software production technology
Fuqing Yang, Qianxiang Wang, Hong Mei 0001, Zhaoliang Chen |
Sci. China Ser. F Inf. Sci. | 3 |