VLDB 2026 Research / reviewers in the wild / expert
Shanshan Li 0001
dblp:66/5479-1 · also Shan-shan Li 0001, ShanShan Li 0001
· DBLP profile ↗
94ranked-venue papers
9as first author
42since 2021 · last 2026
0000-0003-0798-974XORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 48 · 2 first-author · 34 since 2021Computer networks · 15 · 4 first-authorSystems, architecture and hardware · 12 · 2 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 11 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 5 · 1 since 2021Artificial intelligence and machine learning · 3 · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Hetrify+: Improving the Verification Efficiency of RISC-V Heterogeneous Programs via Memory Access SpecializationabstractHeterogeneous software systems, which often combine closed-source libraries with exported interfaces, embedded assembly, and components in multiple languages, present significant challenges for formal verification. Our prior work, Hetrify, addressed this by converting RISC-V binaries into semantically equivalent C code, making such programs amenable to verification. However, its unified memory model required frequent dynamic computation of stack addresses, which significantly increased the size of the generated logical formulas, along with high memory usage and longer verification times. To address this, we propose memory access specialization, a static analysis and transformation technique that recovers fixed stack offsets during binary conversion to reduce verification overhead. By replacing symbolic stack accesses with fixed-offset memory references, it eliminates dynamic pointer arithmetic and reduces symbolic encoding complexity. This technique is integrated into Hetrify+, an enhanced verification tool for heterogeneous programs. To validate the effectiveness of our approach, we conduct both formal analysis and extensive empirical evaluation. Formal analysis guarantees the correctness of our method. In our evaluation, Hetrify+ demonstrates the same verification accuracy as the original Hetrify on 100 low-level RISC-V assembly programs, achieving up to 2.5× speedup and 4.9× reduction in memory usage. For 30 large-scale heterogeneous programs that include binary-only components, Hetrify+ maintains a 100% success rate, reducing verification time by 1.9× and memory consumption by 1.2×. These results demonstrate that memory access specialization is key to scaling the verification of heterogeneous programs. Yiwei Li 0006, Liangze Yin, Wei Dong 0006, Shanshan Li 0001, Jin Zhang 0018 |
IEEE Trans. Software Eng. | 5 |
| 2025 | Understanding and Detecting SQL Function Bugs: Using Simple Boundary Arguments to Trigger Hundreds of DBMS BugsabstractBuilt-in SQL functions are crucial in Database Management Systems (DBMSs), supporting various operations and computations across multiple data types. They are essential for querying, data transformation, and aggregation. Despite their importance, the bugs in SQL functions have caused widespread problems in the real world, from system failures to arbitrary code execution. However, the understanding of the bug characteristics is limited. More importantly, conventional function testing methods struggle to generate semantically correct SQL test cases, while DBMS testing efforts are hard to measure built-in SQL functions. Jingzhou Fu, Jie Liang 0006, Zhiyong Wu 0010, Yanyang Zhao, Shanshan Li 0001, Yu Jiang 0001 |
EuroSys | 5 |
| 2025 | Unseen Horizons: Unveiling the Real Capability of LLM Code Generation Beyond the FamiliarabstractRecently, large language models (LLMs) have shown strong potential in code generation tasks. However, there are still gaps before they can be fully applied in actual software development processes. Accurately assessing the code generation capabilities of large language models has become an important basis for evaluating and improving the models. Some existing works have constructed datasets to evaluate the capabilities of these models. However, the current evaluation process may encounter the illusion of “Specialist in Familiarity”, primarily due to three gaps: the exposure of target code, case timeliness, and dependency availability. The fundamental reason for these gaps is that the code in current datasets may have been extensively exposed and exercised during the training phase, and due to the continuous training and development of LLM, their timeliness has been severely compromised. The key to solve the problem is to, as much as possible, evaluate the LLMs using code that they have not encountered before. Thus, the fundamental idea in this paper is to draw on the concept of code obfuscation, changing code at different levels while ensuring the functionality and output. To this end, we build a code-obfuscation based benchmark OBFusEvAL. We first collect 1,354 raw cases from five real-world projects, including function description and code. Then we use three-level strategy (symbol, structure and semantic) to obfuscate descriptions, code and context dependencies. We evaluate four LLMs on Obfu-sevaland compared the effectiveness of different obfuscation strategy. We use official test suites of these projects to evaluate the generated code. The results show that after obfuscation, the average decrease ratio of test pass rate can up to 62.5%. Yuanliang Zhang, Shanshan Li 0001, Zhouyang Jia, Xiangbing Huang, Chaopeng Luo, Zhizheng Zheng, Rulin Xu, Si Zheng 0003, Xiangke Liao |
ICSE | 3 |
| 2025 | MetaCoder: Generating Code from Multiple Perspectives
Zhijie Jiang, Zhouyang Jia, Si Zheng 0003, Yuanliang Zhang, Shanshan Li 0001 |
Internetware | 7 |
| 2025 | μScope: Evaluating storage stack robustness against SSD's latency variation
Linxiao Bai, Shanshan Li 0001, Zhouyang Jia, Yu Jiang 0001, Yuanliang Zhang, Zichen Xu 0001, Bin Lin 0011, Si Zheng 0003, Xiangke Liao |
J. Syst. Archit. | 2 |
| 2025 | Information Diffusion Prediction With Augmented Diffusion Dependency and Multigranularity Temporal InfluenceabstractInformation diffusion prediction plays a pivotal role in the analysis of information propagation across social networks. Many existing methods rely on learning social homophily solely from users’ social connections as a single diffusion dependency to drive information diffusion. Moreover, these approaches often capture temporal influence from cascades within discrete time intervals, which might be inadequate in describing complex diffusion processes and can limit prediction performance. To overcome these limitations, we propose a novel approach with augmented diffusion dependency and multigranularity temporal influence (ADDMT) for information diffusion prediction. Our method strategically leverages the interactive regularity implicit in historical diffusion cascades. This information is integrated with social homophily through a cross-graph convolution network (GCN) to augment the diffusion dependency among users. Furthermore, we introduce multiple overlapping sliding windows to partition diffusion cascades. Adjacent cascade slices exhibit 50% overlap, enhancing semantic and structural coherence. In addition, we employ the combination of hypergraph convolution networks (HGCNs) and temporal convolution networks (TCNs) to capture multigranularity temporal influence within cascades. This design enables our model to further discern evolutionary trends and ephemeral fluctuations in users’ preferences across time intervals. The experimental results, obtained from comprehensive evaluations on four realistic datasets, demonstrate the superior performance of our proposed model. In particular, our model surpasses previous state-of-the-art diffusion prediction models, as evidenced by improved metrics such as Hits@K and MAP@K. These results underscore the effectiveness and robustness of ADDMT in predicting information diffusion in social networks. Zekun Tao, Kele Xu, Tao Sun 0005, Kun Qian 0003, Yanru Bai, Shanshan Li 0001 |
IEEE Trans. Comput. Soc. Syst. | 8 |
| 2024 | Who is in Charge here? Understanding How Runtime Configuration Affects Software Along with Variables&ConstantsabstractRuntime misconfiguration can lead to software performance degradation and even cause failure. It is usually caused by invalid parameter values set by users. Developers typically perform sanity checks during the configuration parsing stage to prevent invalid parameter values. However, we discovered that even valid values that pass these checks can also lead to unexpected severe consequences. Our study reveals the underlying reason: the value of runtime configuration parameters may interact with other constants and variables when propagated and used, altering its original effect on software behavior. Consequently, parameter values may no longer be valid when encountering complex runtime environments and workloads. Therefore, it is extremely challenging for users to properly configure the software before it starts running. This paper presents the first comprehensive and in-depth study (to the best of our knowledge) on how configuration affects software at runtime through the interaction with constants, and variables (PCV Interaction). Parameter values represent user intentions, constants embody developer knowledge, and variables are typically defined by the runtime environment and workload. This interaction essentially illustrates how different roles jointly determine software behavior. In this regard, we studied 705 configuration parameters from 10 large-scale Software systems. We reveal that a large portion of configuration parameters interact with constants/variables after parsing. We analyzed the interaction patterns and their effects on software runtime behavior. Furthermore, we highlighted the risks of PCV interaction and identified potential issues behind specific interaction patterns. Our findings expose the “double edge” of PCV interaction, providing new insights and motivating the development of new automated techniques to help users configure software appropriately and assist developers in designing better configurations. Chaopeng Luo, Yuanliang Zhang, Haochen He, Zhouyang Jia, Teng Wang 0004, Shulin Zhou, Si Zheng 0003, Shanshan Li 0001 |
APSEC | 8 |
| 2024 | At Which Training Stage Does Code Data Help LLMs Reasoning?abstractLarge Language models (LLMs) have exhibited remarkable reasoning capabilities and become the foundation of language technologies. Inspired by the great success of code data in training LLMs, we naturally wonder at which training stage introducing code data can really help LLMs reasoning. To this end, this paper systematically explores the impact of code data on LLMs at different stages. Concretely, we introduce the code data at the pre-training stage, instruction-tuning stage, and both of them, respectively. Then, the reasoning capability of LLMs is comprehensively and fairly evaluated via six reasoning tasks. We critically analyze the experimental results and provide conclusions with insights. First, pre-training LLMs with the mixture of code and text can significantly enhance LLMs' general reasoning capability almost without negative transfer on other tasks. Besides, at the instruction-tuning stage, code data endows LLMs the task-specific reasoning capability. Moreover, the dynamic mixing strategy of code and text data assists LLMs to learn reasoning capability step-by-step during training. These insights deepen the understanding of LLMs regarding reasoning ability for their application, such as scientific question answering, legal support, etc. Yingwei Ma, Yue Yu 0001, Yuanliang Zhang, Yu Jiang 0001, Shanshan Li 0001 |
ICLR | 7 |
| 2024 | An Empirical Study of Data Disruption by Ransomware AttacksabstractThe threat of ransomware to the software ecosystem has become increasingly alarming in recent years, raising a demand for large-scale and comprehensive ransomware analysis to help develop more effective countermeasures against unknown attacks. In this paper, we first collect a real-world dataset MarauderMap, consisting of 7,796 active ransomware samples, and analyze their behaviors of disrupting data in victim systems. All samples are executed in isolated testbeds to collect all perspectives of six categories of runtime behaviors, such as API calls, I/O accesses, and network traffic. The total logs volume is up to 1.98 TiB. By assessing collected behaviors, we present six critical findings throughout ransomware attacks' data reconnaissance, data tampering, and data exfiltration phases. Based on our findings, we propose three corresponding mitigation strategies to detect ransomware during each phase. Experimental results show that they can enhance the capability of state-of-the-art anti-ransomware tools. We report a preliminary result of a 41%-69% increase in detection rate with no additional false positives, showing that our insights are helpful. Yiwei Hou, Lihua Guo, Chijin Zhou, Zijing Yin, Shanshan Li 0001, Chengnian Sun, Yu Jiang 0001 |
ICSE | 6 |
| 2024 | ECFuzz: Effective Configuration Fuzzing for Large-Scale SystemsabstractA large-scale system contains a huge configuration space because of its large number of configuration parameters. This leads to a combination explosion among configuration parameters when exploring the configuration space. Existing configuration testing techniques first use fuzzing to generate different configuration parameters, and then directly inject them into the program under test to find configuration-induced bugs. However, they do not fully consider the complexity of large-scale systems, resulting in low testing effectiveness. In this paper, we propose ECFuzz, an effective configuration fuzzer for large-scale systems. Our core approach consists of (i) Multi-dimensional configuration generation strategy. ECFuzz first designs different mutation strategies according to different dependencies and selects multiple configuration parameters from the candidate configuration parameters to effectively generate configuration parameters; (ii) Unit-testing-oriented configuration validation strategy. ECFuzz introduces unit testing into configuration testing techniques to filter out configuration parameters that are unlikely to yield errors before executing system testing, and effectively validate generated configuration parameters. We have conducted extensive experiments in real-world large-scale systems including HCommon, HDFS, HBase, ZooKeeper and Alluxio. Our evaluation shows that ECFuzz is effective in finding configuration-induced crash bugs. Compared with the state-of-the-art configuration testing tools including ConfTest, ConfErr and ConfDiagDetector, ECFuzz finds 60.3--67 more unexpected failures when the same 1000 testcases are injected into the system with an increase of 1.87x--2.63x. Moreover, ECFuzz has exposed 14 previously unknown bugs, and 5 of them have been confirmed. Senyi Li, Keyao Li, Falin Luo, Hong-Fang Yu, Shanshan Li 0001, Xiang Li 0078 |
ICSE | 6 |
| 2024 | Preference-Guided Refactored Tuning for Retrieval Augmented Code GenerationabstractRetrieval-augmented code generation utilizes Large Language Models as the generator and significantly expands their code generation capabilities by providing relevant code, documentation, and more via the retriever. The current approach suffers from two primary limitations: 1) information redundancy. The indiscriminate inclusion of redundant information can result in resource wastage and may misguide generators, affecting their effectiveness and efficiency. 2) preference gap. Due to different optimization objectives, the retriever strives to procure code with higher ground truth similarity, yet this effort does not substantially benefit the generator. The retriever and the generator may prefer different golden code, and this gap in preference results in a suboptimal design. Additionally, differences in parameterization knowledge acquired during pre-training result in varying preferences among different generators. Yun Xiong, Deze Wang, Zhenhan Guan, Zejian Shi, Haofen Wang, Shanshan Li 0001 |
ASE | 7 |
| 2024 | How to Pet a Two-Headed Snake? Solving Cross-Repository Compatibility Issues with HeraabstractMany programming languages and operating system communities maintain software repositories to build their own ecosystems. The repositories often provide management tools to help users using the packages. The tools are often, if not all the times, well-designed to handle intra-repository dependencies without considering inter-repository dependencies. The users, however, often need packages from different repositories, and thus may suffer from compatibility issues. We refer to these issues as Cross-repository Compatibility (CC) issues. Existing works typically focus on a single software repository and are insufficient to detect CC issues. Zhouyang Jia, Shanshan Li 0001, Ying Wang 0038, Jun Ma 0015, Xiaoling Li 0002, Xiangke Liao |
ASE | 3 |
| 2024 | PolyJuice: Detecting Mis-compilation Bugs in Tensor Compilers with Equality Saturation Based RewritingabstractTensor compilers are essential for deploying deep learning applications across various hardware platforms. While powerful, they are inherently complex and present significant challenges in ensuring correctness. This paper introduces PolyJuice, an automatic detection tool for identifying mis-compilation bugs in tensor compilers. Its basic idea is to construct semantically-equivalent computation graphs to validate the correctness of tensor compilers. The main challenge is to construct equivalent graphs capable of efficiently exploring the diverse optimization logic during compilation. We approach it from two dimensions. First, we propose arithmetic and structural equivalent rewrite rules to modify the dataflow of a tensor program. Second, we design an efficient equality saturation based rewriting framework to identify the most simplified and the most complex equivalent computation graphs for an input graph. After that, the outcome computation graphs have different dataflow and will likely experience different optimization processes during compilation. We applied it to five well-tested industrial tensor compilers, namely PyTorch Inductor, OnnxRuntime, TVM, TensorRT, and XLA, as well as two well-maintained academic tensor compilers, EinNet and Hidet. In total, PolyJuice detected 84 non-crash mis-compilation bugs, out of which 49 were confirmed with 20 fixed. Chijin Zhou, Bingzhou Qian, Gwihwan Go, Quan Zhang 0003, Shanshan Li 0001, Yu Jiang 0001 |
Proc. ACM Program. Lang. | 5 |
| 2024 | EVMFuzz: Differential fuzz testing of Ethereum virtual machineabstractAbstract The vulnerabilities in Ethereum virtual machine (EVM) may lead to serious problems for the Ethereum ecosystem. With lots of techniques being developed for the validation of smart contracts, the testing of EVM has not been well‐studied. In this paper, we propose EVMFuzz, the first that uses the differential fuzzing technique to detect vulnerabilities in EVM. The core idea of EVMFuzz is to continuously generate seed contracts for different EVMs' execution, so as to find as many inconsistencies among execution results as possible, and eventually discover vulnerabilities with output cross‐referencing. First, we present the evaluation metric for the internal inconsistency indicator. Then, we construct seed contracts via predefined mutators and employ a dynamic priority scheduling algorithm to guide seed contract selection and maximize the inconsistency. Finally, we leverage different EVMs as cross‐referencing oracles avoiding manual checking. For evaluation, we selected four widely used EVMs for the test, conducted large‐scale mutation on 36,295 real‐world smart contracts, and generated 253,153 smart contracts as initial seeds. Accompanied by manual root cause analysis, we found five previously unknown security bugs and all had been included in the common vulnerabilities and exposures (CVE) database. Fuchen Ma, Heyuan Shi, Shanshan Li 0001, Xiangke Liao |
J. Softw. Evol. Process. | 6 |
| 2024 | SIAT: Document-level Event Extraction via Spatiality-Augmented Interaction Model with Adaptive ThresholdingabstractDocument-level event extraction endeavors to automatically extract structural events from a given document. Many existing approaches focus on modeling entity interactions and decoding these interactions into events, assigning each entity as an event argument. However, these approaches encounter two primary limitations: they exclusively capture semantic dependencies to model entity interactions, overlooking the indication of the spatial distribution features of entities; they decode interactions imprecisely with a hard binary-classification boundary, potentially failing to calibrate micro differences in interactions. To overcome these limitations, we introduce a novel approach termed the S patiality-augmented I nteraction Model with A daptive T hresholding (SIAT). Our method addresses the first limitation by calculating the relative position encoding of entities to represent spatial interaction features. These features are then integrated with multi-granularity semantic interactions, enhancing the modeling of entity interactions for each entity pair. Furthermore, we introduce an adaptive event decoding mechanism, which establishes a more flexible decision boundary for different entity interactions. Additionally, an adaptive loss function for threshold learning is designed to further refine the model. Experimental results demonstrate that our proposed method achieves competitive performance compared to state-of-the-art methods on two public event extraction datasets while maintaining considerable training efficiency. Zekun Tao, Zhiliang Tian, Kele Xu, Shanshan Li 0001, Yanru Bai, Da Xie 0003 |
ACM Trans. Asian Low Resour. Lang. Inf. Process. | 6 |
| 2024 | Towards More Precise Coincidental Correctness Detection With Deep Semantic LearningabstractCoincidental correctness (CC) is a situation during the execution of a test case, the buggy entity is executed, but the program behaves correctly as expected. Many automated fault localization (FL) techniques use runtime information to discover the underlying connection between the executed buggy entity and the failing test result. The existence of CC will weaken such connection, mislead the FL algorithms to build inaccurate models, and consequently, decrease the localization accuracy. To alleviate the adverse effect of CC on FL, CC detection techniques have been proposed to identify the possible CC tests via heuristic or machine learning algorithms. However, their performance on precision is not satisfactory since they overestimate the possible CC tests and are insufficient in learning the deep semantic features. In this work, we propose a novelTriplet network-basedCoincidentalCorrectness detection technique (i.e.,TriCoCo) to overcome the limitations of the prior works.TriCoConarrows the possible CC tests by designing three features to identify genuine passing tests. Instead of using all tests as inputs by existing techniques,TriCoCotakes the identified genuine passing tests and failing ones to train a triplet model that can evaluate their relative distance. Finally,TriCoCoinfers the probability of being a CC test of the test in the rest of the passing tests by using the trained triplet model. We conduct large-scale experiments to evaluateTriCoCobased on the widely-used Defects4J benchmark. The results demonstrate thatTriCoCocan improve not only the precision of CC detection but also the effectiveness of FL techniques,e.g.,the precision ofTriCoCois 80.33$\%$on average, andTriCoCoboosts the efficacy of DStar by 18$\%$–74$\%$in terms of MFR metric when compared to seven state-of-the-art CC detection baselines. Huan Xie 0002, Yan Lei 0005, Meng Yan 0001, Shanshan Li 0001, Xiaoguang Mao, Yue Yu 0001, David Lo 0001 |
IEEE Trans. Software Eng. | 4 |
| 2023 | On the Reliability of Coverage Data for Fault LocalizationabstractThe high quality of input data serves as the foundation for various tasks. Inaccurate data may decrease the effectiveness of elaborate algorithms and significantly impact the output. This also applies to fault localization, as accurate and reliable data is crucial for effective fault localization techniques. Many fault localization techniques analyze the coverage information for detecting bug positions. However, the source coverage data suffers from various problems, such as the imbalanced data and the coincidental correctness. These problems make the source coverage data unreliable for fault localization. To mitigate the potential adverse effect of these unreliable factors, we propose Orlando, a cOveRage-based decoupLing And recoNstructingData apprOach for fault localization. Or-landooptimizes the coverage data by synthesizing passing coverage with less coincidental correctness and failing coverage with more balanced data. The reconstructed data can provide more reliable source data for fault localization. We evaluate Orlando using the widely used Defects4J benchmark and demonstrate its effectiveness in improving two spectrum-based and two deep learning-based methods. Furthermore, Orlando outperforms state-of-the-art data optimization approaches in fault localization. Huan Xie 0002, Maojin Li, Yan Lei 0005, Shanshan Li 0001, Xiaoguang Mao, Yue Yu 0001 |
APSEC | 5 |
| 2023 | WMWatcher: Preventing Workload-Related Misconfigurations in Production EnvironmentabstractAmong the misconfigurations with increasing preva-lence and severity in recent years, workload-related misconfigu-rations, i.e. misconfigurations under certain workloads with valid configuration values, account for a significant portion. Since the runtime constraints of configuration parameters are influenced by workloads, piror researches could not handle workload-related misconfigurations at present. To solve the situation mentioned above, we conducted an empirical study on how configuration variables interact with other program variables, and summarized five handling type of the interactions happen in branch statements. Based on the study, we proposed WMWatcher to help system admins to prevent workload-related misconfigurations in production environment. WMWatcher infers the runtime constraints of configuration parameters under certain workload by instrumenting probes in source code and monitoring the corresponding status. The experiments on seven open-source software systems proved that WMWatcher could automatically instrument proper probes while bringing only 2.33% extra runtime overhead at most. And the case study demonstrates the effectiveness of WMWatcher in preventing workload-related misconfigurations in real-world scenarios. Shulin Zhou, Zhijie Jiang, Shanshan Li 0001, Xiaodong Liu 0004, Zhouyang Jia, Yuanliang Zhang, Jun Ma 0015, Haibo Mi |
APSEC | 3 |
| 2023 | One Adapter for All Programming Languages? Adapter Tuning for Code Search and SummarizationabstractAs pre-trained models automate many code intel-ligence tasks, a widely used paradigm is to fine-tune a model on the task dataset for each programming language. A recent study reported that multilingual fine-tuning benefits a range of tasks and models. However, we find that multilingual fine-tuning leads to performance degradation on recent models UniXcoder and CodeT5. To alleviate the potentially catastrophic forgetting issue in multilingual models, we fix all pre-trained model parameters, insert the parameter-efficient structure adapter, and fine-tune it. Updating only 0.6% of the overall parameters compared to full-model fine-tuning for each programming language, adapter tuning yields consistent improvements on code search and sum-marization tasks, achieving state-of-the-art results. In addition, we experimentally show its effectiveness in cross-lingual and low-resource scenarios. Multilingual fine-tuning with 200 samples per programming language approaches the results fine-tuned with the entire dataset on code summarization. Our experiments on three probing tasks show that adapter tuning significantly outperforms full-model fine-tuning and effectively overcomes catastrophic forgetting. Deze Wang, Boxing Chen, Shanshan Li 0001, Shaoliang Peng, Wei Dong 0006, Xiangke Liao |
ICSE | 3 |
| 2023 | Understanding and Detecting On-The-Fly Configuration BugsabstractSoftware systems introduce an increasing number of configuration options to provide flexibility, and support updating the options on the fly to provide persistent services. This mechanism, however, may affect the system reliability, leading to unexpected results like software crashes or functional errors. In this paper, we refer to the bugs caused by on-the-fly configuration updates as on-the-fly configuration bugs, or OCBugs for short. In this paper, we conducted the first in-depth study on 75 real-world OCBugs from 5 widely used systems to understand the symptoms, root causes, and triggering conditions of OCBugs. Based on our study, we designed and implemented Parachute, an automated testing framework to detect OCBugs. Our key insight is that the value of one configuration option, either loaded at the startup phase or updated on the fly, should have the same effects on the target program. Parachute generates tests for on-the-fly configuration updates by mutating the existing tests and conducts differential analysis to identify OCBugs. We evaluated Parachute on 7 real-world software systems. The results show that Parachute detected 75% (42/56) of the known OCBugs, and reported 13 unknown bugs, 11 of which have been confirmed or fixed by developers until the time of writing. Teng Wang 0004, Zhouyang Jia, Shanshan Li 0001, Si Zheng 0003, Yue Yu 0001, Erci Xu, Shaoliang Peng, Xiangke Liao |
ICSE | 3 |
| 2023 | Towards Better Multilingual Code Search through Cross-Lingual Contrastive LearningabstractRecent advances in deep learning have significantly improved the understanding of source code by leveraging large amounts of open-source software data. Thanks to the larger amount of data, code representation models trained with multilingual datasets show superior performance to monolingual models and attract much more attention. However, the entangled source code from various programming languages makes multilingual models hard to differentiate language-specific textual semantics or syntactic structures, which significantly increases the difficulty of model learning from multilingual datasets directly. On the other hand, for a given problem, developers are likely to choose similar identifiers, even if coding in different languages. However, the presence of similar identifiers in multilingual code snippets does not mean that they implement the same functionality, which may misdirect models to overemphasize these unreliable signals and ignore the semantic information of multilingual code. To tackle the above issues, we propose LAMCode, a language-aware multilingual code understanding model. Specifically, we propose a simple yet effective method to perceive linguistic information by injecting language-specific viewer into the language models. Furthermore, we introduce a cross-lingual contrastive learning method by generating more similar training instances but with fewer overlapping features. This method prevents the models from over-relying on similar identifiers across languages. We conduct extensive experiments to evaluate the effectiveness of our approach on a large-scale multilingual dataset. The experimental results show that our approach significantly outperforms the state-of-the-art methods. Xiangbing Huang, Yingwei Ma, Haifang Zhou, Zhijie Jiang, Yuanliang Zhang, Teng Wang 0004, Shanshan Li 0001 |
Internetware | 7 |
| 2023 | A Two-Stage Framework for Ambiguous Classification in Software EngineeringabstractClassification tasks are prevalent and play a crucial role in the field of software engineering. However, when two classes exhibit similar features at the class level, the classification model is prone to misclassification, which we refer to as ambiguous classification, and the corresponding classes as ambiguous classes. Ambiguous classification may impact the security and reliability of software engineering classification systems.To correct ambiguous classification, we propose a two-stage framework. Our key insight is to combine two different classification models and utilize their complementary knowledge to maximize the classification ability of the two-stage framework. Specifically, we identify ambiguous classes according to the confusion matrix of the original model. Then, we construct a two-stage model, where the first stage utilizes the original model and the second stage utilizes a different model trained on the same dataset. The second-stage model is responsible for reclassifying the samples that are predicted as ambiguous classes by the first-stage model. We evaluate our method on two software engineering tasks. Experimental results indicate that our method can effectively correct ambiguous classification and achieve a relative improvement of 19.8% in F1-score for ambiguous classes. Yan Lei 0005, Shanshan Li 0001, Haifang Zhou, Yue Yu 0001, Zhouyang Jia, Yingwei Ma, Teng Wang 0004 |
ISSRE | 3 |
| 2023 | CoopHance: Cooperative Enhancement for Robustness of Deep Learning SystemsabstractAdversarial attacks have been a threat to Deep Learning (DL) systems to be reckoned with. By adding human-imperceptible perturbation to benign inputs, adversarial attacks can cause the incorrect behavior of DL systems. Considering the popularity of DL systems in the industry, it is critical and urgent for developers to enhance the robustness of DL systems against adversarial attacks. Quan Zhang 0003, Yongqiang Tian 0001, Shanshan Li 0001, Chengnian Sun, Yu Jiang 0001, Jia-Guang Sun 0001 |
ISSTA | 4 |
| 2023 | Improving Code Search with Multi-Modal Momentum Contrastive LearningabstractContrastive learning has recently been applied to enhancing the BERT-based pre-trained models for code search. However, the existing end-to-end training mechanism cannot sufficiently utilize the pre-trained models due to the limitations on the number and variety of negative samples. In this paper, we propose MoCoCS, a multi-modal momentum contrastive learning method for code search, to improve the representations of query and code by constructing large-scale multi-modal negative samples. MoCoCS increases the number and the variety of negative samples through two optimizations: integrating multi-batch negative samples and constructing multi-modal negative samples. We first build momentum contrasts for query and code, which enables the construction of large-scale negative samples out of a mini-batch. Then, to incorporate multi-modal code information, we build multi-modal momentum contrasts by encoding the abstract syntax tree and the data flow graph with a momentum encoder. Experiments on CodeSearchNet with six programming languages demonstrate that our method can further improve the effectiveness of pre-trained models for code search. Zejian Shi, Yun Xiong, Yao Zhang 0009, Zhijie Jiang, Jinjing Zhao, Shanshan Li 0001 |
ICPC | 7 |
| 2023 | ConfTainter: Static Taint Analysis For Configuration OptionsabstractThe prevalence and severity of software configuration-induced issues have driven the design and development of a number of detection and diagnosis techniques. Many of these techniques need to perform static taint analysis on configuration-related variables to analyze the data flow, control flow, and execution paths given by configuration options. However, existing taint analysis or static slicer tools are not suitable for configuration analysis due to the complex effects of configuration on program behaviors. In this experience paper, we conducted an empirical study on the propagation policy of configuration options. We concluded four rules of how configurations affect program behaviors, among which implicit data-flow and control-flow propagation are often ignored by existing tools. We report our experience designing and implementing a taint analysis infrastructure for configurations, ConfTainter. It can support various kinds of configuration analysis, e.g., explicit or implicit analysis for data or control flow. Based on the infrastructure, researchers and developers can easily implement analysis techniques for different configuration-related targets, e.g., misconfiguration detection. We evaluated the effectiveness of ConfTainter on 5 popular open-source systems. The result shows that the accuracy rate of data- and control-flow analysis is 96.1% and 97.7%, and the recall rate is 94.2% and 95.5%, respectively. We also apply ConfTainter to two types of configuration-related tasks: misconfiguration detection and configuration-related bug detection. The result shows that ConfTainter is highly applicable for configuration-related tasks with a few lines of code. Teng Wang 0004, Haochen He, Xiaodong Liu 0004, Shanshan Li 0001, Zhouyang Jia, Yu Jiang 0001, Qing Liao 0001, Wang Li 0003 |
ASE | 4 |
| 2023 | Automatic Code Annotation Generation Based on Heterogeneous Graph StructureabstractAutomatic code annotation generation aims to generate readable annotations that describe the functionality of source code, which may facilitate software developers and programmers. Previous methods follow the encoder-decoder structures where the encoders are based on the abstract syntax trees (ASTs) to encode syntactic structures of code fragments. However, the AST alone cannot fully express complicated control structures, data flows, or dependencies of source code, leading to sub-optimal annotations. On the other hand, a functionality can be implemented in various ways with possibly different structures and token names. Most methods treat code fragments independently and do not exploit these similarities among code fragments. In this paper, we present HANCode2Seq, an automatic code annotation generation method by utilizing the code heterogeneous representation graph. Specifically, we construct the heterogeneous graph by combining multiple code induced graphs, including abstract syntax trees, control flow graphs, data flow graphs, and program dependency graphs. Then a heterogeneous graph attention network is applied to extract the comprehensive semantic meanings and syntactic structures of the source code fragments. Furthermore, we present a novel adaptive code similarity graph with code fragments being nodes. The representation of a code fragment is enhanced by aggregating information from other similar fragments on the graph, which may reduce the ambiguity of the code. The experimental results on real datasets show that our proposed model outperforms other baselines and produces more fluent and readable code annotations. Zhijie Jiang, Haixu Xiong, Yingwei Ma, Yao Zhang 0009, Yun Xiong, Shanshan Li 0001 |
SANER | 7 |
| 2023 | MulCS: Towards a Unified Deep Representation for Multilingual Code SearchabstractCode search aims to search for relevant code snippets through queries, which has become an essential requirement to assist programmers in software development. With the availability of large and rapidly growing source code repositories covering various languages, multilingual code search can leverage more training data to learn complementary information across languages. Contrastive learning can naturally understand the similarity between functionally equivalent code across different languages by narrowing the distance between objects with the same function while keeping dissimilar objects further apart. Some works exist addressing monolingual code search problems with contrastive learning, however, they mainly exploit every specific programming language’s textual semantics or syntactic structures for code representation. Due to the high diversity of different languages in terms of syntax, format, and structure, these methods limit the performance of contrastive learning in multilingual training. To bridge this gap, we propose a unified semantic graph representation approach toward multilingual code search called MulCS. Specifically, we first design a general semantic graph construction strategy across different languages by Intermediate Representation (IR). Furthermore, we introduce the contrastive learning module integrated into a gated graph neural network (GGNN) to enhance query-multilingual code matching. The extensive experiments on three representative languages illustrate that our method outperforms state-of-the-art models by 10.7% to 77.5% in terms of MRR on average. Yingwei Ma, Yue Yu 0001, Shanshan Li 0001, Zhouyang Jia, Jun Ma 0015, Rulin Xu, Wei Dong 0006, Xiangke Liao |
SANER | 3 |
| 2023 | Towards Better Semantics Exploration for Browser FuzzingabstractWeb browsers exhibit rich semantics that enable a plethora of web-based functionalities. However, these intricate semantics present significant challenges for the implementation and testing of browsers. For example, fuzzing, a widely adopted testing technique, typically relies on handwritten context-free grammars (CFGs) for automatically generating inputs. However, these CFGs fall short in adequately modeling the complex semantics of browsers, resulting in generated inputs that cover only a portion of the semantics and are prone to semantic errors. In this paper, we present SaGe, an automated method that enhances browser fuzzing through the use of production-context sensitive grammars (PCSGs) incorporating semantic information. Our approach begins by extracting a rudimentary CFG from W3C standards and iteratively enhancing it to create a PCSG. The resulting PCSG enables our fuzzer to generate inputs that explore a broader range of browser semantics with a higher proportion of semantically-correct inputs. To evaluate the efficacy of SaGe, we conducted 24-hour fuzzing campaigns on mainstream browsers, including Chrome, Safari, and Firefox. Our approach demonstrated better performance compared to existing browser fuzzers, with a 6.03%-277.80% improvement in edge coverage, a 3.56%-161.71% boost in semantic correctness rate, twice the number of bugs discovered. Moreover, we identified 62 bugs across the three browsers, with 40 confirmed and 10 assigned CVEs. Chijin Zhou, Quan Zhang 0003, Lihua Guo, Yu Jiang 0001, Qing Liao 0001, Zhiyong Wu 0010, Shanshan Li 0001, Bin Gu 0006 |
Proc. ACM Program. Lang. | 8 |
| 2023 | When Database Meets New Storage Devices: Understanding and Exposing Performance Mismatches via ConfigurationsabstractNVMe SSD hugely boosts the I/O speed, with up to GB/s throughput and microsecond-level latency. Unfortunately, DBMS users can often find their high-performanced storage devices tend to deliver less-than-expected or even worse performance when compared to their traditional peers. While many works focus on proposing new DBMS designs to fully exploit NVMe SSDs, few systematically study the symptoms, root causes and possible detection methods of such performance mismatches on existing databases. In this paper, we start with an empirical study where we systematically expose and analyze the performance mismatches on six popular databases via controlled configuration tuning. From the study, we find that all six databases can suffer from performance mismatches. Moreover, we conclude that the root causes can be categorized as databases' unawareness of new storage devices characteristics in I/O size, I/O parallelism and I/O sequentiality. We report 17 mismatches to developers and 15 are confirmed. Additionally, we realize testing all configuration knobs yields low efficiency. Therefore, we propose a fast performance mismatch detection framework and evaluation shows that our framework brings two orders of magnitude speedup than baseline without sacrificing effectiveness. Haochen He, Erci Xu, Shanshan Li 0001, Zhouyang Jia, Si Zheng 0003, Yue Yu 0001, Jun Ma 0015, Xiangke Liao |
Proc. VLDB Endow. | 3 |
| 2023 | deGraphCS: Embedding Variable-based Flow Graph for Neural Code SearchabstractWith the rapid increase of public code repositories, developers maintain a great desire to retrieve precise code snippets by using natural language. Despite existing deep learning-based approaches that provide end-to-end solutions (i.e., accept natural language as queries and show related code fragments), the performance of code search in the large-scale repositories is still low in accuracy because of the code representation (e.g., AST) and modeling (e.g., directly fusing features in the attention stage). In this paper, we propose a novel learnable de ep G raph for C ode S earch (called deGraphCS ) to transfer source code into variable-based flow graphs based on an intermediate representation technique, which can model code semantics more precisely than directly processing the code as text or using the syntax tree representation. Furthermore, we propose a graph optimization mechanism to refine the code representation and apply an improved gated graph neural network to model variable-based flow graphs. To evaluate the effectiveness of deGraphCS , we collect a large-scale dataset from GitHub containing 41,152 code snippets written in the C language and reproduce several typical deep code search methods for comparison. The experimental results show that deGraphCS can achieve state-of-the-art performance and accurately retrieve code snippets satisfying the needs of the users. Yue Yu 0001, Shanshan Li 0001, Xin Xia 0001, Mingyang Geng, Linxiao Bai, Wei Dong 0006, Xiangke Liao |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2022 | Multi-Intention-Aware Configuration Selection for Performance TuningabstractAutomatic configuration tuning helps users who intend to improve software performance. However, the auto-tuners are limited by the huge configuration search space. More importantly, they focus only on performance improvement while being unaware of other important user intentions (e.g., reliability, security). To reduce the search space, researchers mainly focus on pre-selecting performance-related parameters which requires a heavy stage of dynamically running under different configurations to build performance models. Given that other important user intentions are not paid attention to, we focus on guiding users in pre-selecting performance-related parameters in general while warning about side-effects on non-performance intentions. We find that the configuration document often, if it does not always, contains rich information about the parameters' relationship with diverse user intentions, but documents might also be long and domain-specific. Haochen He, Zhouyang Jia, Shanshan Li 0001, Yue Yu 0001, Chenglong Zhou, Qing Liao 0001, Ji Wang 0001, Xiangke Liao |
ICSE | 3 |
| 2022 | Bridging Pre-trained Models and Downstream Tasks for Source Code UnderstandingabstractWith the great success of pre-trained models, the pretrain-then-finetune paradigm has been widely adopted on downstream tasks for source code understanding. However, compared to costly training a large-scale model from scratch, how to effectively adapt pre-trained models to a new task has not been fully explored. In this paper, we propose an approach to bridge pre-trained models and code-related tasks. We exploit semantic-preserving transformation to enrich downstream data diversity, and help pre-trained models learn semantic features invariant to these semantically equivalent transformations. Further, we introduce curriculum learning to organize the transformed data in an easy-to-hard manner to fine-tune existing pre-trained models. Deze Wang, Zhouyang Jia, Shanshan Li 0001, Yue Yu 0001, Yun Xiong, Wei Dong 0006, Xiangke Liao |
ICSE | 3 |
| 2022 | Cross-Modal Contrastive Learning for Code SearchabstractCode search aims to retrieve code snippets from natural language queries, which serves as a core technology to improve development efficiency. Previous approaches have achieved promising results to learn code and query representations by using BERT-based pre-trained models which, however, leads to semantic collapse problems, i.e. native representations of code and query clustering in a high similarity interval. In this paper, we propose CrossCS, a cross-modal contrastive learning method for code search, to improve the representations of code and query by explicit fine-grained contrastive objectives. Specifically, we design a novel and effective contrastive objective that considers not only the similarity between modalities, but also the similarity within modalities. To maintain semantic consistency of code snippets with different names of functions and variables, we use data augmentation to rename functions and variables to meaningless tokens, which enables us to add comparisons between code and augmented code within modalities. Moreover, in order to further improve the effectiveness of pre-trained models, we rank candidate code snippets using similarity scores weighted by retrieval scores and classification scores. Comprehensive experiments demonstrate that our method can significantly improve the effectiveness of pre-trained models for code search. Zejian Shi, Yun Xiong, Yao Zhang 0009, Shanshan Li 0001, Yangyong Zhu |
ICSME | 5 |
| 2022 | Opportunities and Challenges in Repeated Revisions to Pull-Requests: An Empirical StudyabstractBackground: The Pull-Request (PR) model is a widespread approach adopted by open source software (OSS) projects to support collaborative software development. However, it is often challenging to continuously evaluate and revise PRs in several iterations of code reviewsinvolving technical and social aspects. Aim: Our objective is twofold: identifying best practices for effective collaboration in continuous PR improvement and uncovering problems that deserve special attention to improve collaboration efficiency and productivity. Method: We conducted a mixed-methods empirical study of repeatedly revised PRs (i.e. those that have undergone a high number of revisions). Historical trace data of five long-lived popular GitHub projects were used for manual investigation of practices for requesting changes to PRs and reasons for nonacceptance of repeatedly revised PRs. Surveys of OSS practitioners were conducted to evaluate the results of manual analysis and to provide additional insights into developers' willingness regarding PR revisions and factors causing avoidable revisions in practice. Results: The main results of our research were as follows: (1) We identified 15 code review practices for requesting changes to PRs, among which practices with respect to explaining the reasoning behind requested changes and tracking the progress of PR review and revision were undervalued by reviewers; (2) While submitters can in general undergo 1-5 rounds of revisions, they are willing to offer more revisions when they are in a friendly community and receive helpful feedback; (3) We revealed 11 factors causing avoidable revisions regarding to reviewers' feedback, code review policy, pre-submission issues, and implementation of new revisions; and (4) Nonacceptance of repeatedly revised PRs was due mainly to inactivity of submitters or reviewers and being superseded for better maintenance. Finally, based on these findings, we proposed recommendations and implications for OSS practitioners and tool designers to facilitate efficient collaboration in PR revisions. Yue Yu 0001, Tao Wang 0006, Shanshan Li 0001, Huaimin Wang 0001 |
Proc. ACM Hum. Comput. Interact. | 4 |
| 2022 | Are You Still Working on This? An Empirical Study on Pull Request AbandonmentabstractThe great success of numerous community-based open source software (OSS) is based on volunteers continuously submitting contributions, but ensuring sustainability is a persistent challenge in OSS communities. Although the motivations behind and barriers to OSS contributors’ joining and retention have been extensively studied, the impacts of, reasons for and solutions to contribution abandonment at the individual level have not been well studied, especially for pull-based development. To bridge this gap, we present an empirical study on pull request abandonment based on a sizable dataset. We manually examine 321 abandoned pull requests on GitHub and then quantify the manual observations by surveying 710 OSS developers. We find that while the lack of integrators’ responsiveness and the lack of contributors’ time and interest remain the main reasons that deter contributors from participation, limitations during the processes of patch updating and consensus reaching can also cause abandonment. We also show the significant impacts of pull request abandonment on project management and maintenance. Moreover, we elucidate the strategies used by project integrators to cope with abandoned pull requests and highlight the need for a practical handover mechanism. We discuss the actionable suggestions and implications for OSS practitioners and tool builders, which can help to upgrade the infrastructure and optimize the mechanisms of OSS communities. Yue Yu 0001, Tao Wang 0006, Gang Yin, Shanshan Li 0001, Huaimin Wang 0001 |
IEEE Trans. Software Eng. | 5 |
| 2021 | DepOwl: Detecting Dependency Bugs to Prevent Compatibility FailuresabstractApplications depend on libraries to avoid reinventing the wheel. Libraries may have incompatible changes during evolving. As a result, applications will suffer from compatibility failures. There has been much research on addressing detecting incompatible changes in libraries, or helping applications co-evolve with the libraries. The existing solution helps the latest application version work well against the latest library version as an afterthought. However, end users have already been suffering from the failures and have to wait for new versions. In this paper, we propose DepOwl, a practical tool helping users prevent compatibility failures. The key idea is to avoid using incompatible versions from the very beginning. We evaluated DepOwl on 38 known compatibility failures from StackOverflow, and DepOwl can prevent 35 of them. We also evaluated DepOwl using the software repository shipped with Ubuntu-19.10. DepOwl detected 77 unknown dependency bugs, which may lead to compatibility failures. Zhouyang Jia, Shanshan Li 0001, Tingting Yu 0001, Erci Xu, Xiaodong Liu 0004, Ji Wang 0001, Xiangke Liao |
ICSE | 2 |
| 2021 | An Evolutionary Study of Configuration Design and Implementation in Cloud SystemsabstractMany techniques were proposed for detecting software misconfigurations in cloud systems and for diagnosing unintended behavior caused by such misconfigurations. Detection and diagnosis are steps in the right direction: misconfigurations cause many costly failures and severe performance issues. But, we argue that continued focus on detection and diagnosis is symptomatic of a more serious problem: configuration design and implementation are not yet first-class software engineering endeavors in cloud systems. Little is known about how and why developers evolve configuration design and implementation, and the challenges that they face in doing so. This paper presents a source-code level study of the evolution of configuration design and implementation in cloud systems. Our goal is to understand the rationale and developer practices for revising initial configuration design/implementation decisions, especially in response to consequences of misconfigurations. To this end, we studied 1178 configuration-related commits from a 2.5 year version-control history of four large-scale, actively-maintained open-source cloud systems (HDFS, HBase, Spark, and Cassandra). We derive new insights into the software configuration engineering process. Our results motivate new techniques for proactively reducing misconfigurations by improving the configuration design and implementation process in cloud systems. We highlight a number of future research directions. Yuanliang Zhang, Haochen He, Owolabi Legunsen, Shanshan Li 0001, Wei Dong 0006, Tianyin Xu |
ICSE | 4 |
| 2021 | Challenges and opportunities: an in-depth empirical study on configuration error injection testingabstractConfiguration error injection testing (CEIT) could systematically evaluate software reliability and diagnosability to runtime configuration errors. This paper explores the challenges and opportunities of applying CEIT technique. We build an extensible, highly-modularized CEIT framework named CeitInspector to experiment with various CEIT techniques. Using CeitInspector, we quantitatively measure the effectiveness and efficiency of CEIT using six mature and widely-used server applications. During this process, we find a fair number of test cases are left unstudied by the prior research work. The injected configuration errors in these cases often indicate latent misconfigurations, which might be ticking time bombs in the system and lead to severe damage. We conduct an in-depth study regarding these cases to reveal the root causes, and explore possible remedies. Finally, we come up with actionable suggestions guided by our study to improve the effectiveness and efficiency of the existing CEIT techniques. Wang Li 0003, Zhouyang Jia, Shanshan Li 0001, Yuanliang Zhang, Teng Wang 0004, Erci Xu, Ji Wang 0001, Xiangke Liao |
ISSTA | 3 |
| 2021 | ConfInLog: Leveraging Software Logs to Infer Configuration ConstraintsabstractMisconfigurations have become the dominant causes of software failures in recent years, drawing tremendous attention for their increasing prevalence and severity. Configuration constraints can preemptively avoid misconfiguration by defining the conditions that configuration options should satisfy. Documentation is the main source of configuration constraints, but it might be incomplete or inconsistent with the source code. In this regard, prior researches have focused on obtaining configuration constraints from software source code through static analysis. However, the difficulty in pointer analysis and context comprehension prevents them from collecting accurate and comprehensive constraints. In this paper, we observed that software logs often contain configuration constraints. We conducted an empirical study and summarized patterns of configuration-related log messages. Guided by the study, we designed and implemented ConfInLog, a static tool to infer configuration constraints from log messages. ConfInLog first selects configuration-related log messages from source code by using the summarized patterns, then infers constraints from log messages based on the summarized natural language patterns. To evaluate the effectiveness of ConfInLog, we applied our tool on seven popular open-source software systems. ConfInLog successfully inferred 22~163 constraints, in which 59.5%~ 61.6% could not be inferred by the state-of-the-art work. Finally, we submitted 67 documentation patches regarding the constraints inferred by ConfInLog. The constraints in 29 patches have been confirmed by the developers, among which 10 patches have been accepted. Shulin Zhou, Xiaodong Liu 0004, Shanshan Li 0001, Zhouyang Jia, Yuanliang Zhang, Teng Wang 0004, Wang Li 0003, Xiangke Liao |
ICPC | 3 |
| 2021 | MulCode: A Multi-task Learning Approach for Source Code UnderstandingabstractRecent years have witnessed the significant rise of Deep Learning (DL) techniques applied to source code. Researchers exploit DL for a multitude of tasks and achieve impressive results. However, most tasks are explored separately, resulting in a lack of generalization of the solutions. In this work, we propose MulCode, a multi-task learning approach for source code understanding that learns unified representation space for tasks, with the pre-trained BERT model for the token sequence and the Tree-LSTM model for abstract syntax trees. Furthermore, we integrate two source code views into a hybrid representation via the attention mechanism and set learnable uncertainty parameters to adjust the tasks' relationship.We train and evaluate MulCode in three downstream tasks: comment classification, author attribution, and duplicate function detection. In all tasks, MulCode outperforms the state-of-the-art techniques. Moreover, experiments on three unseen tasks demonstrate the generalization ability of MulCode compared with state-of-the-art embedding methods. Deze Wang, Yue Yu 0001, Shanshan Li 0001, Wei Dong 0006, Ji Wang 0001, Qing Liao 0001 |
SANER | 3 |
| 2021 | How to cherry pick the bug report for better summarization?
Yue Yu 0001, Shanshan Li 0001, Mingyang Geng, Xiaoguang Mao, Xiangke Liao |
Empir. Softw. Eng. | 3 |
| 2021 | Guaranteed Bang for the Buck: Modeling VDI Applications to Identify Storage RequirementsabstractIn the cloud environment, most services are provided by virtual machines (VMs). Identifying storage requirements of VMs is challenging, but it is essential for good user experiences while optimizing use of storage resources. Determining the storage configuration necessary to support and satisfy VMs first requires an accurate description of the VM configurations, and the problem is further exacerbated by the diversity and special characteristics of the VMs. In this paper, we study Virtual Desktop Infrastructure (VDI), a prevalent and complicated VM application, to identify and characterize storage requirements of VMs and determine how to meet such requirements with minimal storage resources and cost. We first create a model to describe the behavior of VDI, and we collect real VDI traces to populate this model. The model allows us to identify the storage requirements of VDI and determine the potential bottlenecks of a given storage configuration. Based on this information, we can tell what capacity and minimum capability a storage configuration needs in order to support and satisfy given VDI configurations. We show that our model can describe more fine-grained VM behavior varying with time and virtual disk types compared with the rules of thumb currently used in industry. Hao Wen 0001, David Hung-Chang Du, Milan Shetti, Doug Voigt, Shanshan Li 0001 |
IEEE Trans. Cloud Comput. | 5 |
| 2020 | Code2Text: Dual Attention Syntax Annotation Networks for Structure-Aware Code Translation
Yun Xiong, Shaofeng Xu, Keyao Rong, Xinyue Liu 0003, Xiangnan Kong, Shanshan Li 0001, Philip S. Yu, Yangyong Zhu |
DASFAA (3) | 6 |
| 2020 | BugSum: Deep Context Understanding for Bug Report SummarizationabstractDuring collaborative software development, bug reports are dynamically maintained and evolved as a part of a software project. For a historical bug report with complicated discussions, an accurate and concise summary can enable stakeholders to reduce the time effort perusing the entire content. Existing studies on bug report summarization, based on whether supervised or unsupervised techniques, are limited due to their lack of consideration of the redundant information and disapproved standpoints among developers' comments. Accordingly, in this paper, we propose a novel unsupervised approach based on deep learning network, called BugSum. Our approach integrates an auto-encoder network for feature extraction with a novel metric (believability) to measure the degree to which a sentence is approved or disapproved within discussions. In addition, a dynamic selection strategy is employed to optimize the comprehensiveness of the auto-generated summary represented by limited words. Extensive experiments show that our approach outperforms 8 comparative approaches over two public datasets. In particular, the probability of adding controversial sentences that are clearly disapproved by other developers during the discussion, into the summary is reduced by up to 69.6%. Yue Yu 0001, Shanshan Li 0001, Deze Wang, Xiaoguang Mao |
ICPC | 3 |
| 2020 | CP-Detector: Using Configuration-related Performance Properties to Expose Performance BugsabstractPerformance bugs are often hard to detect due to their non fail-stop symptoms. Existing debugging techniques can only detect performance bugs with known patterns (e.g., inefficient loops). The key reason behind this incapability is the lack of a general test oracle. Here, we argue that the performance (e.g., throughput, latency, execution time) expectation of configuration can serve as a strong oracle candidate for performance bug detection. First, prior work shows that most performance bugs are related to configurations. Second, the configuration change reflects common expectation on performance changes. If the actual performance is contrary to the expectation, the related code snippet is likely to be problematic. Haochen He, Zhouyang Jia, Shanshan Li 0001, Erci Xu, Tingting Yu 0001, Yue Yu 0001, Ji Wang 0001, Xiangke Liao |
ASE | 3 |
| 2020 | Understanding and discovering software configuration dependencies in cloud and datacenter systemsabstractA large percentage of real-world software configuration issues, such as misconfigurations, involve multiple interdependent configuration parameters. However, existing techniques and tools either do not consider dependencies among configuration parameters— termed configuration dependencies—or rely on one or two dependency types and code patterns as input. Without rigorous understanding of configuration dependencies, it is hard to deal with many resulting configuration issues. Qingrong Chen, Teng Wang 0004, Owolabi Legunsen, Shanshan Li 0001, Tianyin Xu |
ESEC/SIGSOFT FSE | 4 |
| 2020 | Guiding log revisions by learning from software evolution history
Shanshan Li 0001, Xu Niu, Zhouyang Jia, Xiangke Liao, Ji Wang 0001 |
Empir. Softw. Eng. | 1 |
| 2019 | Detecting Error-Handling Bugs without Error Specification InputabstractMost software systems frequently encounter errors when interacting with their environments. When errors occur, error-handling code must execute flawlessly to facilitate system recovery. Implementing correct error handling is repetitive but non-trivial, and developers often inadvertently introduce bugs into error-handling code. Existing tools require correct error specifications to detect error-handling bugs. Manually generating error specifications is error-prone and tedious, while automatically mining error specifications is hard to achieve a satisfying accuracy. In this paper, we propose EH-Miner, a novel and practical tool that can automatically detect error-handling bugs without the need for error specifications. Given a function, EH-Miner mines its error-handling rules when the function is frequently checked by an equivalent condition, and handled by the same action. We applied EH-Miner to 117 applications across 15 software domains. EH-Miner mined error-handling rules with the precision of 91.1% and the recall of 46.9%. We reported 142 bugs to developers, and 106 bugs had been confirmed and fixed at the time of writing. We further applied EH-Miner to Linux kernel, and reported 68 bugs for kernel-4.17, of which 42 had been confirmed or fixed. Zhouyang Jia, Shanshan Li 0001, Tingting Yu 0001, Xiangke Liao, Ji Wang 0001, Xiaodong Liu 0004, Yunhuai Liu |
ASE | 2 |
| 2019 | Automatically detecting missing cleanup for ungraceful exitsabstractSoftware encounters ungraceful exits due to either bugs in the interrupt/signal handler code or the intention of developers to debug the software. Users may suffer from ”weird” problems caused by leftovers of the ungraceful exits. A common practice to fix these problems is rebooting, which wipes away the stale state of the software. This solution, however, is heavyweight and often leads to poor user experience because it requires restarting other normal processes. In this paper, we design SafeExit, a tool that can automatically detect and pinpoint the root causes of the problems caused by ungraceful exits, which can help users fix the problems using lightweight solutions. Specifically, SafeExit checks the program exit behaviors in the case of an interrupted execution against its expected exit behaviors to detect the missing cleanup behaviors required for avoiding the ungraceful exit. The expected behaviors are obtained by monitoring the program exit under a normal execution. We apply SafeExit to 38 programs across 10 domains. SafeExit finds 133 types of cleanup behaviors from 36 programs and detects 2861 missing behaviors from 292 interrupted executions. To predict missing behaviors for unseen input scenarios, SafeExit trains prediction models using a set of sampled input scenarios. The results show that SafeExit is accurate with an average F-measure of 92.5%. Zhouyang Jia, Shanshan Li 0001, Tingting Yu 0001, Xiangke Liao, Ji Wang 0001 |
ESEC/SIGSOFT FSE | 2 |
| 2018 | NotOnlyLog: Mining Patch-Log Associations from Software Evolution History to Enhance Failure Diagnosis CapabilityabstractLog messages are widely used in the diagnosis of software failures. Existing studies of failure diagnosis based on log messages tend to use rule-based methods or execution-path-based methods. Rule-based methods generate bug-fixing rules using either human expertise, which is time consuming, or machine learning methods, which may lack the precision of failure diagnosis. To remedy these problems, researchers propose execution-path-based methods that reconstruct execution paths by analyzing source code and run-time logs. These methods, however, may lead to path explosion. To fill this gap, our work focuses on solving the path explosion problem in execution-path-based methods. We assume that run-time logs may have a relationship with their corresponding patches in real-world bug reports. We conduct empirical studies on seven open-source software packages and obtain two findings: (1) 80% of similar bugs have similar patches, and (2) 70% of faulty code is found to lie near the code where the first failure message is printed. Based on these two observations, we design and implement a practical tool NotOnlyLog for bug diagnosis. NotOnlyLog is able to mine the relationships between failure logs and their corresponding patches, in order to reduce both the number and length of uncertain execution paths in bug diagnosis. We evaluate the performance of NotOnlyLog on nine real-world bugs from three large open-source projects. Our experimental results show that, compared with SherLog, NotOnlyLog can achieve a reduction of 86.9% in the number of execution paths. Shuqi Chi, Shanshan Li 0001, Wei Dong 0006, Zhouyang Jia, Haochen He, Qing Liao 0001 |
APSEC | 2 |
| 2018 | Relax: Automatic Contention Detection and Resolution for Configuration Related Performance TuningabstractAs the scale and complexity of software expands, the issue of software performance is attracting increasing attention. The causes of performance problems mainly fall into two categories: software bugs and the resource contention among multiple software programs. Software bugs are usually caused by inefficient or unnecessary computation in source code. However, the performance problems caused by resource contention among multiple software programs are usually ignored by most researchers. Unlike software bugs, resource contention is not a bug; as a result, it is difficult to identify the concrete reason for a performance problem given that they share the same symptoms, such as long response time or low system throughput. In this paper, we investigate the performance problems caused by resource contention from a configuration perspective. By studying the response time distribution of software as the workload changes, we find that there is an inflection point of response time with the change of workload. Based on our observations, we design and implement a tool, Relax, to automatically detect and resolve resource contention. Relax combines resource request delay at the inflection point and the system resource usage rate to identify the performance problems caused by resource contention. Moreover, inspired by the congestion control algorithm in computer networks, Relax uses the square-increase and multiplicative-decrease method to adjust the resource-related configurations so as to resolve the contention. Our experiments show that Relax can effectively detect and resolve resource contention, and shorten the total software response time by 15.8% ~ 22.8%. Zhimin Feng, Shanshan Li 0001, Xiangke Liao, Xiaodong Liu 0004, Shulin Zhou |
APSEC | 2 |
| 2018 | Functional-Oriented Relationship Strength Estimation: From Online Events to Offline Interactions
Chang Liao, Yun Xiong, Xiangnan Kong, Yangyong Zhu, Shimin Zhao, Shanshan Li 0001 |
DASFAA (1) | 6 |
| 2018 | Logtracker: learning log revision behaviors proactively from software evolution historyabstractLog statements are widely used for postmortem debugging. Despite the importance of log messages, it is difficult for developers to establish good logging practices. There are two main reasons for this. First, there are no rigorous specifications or systematic processes to guide the practices of software logging. Second, logging code co-evolves with bug fixes or feature updates. While previous works on log enhancement have successfully focused on the first problem, they are hard to solve the latter. For taking the first step towards solving the second problem, this paper is inspired by code clones and assumes that logging code with similar context is pervasive in software and deserves similar modifications. To verify our assumptions, we conduct an empirical study on eight open-source projects. Based on the observation, we design and implement LogTracker, an automatic tool that can predict log revisions by mining the correlation between logging context and modifications. With an enhanced modeling of logging context, LogTracker is able to guide more intricate log revisions that cannot be covered by existing tools. We evaluate the effectiveness of LogTracker by applying it to the latest version of subject projects. The results of our experiments show that LogTracker can detect 199 instances of log revisions. So far, we have reported 25 of them, and 6 have been accepted. Shanshan Li 0001, Xu Niu, Zhouyang Jia, Ji Wang 0001, Haochen He, Teng Wang 0004 |
ICPC | 1 |
| 2018 | MisconfDoctor: Diagnosing Misconfiguration via Log-Based Configuration TestingabstractAs software configurations continue to grow in complexity, misconfiguration has become one of major causes of software failure. Software configuration errors can have catastrophic consequences, seriously affecting the normal use of software and quality of service. And misconfiguration diagnosis faces many challenges, such as path-explosion problems and incomplete statistical data. Our study of the log that is generated in response to misconfigurations by six widely used pieces of software highlights some interesting characteristics. These observations have influenced the design of MisconfDoctor, a misconfiguration diagnosis tool via log-based configuration testing. Through comprehensive misconfiguration testing, MisconfDoctor first extracts log features for every misconfiguration and builds a feature database. When a system misconfiguration occurs, MisconfDoctor suggests potential misconfigurations by calculating the similarity of the new exception log to the feature database. We use manual and real-world error cases from Httpd, MySQL and PostgreSQL in order to evaluate the effectiveness of the tool. Experimental results demonstrate that the tool's accuracy reaches 85% when applied to manual-error cases, and 78% for real-world cases. Teng Wang 0004, Xiaodong Liu 0004, Shanshan Li 0001, Xiangke Liao, Wang Li 0003, Qing Liao 0001 |
QRS | 3 |
| 2018 | SMARTLOG: Place error log statement by deep understanding of log intentionabstractFailure-diagnosis logs can dramatically reduce the system recovery time when software systems fail. Log automation tools can assist developers to write high quality log code. In traditional designs of log automation tools, they define log placement rules by extracting syntax features or summarizing code patterns. These approaches are, however, limited since the log placements are far beyond those rules but are according to the intention of software code. To overcome these limitations, we design and implement SmartLog, an intention-aware log automation tool. To describe the intention of log statements, we propose the Intention Description Model (IDM). SmartLog then explores the intention of existing logs and mines log rules from equivalent intentions. We conduct the experiments based on 6 real-world open-source projects. Experimental results show that SmartLog improves the accuracy of log placement by 43% and 16% compared with two state-of-the-art works. For 86 real-world patches aimed to add logs, 57% of them can be covered by SmartLog, while the overhead of all additional logs is less than 1%. Zhouyang Jia, Shanshan Li 0001, Xiaodong Liu 0004, Xiangke Liao, Yunhuai Liu |
SANER | 2 |
| 2018 | Deep Collective Classification in Heterogeneous Information NetworksabstractCollective classification has attracted considerable attention in the last decade, where the labels within a group of instances are correlated and should be inferred collectively, instead of independently. Conventional approaches on collective classification mainly focus on exploiting simple relational features (such ascount andexists aggregators on neighboring nodes). However, many real-world applications involve complex dependencies among the instances, which are obscure/hidden in the networks. To capture these dependencies in collective classification, we need to go beyond simple relational features and extract deep dependencies between the instances. In this paper, we study the problem of deep collective classification inHeterogeneous Information Networks (HINs), which involves different types of autocorrelations, from simple to complex relations, among the instances. Different from conventional autocorrelations, which are given explicitly by the links in the network, complex autocorrelations are obscure/hidden in HINs, and should be inferred from existing links in a hierarchical order. This problem is highly challenging due to the multiple types of dependencies among the nodes and the complexity of the relational features. In this study, we proposed a deep convolutional collective classification method, called GraphInception to learn the deep relational features in HINs. The proposed method can automatically generate a hierarchy of relational features with different complexities. Extensive experiments on four real-world networks demonstrate that our approach can improve the collective classification performance by considering deep relational features in HINs. Yun Xiong, Xiangnan Kong, Shanshan Li 0001, Jinhong Mi, Yangyong Zhu |
WWW | 4 |
| 2018 | ConfVD: System Reactions Analysis and Evaluation Through Misconfiguration InjectionabstractIn recent years, misconfigurations have become one of the major causes of software system failures, resulting in numerous service outages. What is worse, misconfigurations are also costly to diagnose and troubleshoot. This remains a great challenge for sysadmins (system administrators) to detect, diagnose, or troubleshoot these misconfigurations. Unlike software bugs, misconfigurations are more vulnerable to sysadmins' mistakes. Developers and researchers are attempting to improve system reactions to misconfigurations to ease the burden of sysadmins' diagnoses. Such efforts would greatly benefit from the techniques that can comprehensively detect bad system reactions through injected misconfigurations. Unfortunately, few such studies have achieved the above goal in the past, primarily because they only relied on generic alterations and failed to find a way to systematically generate misconfigurations. In this paper, we study eight mature open-source and commercial software packages and summarize a fine-grained classification of option types. Based on this classification, we use Augmented Backus-Naur Form to summarize and extract syntactic and semantic constraints of each type. In order to generate comprehensive misconfigurations in the test systems, we propose misconfiguration generation methods for our constraints. We implement a tool named Configuration Vulnerability Detector (ConfVD) to conduct misconfiguration injection and further analyze the systems' reaction abilities to various misconfigurations. We carried out comprehensive analyses upon Apache Httpd, MySQL, PostgreSQL, and Yum. The results of our analysis show that our option classification covers 96% of 1582 options from the above-mentioned systems. Our constraints are more fine grained than previous works and their accuracy was found to be 91% (ascertained by manual verification). Our technique could improve generic alteration approaches without constraints, and we found that ConfVD could find nearly three times the bad reactions that were found by ConfErr. In total, we found 65 bad reactions from the systems being tested and our fine-grained constraints contributed 27.7% more bad reactions than techniques only using coarse-grained constraints. Shanshan Li 0001, Wang Li 0003, Xiangke Liao, Shaoliang Peng, Shulin Zhou, Zhouyang Jia, Teng Wang 0004 |
IEEE Trans. Reliab. | 1 |
| 2018 | Do You Really Know How to Configure Your Software? Configuration Constraints in Source Code May HelpabstractMisconfigurations have become one of the major causes of software failures because of their increasing prevalence and severity. The complexity of configurations and users' lack of domain knowledge are the main reasons for massive misconfigurations. Users usually identify and diagnose misconfigurations by making a comparison against the conditions that configuration options should satisfy, which we refer to as configuration constraints; however, sometimes it is hard for users to accomplish this work. Some work has been done on obtaining configuration constraints, especially from source code; nevertheless, only part of the situation has been considered, such as if-statement code snippets, limiting its help in misconfiguration diagnosis. In order to better extract configuration constraints for users' guidance and misconfiguration diagnosis, we carried out a comprehensive manual study on the existence and variance of the configuration constraints in the source code of five different pieces of widely used open-source software. Three categories of findings are summarized based on our study, namely the general statistics, the general features of specific kinds of constraints, and the obstacles to the automatic extraction of configuration constraints. With these findings, we proposed several suggestions to maximize the automatic extraction of configuration constraints. The results show that our suggestions could improve the extraction of configuration constraints compared to existing methods. Xiangke Liao, Shulin Zhou, Shanshan Li 0001, Zhouyang Jia, Xiaodong Liu 0004, Haochen He |
IEEE Trans. Reliab. | 3 |
| 2017 | ConfTest: Generating Comprehensive Misconfiguration for System Reaction Ability EvaluationabstractMisconfigurations are not only prevalent, but also costly on diagnosing and troubleshooting. Unlike software bugs, misconfigurations are more vulnerable to users' mistakes. Improving system reaction to misconfigurations would ease the burden of users' diagnoses. Such effort can greatly benefit from a comprehensive study of system reaction ability towards misconfigurations based on errors injection method. Unfortunately, few such studies have achieved the above goal in the past, primarily because they fail to provide rich error types or only rely on generic alternations to generate misconfigurations. In this paper, we studied 8 mature opensource and commercial software and summarized a fine-grained classification of option types. On the basis of this classification, we could extract syntactic and semantic constraints of each type to generate misconfigurations. We implemented a tool named ConfTest to conduct misconfiguration injection and further analyze system reaction abilities to various of misconfigurations. We carried out comprehensive analyses upon 4 open-source software systems. Our evaluation results show that our option classification covers over 96% of 1582 options from Httpd, Yum, PostgreSQL and MySQL.Our constraint is more fined-grained and the accuracy is more than 90% of of real constraints through manual verification. We compared the capability in finding bad system reactions between ConfTest and ConfErr, showing that the ConfTest can find nearly 3 times the bad reactions found by ConfErr. Wang Li 0003, Shanshan Li 0001, Xiangke Liao, Shulin Zhou, Zhouyang Jia |
EASE | 2 |
| 2017 | Easier Said Than Done: Diagnosing Misconfiguration via Configuration Constraints Analysis: A Study of the Variance of Configuration Constraints in Source CodeabstractMisconfigurations have drawn tremendous attention for their increasing prevalence and severity, and the main causes are the complexity of configurations as well as the lack of domain knowledge for software. To diagnose misconfigurations, one typical approach is to find out the conditions that configuration options should satisfy, which we refer to as configuration constraints. Current researches only handled part of the situations of configuration constraints in source code, which provide only limited help for misconfiguration diagnosis. To better extract configuration constraints, we conduct a comprehensive manual study on the existence and variance of the configuration constraints in source code from five pieces of popular open-source software. We summarized several findings from different aspects, including the general statistics about configuration constraints, the general features for specific configurations, and the obstacles in extraction of configuration constraints. Based on the findings, we propose several suggestions to maximize the automation of constraints extraction. Shulin Zhou, Shanshan Li 0001, Xiaodong Liu 0004, Si Zheng 0003, Xiangke Liao, Yun Xiong |
EASE | 2 |
| 2017 | IdenEH: Identify error-handling code snippets in large-scale softwareabstractError-handling (EH) code snippets are widely used for troubleshooting in software projects. Analyzing these snippets help to better understand how developers handle errors. However, the identification of such error-handling code snippets from the large-scale software is non-trivial, since traditional methods meet a challenge of scalability. In this paper, we analyze a large number of error-handling code snippets and get same interesting and useful observations. We extract seven features according to these observations. Based on these features, we design an automatic approach to identify error-handling codes using static program analysis and machine learning algorithms. Finally, we evaluate this approach and select the optimal feature subset from all feature combinations. Our evaluation demonstrates the high F-Score of up to 0.85 in identifying error-handling code snippets. Shanshan Li 0001, Zhouyang Jia, Xiaodong Liu 0004, Bin Lin 0011, Xiangke Liao |
ICCSA (7) | 2 |
| 2017 | Automatic Type Inference for Proactive Misconfiguration PreventionabstractMisconfigurations have become a major cause of software failures.Most research focuses on misconfiguration diagnosis and troubleshooting, which occur after the misconfigurations have happened.Actually, if we can prevent misconfiguration before software runs, many potential catastrophic failures of systems can be avoided, thus reducing customers' downtime and support costs.In software configuration, we found that most configuration options have specific constraints, which have a strong connection with the configuration option type.If we can check the configuration settings against the inferred type before the software runs, many misconfigurations can be prevented.In this paper, we explore a name-based method called ConfTypeInferer to automatically infer the type of configuration options, which can help users to correctly configure and check settings, thus preventing misconfigurations proactively.We manually studied several popular open-source software projects to investigate the classification and naming conventions of configuration option.Based on these findings, we designed and implemented the ConfTypeInferer.We performed comprehensive experiments to evaluate the effectiveness of our method. Shanshan Li 0001, Wei Dong 0006, Wang Li 0003, Xiangke Liao |
SEKE | 2 |
| 2016 | Towards Efficient Influence Maximization for Evolving Social Networks
Xiaodong Liu 0004, Xiangke Liao, Shanshan Li 0001, Bin Lin 0011 |
APWeb (1) | 3 |
| 2016 | Guaranteed Bang for the Buck: Modeling VDI Applications with Guaranteed Quality of ServiceabstractIn cloud environment, most services are provided by virtual machines (VMs). Providing storage quality of service (QoS) for VMs is essential to user experiences while challenging. It first requires an accurate estimate and description of VM requirements, however, people usually describe this via rules of thumb. The problems are exacerbated by the diversity and special characteristics of VMs in a computing environment. This paper chooses Virtual Desktop Infrastructure (VDI), a prevalent and complicated VM application, to characterize QoS requirements of VMs and to guarantee QoS with minimal required resources. We create a model to describe QoS requirements of VDI. We have collected real VDI traces from HP to validate the correctness of the model. Then we generate QoS requirements of VDI and determine bottlenecks. Based on this, we can tell what minimum capability a storage appliance needs in order to satisfy a given VDI configuration and QoS requirements. By comparing with industry experience, we validate our model. And our model can describe more fine-grained VM requirements varying with time and virtual disk types, and provide more confidence on sizing storage for VDI as well. Hao Wen 0001, David Hung-Chang Du, Milan Shetti, Doug Voigt, Shanshan Li 0001 |
ICPP | 5 |
| 2016 | REDU: reducing redundancy and duplication for multi-failure recovery in erasure-coded storages
Shanshan Li 0001, Xiangke Liao |
J. Supercomput. | 2 |
| 2015 | HeMatch: A redundancy layout placement scheme for erasure-coded storages in practical heterogeneous failure patterns
Shanshan Li 0001, Xiangke Liao, Shaoliang Peng, Xiaodong Liu 0004, Zhouyang Jia |
Sci. China Inf. Sci. | 2 |
| 2014 | Aggrecode: Constructing route intersection for data reconstruction in erasure coded storageabstractNode failures often occur in large-scale data centers today. Erasure coded storage system provides high data reliability via data reconstruction. Existing work can improve reconstruction performance, while considering the transmission of recovery data as the main source of reconstruction overheads. Transmission costs are highly related with network topology, which is unfortunately overlooked. An ideal connected topology assumes that two nodes in a data center has a direct link. The unmatching design between the network model and the practical topology may lead to an underestimated transmission costs. In this paper, we propose an erasure coded storage system for data reconstruction, which uses the practical network topology to minimize the reconstruction transmission costs. First, we identify the aggregation feature of erasure coding reconstruction and propose Aggregation Decoding, which splits the decoding process into several sub-decoding operations during reconstruction routing to reduce overall recovery data to be transmitted. We further improve Aggrecode to construct efficient route basing on the location of participating nodes to exploit the aggregation feature of Aggregation Decoding. We formulate this routing problem as a relaxed Steiner Tree problem. We design two heuristic routing algorithms based on ant-colony optimization specialized for two failure recovery cases, e.g., node recovery and degraded read. Our analytical results demonstrate the important properties of Aggrecode. These properties are evaluated by extensive experiments deployed on popular data center topologies, such as Torus, Fat-tree, DCell and BCube. The results show that Aggrecode can reduce data transmission costs by at least 37.12% for all settings. Xiangke Liao, Shanshan Li 0001, Yu Hua 0001, Xue (Steve) Liu, Bin Lin 0011 |
INFOCOM | 3 |
| 2014 | PathZip: A lightweight scheme for tracing packet path in wireless sensor networks
Xiaopei Lu, Dezun Dong, Xiangke Liao, Shanshan Li 0001, Xiaodong Liu 0004 |
Comput. Networks | 4 |
| 2014 | Leach: an automatic learning cache for inline primary deduplication system
Bin Lin 0011, Shanshan Li 0001, Xiangke Liao, Xiaodong Liu 0004 |
Frontiers Comput. Sci. | 2 |
| 2014 | IMGPU: GPU-Accelerated Influence Maximization in Large-Scale Social NetworksabstractInfluence Maximization aims to find the top-$(K)$ influential individuals to maximize the influence spread within a social network, which remains an important yet challenging problem. Proven to be NP-hard, the influence maximization problem attracts tremendous studies. Though there exist basic greedy algorithms which may provide good approximation to optimal result, they mainly suffer from low computational efficiency and excessively long execution time, limiting the application to large-scale social networks. In this paper, we present IMGPU, a novel framework to accelerate the influence maximization by leveraging the parallel processing capability of graphics processing unit (GPU). We first improve the existing greedy algorithms and design a bottom-up traversal algorithm with GPU implementation, which contains inherent parallelism. To best fit the proposed influence maximization algorithm with the GPU architecture, we further develop an adaptive K-level combination method to maximize the parallelism and reorganize the influence graph to minimize the potential divergence. We carry out comprehensive experiments with both real-world and sythetic social network traces and demonstrate that with IMGPU framework, we are able to outperform the state-of-the-art influence maximization algorithm up to a factor of 60, and show potential to scale up to extraordinarily large-scale networks. Xiaodong Liu 0004, Mo Li 0001, Shanshan Li 0001, Shaoliang Peng, Xiangke Liao, Xiaopei Lu |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2014 | Know by a handful the whole sack: efficient sampling for top-k influential user identification in large graphs
Xiaodong Liu 0004, Shanshan Li 0001, Xiangke Liao, Shaoliang Peng, Zhiyin Kong |
World Wide Web | 2 |
| 2013 | G-Paradex: GPU-Based Parallel Indexing for Fast Data Deduplication
Bin Lin 0011, Xiangke Liao, Shanshan Li 0001, Ling Wen |
APPT | 3 |
| 2013 | Multi-resource Aware Congestion Control in Data CentersabstractNetwork has been widely reported as a bottleneck of data center applications. However, current researches of congestion control are unaware of multiple resources consuming and decrease all flows when congestion, ignoring some involved flows may not be the faults. In this paper, we propose a novel multi-resources aware congestion control framework MRTCP to provide a fine-grain control on flows when congestions appear. MRTCP exploits a multi-tuple vector model to measure multi-resources provision and consumption, and develops a novel metric RB (Resource Balance) to denote the heterogeneous amounts of resources employed by each flow. It analyzes which resources are being the bottlenecks that lead to congestions, calculates the responsibility of each flow to this congestion, and then adjusts their sending rates respectively. Our experiment results demonstrate that MRTCP is able to optimize network multi-resources utilization and improve network throughput without adding obvious packets delays. Deke Guo, Qingbo Wu 0003, Shanshan Li 0001, Yusong Tan, Quanyuan Wu |
ICPADS | 3 |
| 2013 | Risk Intelligence: Profiting from Uncertainty in Data Processing SystemabstractFault-tolerance is essential in extreme-scale data processing systems. Pro-active fault-tolerance scheme (such as the speculative execution in MapReduce framework), can dramatically improve the response time of job executions when the failure becomes norm rather than an exception. Efficient pro-active fault-tolerance schemes require precise knowledge on the task executions, which has been an open challenges for decades. To well address the issue, in this paper we design and implement RiskI, a profile-based prediction algorithm in conjunction with a risk-aware task assignment algorithm to accelerate task executions, taking the uncertainty nature of tasks into account. Our design demonstrates that the nature uncertain not only brings great challenges but also new opportunities. With a careful design, we can benefit from such uncertainties. We implement the idea in Hadoop 0.21.0 systems and the experimental results show that compared with the traditional LATE algorithm, the response time can be improved by 46% with the same system throughput. Si Zheng 0003, Yunhuai Liu, Shanshan Li 0001, Tian He 0001, Xiangke Liao |
ICPP | 3 |
| 2013 | The architecture and traffic management of wireless collaborated hybrid data center networkabstractThis paper introduces a novel wireless collaborated hybrid data center architecture called RF-HYBRID that could optimize the effect of wireless transmission while reduce the complexity of wired network. RF-HYBRID improves throughput and packet delivery latency through flexible wireless detours and shortcuts, with a comprehensive routing and congestion control method. Xiangke Liao, Shanshan Li 0001, Shaoliang Peng, Xiaodong Liu 0004, Bin Lin 0011 |
SIGCOMM | 3 |
| 2013 | INCOME: Practical land monitoring in precision agriculture with sensor networks
Shanshan Li 0001, Shaoliang Peng, Xiaopei Lu |
Comput. Commun. | 1 |
| 2012 | PathZip: Packet path tracing in wireless sensor networksabstractIn order to provide reliable data delivery and system management for large-scale wireless sensor networks (WSNs), tracing the route paths of packets in a lightweight manner is crucial and critical. Real-time path tracing technology enables us to observe every data transmission and analyze network dynamics in a fine-grained fashion. Due to resource constraints of WSNs, however, it is difficult, if not impossible, to integrate into each packet with its full path information. We attempt to capture such information with inserting a small and constant overhead into each packet. In this design, PathZip, each sensor node performs lightweight hash-based computations to passively label every packet forwarded. Meanwhile, the sink extracts the label information so as to leverage the pre-knowledge on the network to compute the full packet path. Both topology-aware and geometry-assistant techniques are utilized by PathZip in order to exploit different network knowledge and reduce the computation and storage overhead greatly. We conduct theoretical analysis and extensive simulations to evaluate the performance of our design. The results show that our method is effective to trace the full route path in large-scale WSNs, and outperforms the state-of-the-art methods. Xiaopei Lu, Dezun Dong, Xiangke Liao, Shanshan Li 0001 |
MASS | 4 |
| 2012 | A scalable code dissemination protocol in heterogeneous wireless sensor networks
Shaoliang Peng, Shanshan Li 0001, Xiangke Liao, Yuxing Peng 0001, Nong Xiao 0001 |
Sci. China Inf. Sci. | 2 |
| 2012 | Fast Release/Capture Sampling in Large-Scale Sensor NetworksabstractEfficient estimation of global information is a common requirement for many wireless sensor network applications. Examples include counting the number of nodes alive in the network and measuring the scale of physically correlated events. These tasks must be accomplished at extremely low overhead due to the severe resource limitation of sensor nodes, which poses a challenge for large-scale sensor networks. In this paper, we develop a novel protocol FLAKE to efficiently and accurately estimate the global information of large-scale sensor networks based on the sparse sampling theory. Specially, FLAKE disseminates a small number of messages called seeds to the network and issues a query about which nodes receive a seed. The number of nodes that have the information of interest can be estimated by counting the seeds disseminated, the nodes queried, and the nodes that receive a seed. FLAKE can be easily implemented in a distributed manner due to its simplicity. Moreover, desirable tradeoffs can be achieved between the accuracy of estimation and the system overhead. Our simulations show that FLAKE significantly outperforms several existing schemes on accuracy, delay, and message overhead. Shaoliang Peng, Guoliang Xing, Shanshan Li 0001, Weijia Jia 0001, Yuxing Peng 0001 |
IEEE Trans. Mob. Comput. | 3 |
| 2011 | Component-based localization in sparse wireless networksabstractLocalization is crucial for wireless ad hoc and sensor networks. As the distance-measurement ranges are often less than the communication ranges for many ranging systems, most communication-dense wireless networks are localization-sparse. Consequently, existing algorithms fail to provide accurate localization supports. In order to address this issue, by introducing the concept of component, we group nodes into components so that nodes are able to better share ranging and anchor knowledge. Operating on the granularity of components, our design, CALL, relaxes two essential restrictions in localization: the node ordering and the anchor distribution. Compared to previous designs, CALL is proven to be able to locate the same number of nodes using the least information. We evaluate the effectiveness of CALL through extensive simulations. The results show that CALL locates 90% nodes in a network with average degree 7.5 and 5% anchors, which outperforms the state-of-the-art design Sweeps by about 40%. Jun Luo 0011, Yunhao Liu 0001, Shanshan Li 0001, Dezun Dong |
IEEE/ACM Trans. Netw. | 4 |
| 2010 | Exploring the practicability of mobile sensors in complex environment surveillanceabstractMobile sensors are often employed for enhancing the sensing coverage and assisting the data gathering in wireless sensor networks. Equipped with unlimited mobility, they are able to move anywhere within the monitored field. Despite the promising simulation (or testbed) result and theoretical conclusion in paper, we have to realize the assumption on unlimited mobility has limitations and is practically unrealistic in many applications. Shanshan Li 0001, Si Zheng 0003, Xiangke Liao, Shaoliang Peng |
IWQoS | 1 |
| 2010 | Fish a lake: Fast release/capture sampling in large-scale sensor networksabstractEfficient estimation of global information is a common requirement for many wireless sensor network applications. Examples include counting the number of nodes alive in the network and measuring the scale of physically correlated events. These tasks must be accomplished at extremely low overhead due to the severe resource limitation of sensor nodes, which poses a challenge for large-scale sensor networks. In this paper, we develop a novel protocol called FLAKE that can efficiently and accurately estimate the global information of large-scale sensor networks based on the sparse sampling theory. Specially, FLAKE disseminates a small number of messages called seeds to the network and issues a query about which nodes receive a seed. The number of nodes that have the information of interest can be estimated by counting the seeds disseminated, the nodes queried, and the nodes that receive a seed. FLAKE can be easily implemented in a distributed manner due to its simplicity. Moreover, desirable trade-offs can be achieved between the accuracy of estimation and the system overhead. Our simulations show that FLAKE significantly outperforms several existing schemes on accuracy, delay and message overhead. Shaoliang Peng, Guoliang Xing, Shanshan Li 0001, Weijia Jia 0001, Yuxing Peng 0001 |
IWQoS | 3 |
| 2009 | FOCUS: A Cost-Effective Approach for Large-Scale Crop Monitoring with Sensor NetworksabstractCurrent investment in crop monitoring consumes a large amount of financial cost, and how to reduce this cost has been a long-standing problem in agriculture. Traditional crop monitoring approaches are not cost-effective, because they rely on either heavy human labor or intensive computation with expensive instruments. In this paper, we explore the possibility of deploying networked sensor nodes for low-cost crop monitoring. As an example, we compute an important agricultural metric called global leaf area index (LAI) to illustrate the benefit of using sensor networks. We propose an approach called FOCUS that incrementally deploys sensor nodes into farmland to improve the accuracy of global LAI measurements. We design and implement a novel algorithm that calculates the total size of crop leaves with light intensity readings captured by the sensors under the crop canopies. FOCUS not only lowers the deployment cost considerably but also reduces the number of sensors for the long-term monitoring. Through a small-scale field test and large-scale simulations, we validate our design and show its effectiveness in crop monitoring. Yuan Yuan 0034, Shanshan Li 0001, Kui Wu 0001, Weijia Jia 0001, Yuxing Peng 0001 |
MASS | 2 |
| 2009 | Estimation of a Population Size in Large-Scale Wireless Sensor Networks
Shaoliang Peng, Shanshan Li 0001, Xiangke Liao, Yuxing Peng 0001, Nong Xiao 0001 |
J. Comput. Sci. Technol. | 2 |
| 2008 | Component based localization in sparse wireless ad hoc and sensor networksabstractLocalization is crucial for wireless ad hoc and sensor networks. As the distance-measurement ranges are often less than that of the communication range for many ranging systems, most communication-dense wireless networks are often localization-sparse. Consequently, most existing algorithms fail to provide accurate localization supports. In order to address this issue, by introducing a concept ofcomponent, we propose to group nodes into components, so that nodes are able to better share their ranging and anchor knowledge. This design, CALL, relaxes two essential restrictions in localization: node ordering and anchor distribution. We evaluate the effectiveness of CALL through extensive simulations. The results show that CALL locates 80% nodes in a network with average degree 7.5 and 5% percent anchors, which outperforms the state of the art design Sweeps about 20%. Jun Luo 0011, Shanshan Li 0001, Dezun Dong, Wei-Fang Cheng |
ICNP | 3 |
| 2008 | Using Cable-Based Mobile Sensors to Assist Environment SurveillanceabstractIn wireless sensor networks, mobile sensors are often employed for enhancing the sensing coverage and detection accuracy. Current approaches assume mobile sensors with the capability of arbitrary movement. The usage of such sensors with unlimited mobility, however, requires complicated sensor manufactures and high intelligence of movement which are practically unrealistic in many practical applications. We investigate the usage of cable-based mobile sensors which move along pre-deployed cables to accomplish sensing tasks at different positions. A target area is said to be reachable, if for any point in this area, at least one mobile sensor can move along the cable and achieve coverage to the point within a specified delay bound. We propose to achieve k reachability for the sensing field with minimum mobile sensors along the cable. Further, during special events, mobile sensors need to move and help surveillance. We need adjust the positions of the rest of mobile sensors accordingly to balance the reachability within the area. We prove the NP-hardness of the targeted problems and give heuristic approaches. Through comprehensive simulations, we evaluate the performance of this design and show its effectiveness. Shanshan Li 0001, Mo Li 0001, Xiangke Liao |
ICPADS | 1 |
| 2008 | SenCast: Scalable multicast in wireless sensor networksabstractMulticast is essential for wireless sensor network (WSN) applications. Existing multicast protocols in WSNs are often designed in a P2P pattern, assuming small number of destination nodes and frequent changes on network topologies. In order to truly adopt multicast in WSNs, we propose a base-station model- based multicast, SenCast, to meet the general requirements of applications. SenCast is scalable and energy-efficient for large group communications in WSNs. Theoretical analysis shows that SenCast is able to approximate the Minimum Nonleaf Nodes (MNN) problem to a ratio of ln\R\ (R is the set of all destinations), best known lowest bound. We evaluate our design through comprehensive simulations. Experimental results demonstrate that SenCast outperforms previous multicast protocols including the most recent work uCast. Shaoliang Peng, Shanshan Li 0001, Lei Chen 0002, Nong Xiao 0001, Yuxing Peng 0001 |
IPDPS | 2 |
| 2008 | Using cable-based mobile sensors to assist environment surveillanceabstractThere have been works done by utilizing mobile sensors as supplementary to assist the sensing coverage for the static sensor nodes in possible event happenings. Most of them assume that the mobile sensors are equipped with unlimited mobility and thus can move anywhere within the monitored field. However, the assumption of unlimited mobility has its own limitations and is unrealistic in many practical applications. Alternatively, we consider pre-deploying cables within the monitored field so that mobile sensors move along cables to destinations. In this case, we can far more relax the requirements on the mobile sensors and achieve more realistic usage despite of the complex field landforms. We find that existing cables deployed in the tunnel are perfect carriers for deploying mobile nodes which help get rid of the complex circumstance in the underground tunnel. Shanshan Li 0001, Shaoliang Peng, Mo Li 0001, Xiangke Liao |
MASS | 1 |
| 2008 | Scalable Base-Station Model-Based Multicast in Wireless Sensor Networks
Shaoliang Peng, Shanshan Li 0001, Lei Chen 0002, Yuxing Peng 0001, Nong Xiao 0001 |
J. Comput. Sci. Technol. | 2 |
| 2007 | A Framework for Congestion Control for Reliable Data Delivery in Wireless Sensor NetworksabstractWSN congestion occurs when offered traffic load exceeds available capacity. It causes overall channel quality to degrade and drop rates to rise. Furthermore, redundant transmissions are always adopted to guarantee reliable data delivery, which may deteriorate congestion since they bring on more contention and in reverse hampers the reliability. In this paper, we propose a framework to avoid, detect and mitigate congestion effectively. In this framework, a congestion aware traffic allocation (COTA) is used in multipath routing to balance traffic around the whole network COTA uses some heuristic information to analyze the potential congestion region and avoid traversing these regions. A runtime traffic adjustment CODEM is presented to use accurate metrics to detect and mitigate congestion. Compared with previous works, our work can control congestion while achieving the desired reliability at the same time. Comprehensive simulations have validated the distinguished performance in several aspects of our framework. Shanshan Li 0001, Shaoliang Peng, Xiangke Liao, Peidong Zhu, Yuxing Peng 0001 |
Integrated Network Management | 1 |
| 2007 | Real-Time Data Delivery in Wireless Sensor Networks: A Data-Aggregated, Cluster-Based Adaptive Approach
Shaoliang Peng, Shanshan Li 0001, Yuxing Peng 0001, Wen-sheng Tang, Nong Xiao 0001 |
UIC | 2 |
| 2006 | A Trust-Based Routing Framework in Energy-Constrained Wireless Sensor Networks
Wei-Fang Cheng, Xiangke Liao, Changxiang Shen, Shanshan Li 0001, Shaoliang Peng |
WASA | 4 |
| 2006 | Path Selection of Reliable Data Delivery in Wireless Sensor Networks
Xiangke Liao, Shanshan Li 0001, Peidong Zhu, Shaoliang Peng, Wei-Fang Cheng, Dezun Dong |
WASA | 2 |
| 2005 | Dynamic Thread Management in Kernel Pipeline Web Server
Shanshan Li 0001, Xiangke Liao, Yusong Tan, Jin-Yuan Liu |
NPC | 1 |