VLDB 2026 Research / reviewers in the wild / expert
Zengyang Li
dblp:26/10201
· DBLP profile ↗
52ranked-venue papers
16as first author
37since 2021 · last 2026
0000-0002-7258-993XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 45 · 15 first-author · 32 since 2021Artificial intelligence and machine learning · 12 · 2 first-author · 7 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Theory of computation · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Exploring and characterizing cross-service defects in microservice projects
Chaochao Wu, Ran Mo, Haopeng Song, Zengyang Li, Yutao Ma |
Inf. Softw. Technol. | 5 |
| 2026 | Unveiling code clones in the Eclipse IIoT software ecosystem
Zengyang Li, Binbin Huang 0005, Ran Mo, Peng Liang 0001, Hui Liu 0004, Yutao Ma |
J. Syst. Softw. | 1 |
| 2025 | Detection-Friendly Nonuniformity Correction: A Union Framework for Infrared UAV Target DetectionabstractInfrared unmanned aerial vehicle (UAV) images captured using thermal detectors are often affected by temperature-dependent low-frequency nonuniformity, which significantly reduces the contrast of the images. Detecting UAV targets under nonuniform conditions is crucial in UAV surveillance applications. Existing methods typically treat infrared nonuniformity correction (NUC) as a preprocessing step for detection, which leads to suboptimal performance. Balancing the two tasks while enhancing detection-beneficial information remains challenging. In this paper, we present a detection-friendly union framework, termed UniCD, that simultaneously addresses both infrared NUC and UAV target detection tasks in an end-to-end manner. We first model NUC as a small number of parameter estimation problem jointly driven by priors and data to generate detection-conducive images. Then, we incorporate a new auxiliary loss with target mask supervision into the backbone of the infrared UAV target detection network to strengthen target features while suppressing the background. To better balance correction and detection, we introduce a detection-guided self-supervised loss to reduce feature discrepancies between the two tasks, thereby enhancing detection robustness to varying nonuniformity levels. Additionally, we construct a new benchmark composed of 50,000 infrared images in various nonuniformity types, multi-scale UAV targets and rich backgrounds with target annotations, called IRBFD. Extensive experiments on IRBFD demonstrate that our UniCD is a robust union framework for NUC and UAV target detection while achieving real-time processing capabilities. Dataset can be available at https://github.com/IVPLaboratory/UniCD. Houzhang Fang, Xiaolin Wang 0006, Zengyang Li, Lu Wang 0014, Qingshan Li, Yi Chang 0002, Luxin Yan |
CVPR | 3 |
| 2025 | Architecture decisions in quantum software systems: An empirical study on Stack Exchange and GitHub
Mst Shamima Aktar, Peng Liang 0001, Muhammad Waseem 0011, Amjed Tahir, Aakash Ahmad, Beiqi Zhang, Zengyang Li |
Inf. Softw. Technol. | 7 |
| 2025 | Unveiling security weaknesses in autonomous driving systems: An in-depth empirical study
Wenyuan Cheng, Zengyang Li, Peng Liang 0001, Ran Mo, Hui Liu 0004 |
Inf. Softw. Technol. | 2 |
| 2025 | Automated detection of inter-language design smells in multi-language deep learning frameworks
Zengyang Li, Peng Liang 0001, Ran Mo, Jie Tan 0002, Hui Liu 0004 |
Inf. Softw. Technol. | 1 |
| 2025 | Demystifying issues, causes and solutions in LLM open-source projects
Yangxiao Cai, Peng Liang 0001, Zengyang Li, Mojtaba Shahin |
J. Syst. Softw. | 4 |
| 2025 | Exploring the problems, their causes and solutions of AI pair programming: A study on GitHub and Stack Overflow
Xiyu Zhou, Peng Liang 0001, Beiqi Zhang, Zengyang Li, Aakash Ahmad, Mojtaba Shahin, Muhammad Waseem 0011 |
J. Syst. Softw. | 4 |
| 2025 | Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical StudyabstractModern code generation tools utilizing AI models like Large Language Models have gained increased popularity due to their ability to produce functional code. However, their usage presents security challenges, often resulting in insecure code merging into the code base. Thus, evaluating the quality of generated code, especially its security, is crucial. While prior research explored various aspects of code generation, the focus on security has been limited, mostly examining code produced in controlled environments rather than open source development scenarios. To address this gap, we conducted an empirical study, analyzing code snippets generated by GitHub Copilot and two other AI code generation tools (i.e., CodeWhisperer and Codeium) from GitHub projects. Our analysis identified 733 snippets, revealing a high likelihood of security weaknesses, with 29.5% of Python and 24.2% of JavaScript snippets affected. These issues span 43 Common Weakness Enumeration (CWE) categories, including significant ones like CWE-330: Use of Insufficiently Random Values , CWE-94: Improper Control of Generation of Code , and CWE-79: Cross-site Scripting . Notably, eight of those CWEs are among the 2023 CWE Top-25, highlighting their severity. We further examined using Copilot Chat to fix security issues in Copilot-generated code by providing Copilot Chat with warning messages from the static analysis tools, and up to 55.5% of the security issues can be fixed. We finally provide the suggestions for mitigating security issues in generated code. Yujia Fu, Peng Liang 0001, Amjed Tahir, Zengyang Li, Mojtaba Shahin, Jinfu Chen 0006 |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2025 | Leveraging Modular Architecture for Bug Characterization and Analysis in Automated Driving SoftwareabstractWith the rapid advancement of automated driving technology, numerous manufacturers deploy vehicles with auto-driving features. This highlights the importance of ensuring the quality of automated driving software. To achieve this, characterizing bugs in automated driving software is important, as it can facilitate bug detection and bug fixes, thereby ensuring software quality. Automated driving software typically has a modular architecture, where software is divided into multiple modules, each designed for its own functionality for automated driving. This may lead to varying bug characteristics. Additionally, our recent study has shown a correlation between bugs caused by code clones and the functionalities of modules in automated driving software. Hence, we consider the modular structure when analyzing bug characteristics. In this article, we analyze 3,078 bugs from two representative open-source Level-4 automated driving systems, Apollo and Autoware. By analyzing the bug report description, title, and developers’ discussions, we have identified 20 bug symptoms and 17 bug-fixing strategies and analyzed their relationships with the respective modules. Our analysis achieves 12 main findings offering a comprehensive view of bug characteristics in automated driving software. We believe our findings can help developers better understand and manage bugs in automated driving software, thereby improving software quality and reliability. Yingjie Jiang, Ran Mo, Wenjing Zhan, Zengyang Li, Yutao Ma |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2025 | Assessing and Analyzing the Correctness of GitHub Copilot's Code SuggestionsabstractAI programming has become a popular topic in recent years. Code suggestion, with code suggestion being a key capability of AI programming. Copilot, an “AI programmer” that provides code suggestions from natural language descriptions, has been launched by GitHub and OpenAI. By far, Copilot has been widely used by millions of developers. However, little work has systematically evaluated the correctness of Copilot’s suggestions. We conducted an empirical study on all 2,033 LeetCode problems to assess Copilot’s code generation across four mainstream languages: C, Java, JavaScript, and Python. We have found that: (1) 70.0% of problems received at least one correct suggestion, with language-specific rates of 29.7% (C), 57.7% (Java), 54.1% (JavaScript), and 41.0% (Python); (2) correctness decreases as problem difficulty increases, with acceptance rates of 89.3% (easy), 72.1% (medium), and 43.4% (hard); (3) acceptance rates vary across problem domains from 49.5% to 90.1%, while Graph problems challenge C and Python most, and Prefix Sum and Heap challenge Java and JavaScript most; (4) for the incorrect suggestions, we further summarize 17 types of error reasons accounting for their incorrectness and analyzed possible causes for why these errors occur. We believe our study can provide valuable insights into Copilot’s capabilities and limitations. Ran Mo, Wenjing Zhan, Yingjie Jiang, Yepeng Wang, Yuqi Zhao 0001, Zengyang Li, Yutao Ma |
ACM Trans. Softw. Eng. Methodol. | 7 |
| 2025 | Optimizing Pinning-Synchronization and Mining Pinned-Nodes of Directed NetworksabstractPinning control provides an effective approach to controlling large-scale networks and conserving control resources. This article presents a solution to pinning synchronization in directed networks with a precise index that measures the pinning synchronization capability of directed networks, capturing full topological information about the networks. Building upon this index, the article utilizes matrix analysis tools, such as the non-negative matrix theory and strongly connected decomposition to analyze the impact of network structures and controller parameters on the network synchronizability. Specifically, the study investigates the influence of the in-degree of unpinned nodes, the difference between in-degrees and out-degrees of nodes, strong connectivity components, and the linear feedback control gains on the network synchronizability. Moreover, the article addresses the challenge of optimally selecting pinned nodes by using a graph partitioning algorithm and a greedy node selection algorithm, which can be applied to effectively select pinned nodes in a large-scale network. Extensive simulations on a range of real-world directed networks validate the efficiency of the proposed algorithms and demonstrate their superiority over seven baseline algorithms. Hui Liu 0004, Manqiao Lü, Xi Zhang 0007, Zengyang Li, Guanrong Chen, Zhigang Zeng, Jinhu Lü 0001 |
IEEE Trans. Syst. Man Cybern. Syst. | 4 |
| 2024 | Copilot-in-the-Loop: Fixing Code Smells in Copilot-Generated Python Code using CopilotabstractAs one of the most popular dynamic languages, Python experiences a decrease in readability and maintainability when code smells are present. Recent advancements in Large Language Models have sparked growing interest in AI-enabled tools for both code generation and refactoring. GitHub Copilot is one such tool that has gained widespread usage. Copilot Chat, released in September 2023, functions as an interactive tool aimed at facilitating natural language-powered coding. However, limited attention has been given to understanding code smells in Copilot-generated Python code and Copilot Chat's ability to fix the code smells. To this end, we built a dataset comprising 102 code smells in Copilot-generated Python code. Our aim is to first explore the occurrence of code smells in Copilot-generated Python code and then evaluate the effectiveness of Copilot Chat in fixing these code smells employing different prompts. The results show that 8 out of 10 types of code smells can be detected in Copilot-generated Python code, among which Multiply-Nested Container is the most common one. For these code smells, Copilot Chat achieves a highest fixing rate of 87.1%, showing promise in fixing Python code smells generated by Copilot itself. In addition, the effectiveness of Copilot Chat in fixing these smells can be improved by providing more detailed prompts. Beiqi Zhang, Peng Liang 0001, Qiong Feng, Yujia Fu, Zengyang Li |
ASE | 5 |
| 2024 | Mining architectural information: A systematic mapping study
Musengamana Jean de Dieu, Peng Liang 0001, Mojtaba Shahin, Chen Yang 0007, Zengyang Li |
Empir. Softw. Eng. | 5 |
| 2024 | An exploratory study on just-in-time multi-programming-language bug prediction
Zengyang Li, Jiabao Ji, Peng Liang 0001, Ran Mo, Hui Liu 0004 |
Inf. Softw. Technol. | 1 |
| 2024 | Bug priority change: An empirical study on Apache projects
Zengyang Li, Guangzong Cai, Qinyi Yu, Peng Liang 0001, Ran Mo, Hui Liu 0004 |
J. Syst. Softw. | 1 |
| 2023 | Understanding Resolution of Multi-Language Bugs: An Empirical Study on Apache ProjectsabstractBackground: In modern software systems, more and more systems are written in multiple programming languages (PLs). There is no comprehensive investigation on the phenomenon of multi-programming-language (MPL) bugs, which resolution involves source files written in multiple PLs. Aim: This work investigated the characteristics of bug resolution in MPL software systems and explored the reasons why bug resolution involves multiple PLs. Method: We conducted an empirical study on 54 MPL projects selected from 655 Apache OSS projects, of which 66,932 bugs were analyzed. Results: (1) the percentage of MPL bugs (MPLBs) in the selected projects ranges from 0.17% to 42.26%, and the percentage of MPLBs for all projects as a whole is 10.01%; (2) 95.0% and 4.5% of all the MPLBs involve source files written in 2 and 3 PLs, respectively; (3) the change complexity resolution characteristics of MPLBs tend to be higher than those of single-programming-language bugs (SPLBs); (4) the open time for MPLBs is 19.52% to 529.57% significantly longer than SPLBs regarding 9 PL combinations; (5) the reopen rate of bugs involving the PL combination of JavaScript and Python reaches 20.66%; (6) we found 6 causes why the bug resolution involves multiple PLs and identified 5 cross-language calling mechanisms. Conclusion: MPLBs are related to increased development difficulty. Zengyang Li, Sicheng Wang 0005, Peng Liang 0001, Ran Mo |
ESEM | 1 |
| 2023 | Understanding Bugs in Multi-Language Deep Learning FrameworksabstractDeep learning frameworks (DLFs) have been playing an increasingly important role in this intelligence age since they act as a basic infrastructure for an increasingly wide range of AI-based applications. Meanwhile, as multi-programming-language (MPL) software systems, DLFs are inevitably suffering from bugs caused by the use of multiple programming languages (PLs). Hence, it is of paramount significance to understand the bugs (especially the bugs involving multiple PLs, i.e., MPL bugs) of DLFs, which can provide a foundation for preventing, detecting, and resolving bugs in the development of DLFs. To this end, we manually analyzed 1497 bugs in three MPL DLFs, namely MXNet, PyTorch, and TensorFlow. First, we classified bugs in these DLFs into 12 types (e.g., algorithm design bugs and memory bugs) according to their bug labels and characteristics. Second, we further explored the impacts of different bug types on the development of DLFs, and found that deployment bugs and memory bugs negatively impact the development of DLFs in different aspects the most. Third, we found that 28.6%, 31.4%, and 16.0% of bugs in MXNet, PyTorch, and TensorFlow are MPL bugs, respectively; the PL combination of Python and C/C++ is most used in fixing more than 92% MPL bugs in all DLFs. Finally, the code change complexity of MPL bug fixes is significantly greater than that of single-programming-language (SPL) bug fixes in all the three DLFs, while in PyTorch MPL bug fixes have longer open time and greater communication complexity than SPL bug fixes. These results provide insights for bug management in DLFs. Zengyang Li, Sicheng Wang 0005, Peng Liang 0001, Ran Mo, Bing Li 0010 |
ICPC | 1 |
| 2023 | A Comprehensive Study on Code Clones in Automated Driving SoftwareabstractWith the continuous improvement of artificial intelligence technology, autonomous driving technology has been greatly developed. Hence automated driving software has drawn more and more attention from both researchers and practitioners. Code clone is a commonly used to speed up the development cycle in software development, but many studies have shown that code clones may affect software maintainability. Currently, there is little research investigating code clones in automated driving software. To bridge this gap, we conduct a comprehensive experience study on the code clones in automated driving software. Through the analysis of Apollo and Autoware, we have presented that code clones are prevalent in automated driving software. about 30% of code lines are involved in code clones and more than 50% of files contain code clones. Moreover, a notable portion of these code clones has caused bugs and co-modifications. Due to the high complexity of autonomous driving, the automated driving software is often designed to be modular, with each module responsible for a single task. When considering each module individually, we have found that Perception, Planning, Canbus, and Sensing modules are more likely to encounter code clones, and more likely to have bug-prone and co-modified clones. Finally, we have shown that there exist cross-module clones to propagate bugs and co-modifications in different modules, which undermine the software's modularity. Ran Mo, Yingjie Jiang, Wenjing Zhan, Zengyang Li |
ASE | 5 |
| 2023 | Just-in-Time Defect Severity Prediction (S)abstractTo efficiently fix defects within a specific time frame during software development, researchers have proposed defect severity prediction to help developers determine which defects to fix first and make efficient use of limited resources.Additionally, to improve the efficiency of defect fixing, just-in-time (JIT) defect prediction has been proposed to promptly predict code fragments that may introduce defects when developers make code changes (i.e., submit a commit).In this way, defect feedback is prompt and localization precision is high.Typically, high-priority defects must be addressed as soon as possible, but when the bug report records a defect back to developers, they need to take time to get reacquainted with the related code fragments, slowing down the speed of high-priority defect fixes.Therefore, we used three machine learning algorithms to develop a JIT defect severity prediction model that allows developers to classify the severity of potential defects when submitting code changes.Our models were tested on ten large-scale projects and showed they can effectively predict defect severity just in time.With Random Forest, our models achieved an average precision of 0.552, and an average recall, F1-measure, and AUC of 0.579, 0.528, and 0.729, respectively.Using Decision Tree, the average precision, recall, F1-measure, and AUC achieve 0.479, 0.494, 0.485, and 0.619, respectively; Using KNN, the average precision, recall, F1measure, and AUC are 0.466, 0.468, 0.467, and 0.593, respectively.Meanwhile, we find a large portion (90.3% on average) of defectintroducing changes are at a high severity level. Ran Mo, Yushuo Wang, Yao Zhang 0028, Zengyang Li |
SEKE | 4 |
| 2023 | Exploring the Impact of Code Clones on Deep Learning SoftwareabstractDeep learning (DL) is a really active topic in recent years. Code cloning is a common code implementation that could negatively impact software maintenance. For DL software, developers rely heavily on frameworks to implement DL features. Meanwhile, to guarantee efficiency, developers often reuse the steps and configuration settings for building DL models. These may bring code copy-pastes or reuses inducing code clones. However, there is little work exploring code clones’ impact on DL software. In this article, we conduct an empirical study and show that: (1) code clones are prevalent in DL projects, about 16.3% of code fragments encounter clones, which is almost twice larger than the traditional projects; (2) 75.6% of DL projects contain co-changed clones, meaning changes are propagated among cloned fragments, which can bring maintenance difficulties; (3) Percentage of the clones and Number of clone lines are associated with the emergence of co-changes; (4) the prevalence of Code clones varies in DL projects with different frameworks, but the difference is not significant; (5) Type 1 co-changed clones often spread over different folders, but Types 2 and 3 co-changed clones mainly occur within the same files or folders; (6) 57.1% of all co-changed clones are involved in bugs. Ran Mo, Yao Zhang 0028, Yushuo Wang, Pu Xiong, Zengyang Li |
ACM Trans. Softw. Eng. Methodol. | 6 |
| 2022 | Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt CommunitiesabstractBackground: Technical Debt (TD) refers to the situation where developers make trade-offs to achieve short-term goals at the expense of long-term code quality, which can have a negative impact on the quality of software systems. In the context of code review, such sub-optimal implementations have chances to be timely resolved during the review process before the code is merged. Therefore, we could consider them as Potential Technical Debt (PTD) since PTD will evolve into TD when it is injected into software systems without being resolved. Aim: To date, little is known about the extent to which PTD is identified in code reviews. Many tools have been provided to detect TD, but these tools lack consensus and a large amount of PTD are undetectable by tools while code review could help verify the quality of code that has been committed by identifying issues, such as PTD. To this end, we conducted an exploratory study in an attempt to understand the nature of PTD in code reviews and track down the resolution of PTD after being identified. Method: We randomly collected 2,030 review comments from the Nova project of OpenStack and the Qt Base project of Qt. We then manually checked these review comments, and obtained 163 PTD-related review comments for further analysis. Results: Our results show that: (1) PTD can be identified in code reviews but is not prevalent. (2) Design, defect, documentation, requirement, test, and code PTD are identified in code reviews, in which code and documentation PTD are the dominant. (3) 81.0% of the PTD identified in code reviews has been resolved by developers, and 78.0% of the resolved TD was resolved by developers within a week. (4) Code refactoring is the main practice used by developers to resolve the PTD identified in code reviews. Conclusions: Our findings indicate that: (1) review-based detection of PTD is seen as one of the trustworthy mechanisms in development, and (2) there is still a significant proportion of PTD (19.0%) remaining unresolved when injected into the software systems. Practitioners and researchers should establish effective strategies to manage and resolve PTD in development. Liming Fu, Peng Liang 0001, Zengyang Li, Amjed Tahir |
ESEM | 4 |
| 2022 | A Preliminary Study on the Explicitness of Bug AssociationsabstractBugs are usually in associations with other bugs in a software system, e.g., a bug may result from another bug.However, such bug associations are implicit and usually cannot be traced without a significant amount of effort.Intuitively, if a bug association is easier to trace, the involved bugs can be fixed in a cleaner way.However, there is little evidence on the explicitness of bug associations.In this paper, we aim to evaluate the explicitness of bug associations, so as to get a basic understanding on such associations.To this end, we defined a metric to quantify the explicitness of a bug association, and conducted an empirical study on 11 non-trivial Apache open source software systems.The main findings are summarized as follows: (1) From the perspective of code change history, around 29% of bug pairs are not explicitly associated, and about 71% are explicitly associated to some extent; (2) Bugs in the association of Container have relatively strong association explicitness, while bugs in the association of Blocked or Blocker, Cloners, and Dependent have relatively weak association explicitness.These findings provide insights on software analyzability to practitioners and researchers. Zengyang Li, Jieling Xu, Guangzong Cai, Peng Liang 0001, Ran Mo |
SEKE | 1 |
| 2022 | Decisions in Continuous Integration and Delivery: An Exploratory StudyabstractIn recent years, Continuous Integration (CI) and Continuous Delivery (CD) has been heatedly discussed and widely used in part or all of the software development life cycle as the practices and pipeline to deliver software products in an efficient way.There are many tools, such as Travis CI, that offer various features to support the CI/CD pipeline, but there is a lack of understanding about what decisions are frequently made in CI/CD.In this work, we explored one popular open-source project on GitHub, Budibase, to provide insights on the types of decisions made in CI/CD from a practitioners' perspective.We first explored the GitHub Trending page, conducted a pilot repository extraction, and identified the Budibase repository as the case for our study.We then crawled all the closed issues from the repository and got 1,168 closed issues.Irrelevant issues were filtered out based on certain criteria, and 370 candidate issues that contain decisions were obtained for data extraction.We analyzed the issues using a hybrid approach combining predefined types and the Constant Comparison method to get the categories of decisions.The results show that the major type of decisions in the Budibase closed issues is Functional Requirement Decision (67.6%), followed by Architecture Decision (11.1%).Our findings encourage developers to put more effort on the issues and making decisions related to CI/CD, and provide researchers with a reference of decision classification made in CI/CD. Yajing Luo, Peng Liang 0001, Mojtaba Shahin, Zengyang Li, Chen Yang 0007 |
SEKE | 4 |
| 2022 | Improving generality and accuracy of existing public development project selection methods: a study on GitHub ecosystem
Can Cheng, Bing Li 0010, Zengyang Li, Peng Liang 0001 |
Autom. Softw. Eng. | 3 |
| 2022 | An in-depth study of the effects of methods on the dataset selection of public development projectsabstractAbstract Public development projects (PDPs) and documented public development projects (DPDPs) are two types of projects that can provide valuable information on how developers and users participate in OSS projects. However, it is hard for researchers to effectively select PDPs and DPDPs due to the lack of specific project selection methods for these two types of projects. To address this problem, a standard dataset was labelled and the base line methods (i.e. selecting projects according to a single feature like star number) under 60 configurations and the machine learning methods under 18 configurations were tested to identify the best configurations in precision and F‐measure for selecting PDPs and DPDPs. The results show that (1) to select PDPs or DPDPs with a high precision, the base line method is the best with precision of 0.877 (PDPs) and 0.831 (DPDPs); (2) to select PDPs or DPDPs with a high F‐measure, the machine learning methods are the best, with F‐measure of 0.817 (PDPs) and 0.789 (DPDPs); (3) existing sample selection strategies can be combined with the machine learning methods, and the precision of selecting PDPs can be increased by 6.39%–41.33% and the precision of selecting DPDPs can be can be increased by 35.50%–269.02%. Can Cheng, Bing Li 0010, Zengyang Li, Peng Liang 0001 |
IET Softw. | 3 |
| 2022 | An exploratory study of bug prediction at the method level
Ran Mo, Shaozhi Wei, Qiong Feng, Zengyang Li |
Inf. Softw. Technol. | 4 |
| 2022 | Exploring multi-programming-language commits and their impacts on software quality: An empirical study on Apache projects
Zengyang Li, Xiaoxiao Qi, Qinyi Yu, Peng Liang 0001, Ran Mo, Chen Yang 0007 |
J. Syst. Softw. | 1 |
| 2022 | Topology Identification of Multilink Complex Dynamical Networks via Adaptive Observers Incorporating Chaotic ExosignalsabstractTopology identification of complex networks is an important and meaningful research direction. In recent years, the topology identification method based on adaptive synchronization has been developed rapidly. However, a critical shortcoming of this method is that inner synchronization of a network breaks the precondition of linear independence and leads to the failure of topology identification. Hence, how to identify the network topology when possible inner synchronization occurs within the network has been a challenging research issue. To solve this problem, this article proposes improved topology identification methods by regulating the original network to synchronize with an auxiliary network composed of isolated chaotic exosystems. The proposed methods do not require the sophisticated assumption of linear independence. The topology identification observers incorporating a series of isolated chaotic exosignals can accurately identify the network structure. Finally, numerical simulations show that the proposed methods are effective to identify the structure of a network even with large weights of edges and abundant connections between nodes. Hui Liu 0004, Zengyang Li, Jinhu Lü 0001, Jun-An Lu |
IEEE Trans. Cybern. | 3 |
| 2022 | Intralayer Synchronization of Multiplex Dynamical Networks via Pinning Impulsive ControlabstractThese days, the synchronization of multiplex networks is an emerging and important research topic. Grounded framework and theory about synchronization and control on multiplex networks are yet to come. This article studies the intralayer synchronization on a multiplex network (i.e., a set of networks connected through interlayer edges), via the pinning impulsive control method. The topologies of different layers are independent of each other, and the individual dynamics of nodes in different layers are different as well. Supra-Laplacian matrices are adopted to represent the topological structures of multiplex networks. Two cases are considered according to impulsive sequences of multiplex networks: 1) pinning controllers are applied to all the layers simultaneously at the instants of a common impulse sequence and 2) pinning controllers are applied to each layer at the instants of distinct impulse sequences. Using the Lyapunov stability theory and the impulsive control theory, several intralayer synchronization criteria for multiplex networks are obtained, in terms of the supra-Laplacian matrix of network topology, self-dynamics of nodes, impulsive intervals, and the pinning control effect. Furthermore, the algorithms for implementing pinning schemes at every impulsive instant are proposed to support the obtained criteria. Finally, numerical examples are presented to demonstrate the effectiveness and correctness of the proposed schemes. Hui Liu 0004, Jie Li 0084, Zengyang Li, Zhigang Zeng, Jinhu Lü 0001 |
IEEE Trans. Cybern. | 3 |
| 2021 | Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory StudyabstractDeep learning (DL) frameworks have been extensively designed, implemented, and used in software projects across many domains. However, due to the lack of knowledge or information, time pressure, complex context, etc., various uncertainties emerge during the development, leading to assumptions made in DL frameworks. Though not all the assumptions are negative to the frameworks, being unaware of certain assumptions can result in critical problems (e.g., system vulnerability and failures). As the first step of addressing the critical problems, there is a need to explore and understand the assumptions made in DL frameworks. To this end, we conducted an exploratory study to understand self-claimed assumptions (SCAs) about their distribution, classification, and impacts using code comments from nine popular DL framework projects on GitHub. The results are that: (1) 3,084 SCAs are scattered across 1,775 files in the nine DL frameworks, ranging from 1,460 (TensorFlow) to 8 (Keras) SCAs. (2) There are four types of validity of SCAs: Valid SCA, Invalid SCA, Conditional SCA, and Unknown SCA, and four types of SCAs based on their content: Configuration and Context SCA, Design SCA, Tensor and Variable SCA, and Miscellaneous SCA. (3) Both valid and invalid SCAs may have an impact within a specific scope (e.g., in a function) on the DL frameworks. Certain technical debt is induced when making SCAs. There are source code written and decisions made based on SCAs. This is the first study on investigating SCAs in DL frameworks, which helps researchers and practitioners to get a comprehensive understanding on the assumptions made. We also provide the first dataset of SCAs for further research and practice in this area. Chen Yang 0007, Peng Liang 0001, Liming Fu, Zengyang Li |
EASE | 4 |
| 2021 | The Existence and Co-Modifications of Code Clones within or across MicroservicesabstractIn recent years, microservice architecture has been widely applied in software design. In addition, more and more monolithic software systems have been migrated into a microservice architecture. The core idea is to decompose the concerns of software projects into small and loosely-coupled services. Each service is supposed to be developed and even managed independently, which in turn improving the efficiency of development and maintenance. Code clone is common during software implementations, and many prior studies have revealed that code clones could cause maintenance difficulties. However, there is little work exploring the impacts of code clones on microservice projects. To bridge this gap, we focus on exploring the existence and co-modifications of within-service and cross-service code clones. With our evaluation of eight microservice projects, we have presented that there still exist code clones within services or across services. In addition, both within-service and cross-service code clones have been involved in co-modifications, meaning that these clones have caused maintenance difficulties. Finally, we have explored the characteristics of co-modifications in terms of changed LOC for both within-service and cross-service code clones. Ran Mo, Qiong Feng, Zengyang Li |
ESEM | 4 |
| 2021 | Multi-Programming-Language Commits in OSS: An Empirical Study on Apache ProjectsabstractModern software systems, such as Spark, are usually written in multiple programming languages (PLs). Besides benefiting from code reuse, such systems can also take advantages of specific PLs to implement certain features, to meet various quality needs, and to improve development efficiency. In this context, a change to such systems may need to modify source files written in different PLs. We define a multi-programming-language commit (MPLC) in a version control system (e.g., Git) as a commit that involves modified source files written in two or more PLs. To our knowledge, the phenomenon of MPLCs in software development has not been explored yet. In light of the potential impact of MPLCs on development difficulty and software quality, we performed an empirical study to understand the state of MPLCs, their change complexity, as well as their impact on open time of issues and bug proneness of source files in real-life software projects. By exploring the MPLCs in 20 non-trivial Apache projects with 205,994 commits, we obtained the following findings: (1) 9% of the commits from all the projects are MPLCs, and the proportion of MPLCs in 80% of the projects goes to a relatively stable level; (2) more than 90% of the MPLCs from all the projects involve source files written in two PLs; (3) the change complexity of MPLCs is significantly higher than that of non-MPLCs in all projects; (4) issues fixed in MPLCs take significantly longer to be resolved than issues fixed in non-MPLCs in 80% of the projects; and (5) source files that have been modified in MPLCs tend to be more bug-prone than source files that have never been modified in MPLCs. These findings provide practitioners with useful insights on the architecture design and quality management of software systems written in multiple PLs. Zengyang Li, Xiaoxiao Qi, Qinyi Yu, Peng Liang 0001, Ran Mo, Chen Yang 0007 |
ICPC | 1 |
| 2021 | Formal Definition and Automatic Generation of Semantic Metrics: An Empirical Study on Bug PredictionabstractBug prediction is helpful for facilitating bug fixes and improving the efficiency in software development and maintenance. In the past decades, researchers have proposed numerous studies on bug prediction by using code metrics. However, most of the existing studies use syntax-based metrics, there exists little work building bug prediction models with semantic metrics from source code. In this paper, we propose a new model, semantic dependency graph (SDG), to represent semantic relationships among source files. Based on the SDG, we formally define a suite of semantic metrics reflecting semantic characteristics of a project’s source files. Moreover, we create a tool to automate the generation of our proposed SDG-based metrics. Through our experimental studies, we have demonstrated that the SDG-based semantic metrics are effective for building bug prediction models, and the SDG-based metrics outperform traditional syntactic metrics on bug prediction. In addition, models using the SDG-based metrics could achieve a better prediction performance than two state-of-the-art models that learn semantic features automatically. Finally, we have also presented that our approach is applicable in practice in terms of execution time and space. Ran Mo, Pu Xiong, Zengyang Li, Qiong Feng |
SCAM | 4 |
| 2021 | Multiclass Classification of Four Types of UML Diagrams from Images Using Deep LearningabstractUML diagrams are a recognized standard modelling language for representing design of software systems.For academic research, large cases containing UML diagrams are needed.One of the challenges in collecting such datasets is automatically determining whether an image is a UML diagram or not and what type of UML diagram an image contains.In this study, we collected UML diagrams from open datasets and manually labeled them into four types of UML diagrams (i.e., class diagrams, activity diagrams, sequence diagrams, and use case diagrams) and non-UML images.We evaluated the performance of five popular neural network architectures using transfer learning on the dataset of 3231 images that contains 700 class diagrams, 454 activity diagrams, 651 use case diagrams, 706 sequence diagrams, and 720 non-UML images, respectively.We also proposed our neural network architecture for multiclass classification of UML diagrams.The experiment results show that our proposed neural network architecture achieved the best performance amongst the algorithms we evaluated with an accuracy of 98.65%, a precision of 96.76%, a recall of 96.48%, and an F1-score of 96.62%.Moreover, among the neural network architectures that we have evaluated, our proposed architecture has the least parameters (around 2.4 millions) and spends the least time per image (0.0135 seconds per image using GPU) for classifying UML diagrams. Sergei Shcherban, Peng Liang 0001, Zengyang Li, Chen Yang 0007 |
SEKE | 3 |
| 2021 | Predicting and Monitoring Bug-Proneness at the Feature Level
Shaozhi Wei, Ran Mo, Pu Xiong, Zengyang Li |
SETTA | 6 |
| 2021 | Multiclass Classification of UML Diagrams from Images Using Deep LearningabstractUnified Modeling Language (UML) diagrams are a recognized standard modeling language for representing design of software systems. For academic research, large cases containing UML diagrams are needed. One of the challenges in collecting such datasets is automatically determining whether an image is a UML diagram or not and what type of UML diagram an image contains. In this work, we collected UML diagrams from open datasets and manually labeled them into 10 types of UML diagrams (i.e. class diagrams, activity diagrams, use case diagrams, sequence diagrams, communication diagrams, component diagrams, deployment diagrams, object diagrams, package diagrams, and state machine diagrams) and non-UML images. We evaluated the performance of seven popular neural network architectures using transfer learning on the dataset of 4706 images, including 700 class diagrams, 454 activity diagrams, 651 use case diagrams, 706 sequence diagrams, 204 communication diagrams, 208 component diagrams, 287 deployment diagrams, 207 object diagrams, 246 package diagrams, 323 state machine diagrams, and 720 non-UML images, respectively. We also proposed our neural network architecture for multiclass classification of UML diagrams. The experiment results show that Xception achieved the best performance amongst the algorithms we evaluated with a precision of 93.03%, a recall of 92.44%, and an F1-score of 92.73%. Moreover, it is possible to develop small and almost the same efficient neural network architectures, that our proposed architecture has the least parameters (around 2.4 millions) and spends the least time per image (0.0135[Formula: see text]s per image using graphics processing unit) for classifying UML diagrams with a precision of 91.25%, a recall of 90.34%, and an F1-score of 90.79%. Sergei Shcherban, Peng Liang 0001, Zengyang Li, Chen Yang 0007 |
Int. J. Softw. Eng. Knowl. Eng. | 3 |
| 2020 | Automatic Identification of Decisions from the Hibernate Developer Mailing ListabstractDecisions run through the whole software development and maintenance processes. Explicitly documenting these decisions helps to organize development knowledge and to reduce its vaporization, thereby controlling the development process and maintenance costs. It can also support the knowledge acquisition process for stakeholders of the project. Meanwhile, developers (e.g., architects) and managers will be able to rely on the decisions made in the past to solve the problems encountered in their current projects. However, identifying decisions from massive textual artifacts, which involves considerable human effort, time, and cost, is usually unaffordable due to limited resources. To address this problem, we conducted an experiment to automatically identify decisions from textual artifacts using machine learning techniques. We created a dataset of 1,300 sentences labelled from the Hibernate developer mailing list, containing 650 decision sentences and non-decision sentences respectively, and trained machine learning models using 160 configurations regarding text preprocessing, feature extraction, and classification algorithms. The results show that (1) the text preprocessing method with Including Stop Words, No Stemming and Lemmatization, and No Filtering Out Sentences performs best when preprocessing posts to identify decisions; (2) the simple Bag-of-Words (BoW) model works best when extracting features to identify decisions; (3) the Support Vector Machine (SVM) algorithm gets the best result when training classifiers to identify decisions; and (4) the SVM algorithm with Including Stop Words (ISW), No Stemming and Lemmatization (NSaL), Filtering Out Sentences by Length (FOSbL), and BoW achieves the best performance (with a precision of 0.640, a recall of 0.932, and an F1-score of 0.759), compared with other configurations when identifying decisions from the mailing list. Peng Liang 0001, Zengyang Li |
EASE | 3 |
| 2020 | Interest of Defect Technical Debt: An Exploratory Study on Apache ProjectsabstractDefect technical debt (defect debt) refers to known deferred bugs that have not been fixed. The interest of a defect debt item (i.e., bug) is the extra effort needed to fix the bug due to the delay of fixing. It is important to measure defect debt interest in a software system in order to be aware of how much the interest of certain bugs is and which bugs should be fixed first. Furthermore, it is valuable to understand the features of the bugs of high interest or no interest, so as to facilitate the identification of those kinds of bugs. In this work, we proposed three pairs of measures for quantifying defect debt interest at three granularities (i.e., lines of code, source file, and package) of software changes, and conducted an exploratory case study on 13,438 bugs collected from 59 non-trivial Apache open source software projects written mainly in Java. We have the following findings. (1) Each bug, with an average of 224 days delay of fixing, has interest of 660 to 845 lines of code, 0.57 to 1.05 source files, and 0.29 to 0.35 package on average in need for understanding or modifying when fixing the bug. (2) The average interest of a bug shows overall increasing trends over delayed time of bug fixing and bug priority levels from the lowest to highest. (3) Around 30% of the bugs under study did not incur interest at the granularity of lines of code, which means that the involved source files in the bug-fixing commits of such bugs were not modified at all during the delayed time of bug fixing. (4) The average code change size of bug-fixing commits of a bug without interest is much smaller than that of a bug with (high) interest; for a bug without interest at the granularity of lines of code, the source files involved in the bug-fixing commits of the bug were alternately modified by different committers much less frequently than those of the bug with (high) interest. Zengyang Li, Qinyi Yu, Peng Liang 0001, Ran Mo, Chen Yang 0007 |
ICSME | 1 |
| 2020 | An Empirical Investigation on the Relationship Between Bug Severity and Bug Fixing Change Complexity
Zengyang Li, Dengwei Li, Peng Liang 0001, Ran Mo |
SEKE | 1 |
| 2020 | Is Bug Severity in Line with Bug Fixing Change Complexity?abstractBoth complexity of code change for bug fixing and bug severity play an important role in release planning when considering which bugs should be fixed in a specific release under certain constraints. This work investigates whether there are significant differences between bugs of different severity levels regarding the complexity of code change for fixing the bugs. Code change complexity is measured by the number of modified lines of code, source files, and packages, as well as the entropy of code change. We performed a case study on 20 Apache open source software (OSS) projects using commit records and bug reports. The study results show that (1) for bugs of high severity levels (i.e. Blocker, Critical and Major in JIRA), there is no significant difference on the complexity of code change for fixing bugs of different severity levels for most projects, while (2) for bugs of low severity levels (i.e. Major, Minor and Trivial in JIRA), fixing bugs of a higher severity level needs significantly more complex code change than fixing bugs of a lower severity level for most projects. These findings provide useful and practical insights for effort estimation and release planning of OSS development. Zengyang Li, Peng Liang 0001, Dengwei Li, Ran Mo, Bing Li 0010 |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 2019 | Improving Code Generation From Descriptive Text By Combining Deep Learning and Syntax RulesabstractCode generation is a model-driven engineering approach that enables developers to generate source code automatically and achieves extremely high development productivity.Specifically, generating code from a descriptive text reduces the time and expense of software development significantly.However, the performance of existing methods is not satisfying, since they are either of low accuracy (lack of specifics of the generated code) or too complicated (lack of efficiency in training).In this work, we proposed three novel methods by combining neural architectures and syntax rules, aiming at explicitly capturing the syntactical characteristics of target code.First, we proposed three models based on the Combination of Deep learning and Syntax rules (CDS models).Then, we evaluated CDS models with BLEU metric by comparing our models with existing methods.The results show that our models outperform existing methods for the challenging code generation task.Finally, we conducted a comparative study between the three CDS models.With further analysis we provided advice on the choice of neural architectures by considering both task accuracy and efficiency.Experimental results show that (1) there is a trade-off between speed and accuracy of the model, and (2) one of our CDS models (i.e., the CDS-POOLING model) outperforms other existing methods for the challenging code generation task. Xiangru Tang, Jiyang Qi, Zengyang Li |
SEKE | 4 |
| 2018 | Automatic Detection of Public Development Projects in Large Open Source Ecosystems: An Exploratory Study on GitHubabstract -Hosting over 10 million of software projects, GitHub is one of the most important data sources to study behavior of developers and software projects.However, with the increase of the size of open source datasets, the potential threats to mining these datasets have also grown.As the dataset grows, it becomes gradually unrealistic for human to confirm quality of all samples.Some studies have investigated this problem and provided solutions to avoid threats in sample selection, but some of these solutions (e.g., finding development projects) require human intervention.When the amount of data to be processed increases, these semi-automatic solutions become less useful since the effort in need for human intervention is far beyond affordable.To solve this problem, we investigated the GHTorrent dataset and proposed a method to detect public development projects.The results show that our method can effectively improve the sample selection process in two ways: (1) We provide a simple model to automatically select samples (with 0.827 precision and 0.947 recall); (2) We also offer a complex model to help researchers carefully screen samples (with 63.2% less effort than manually confirming all samples, and can achieve 0.926 precision and 0.959 recall). Can Cheng, Bing Li 0010, Zengyang Li, Peng Liang 0001 |
SEKE | 3 |
| 2018 | A Preliminary Investigation of Self-Admitted Refactorings in Open Source Software (S)abstract -In software development, developers commit code changes to the version control system.In a commit message, the committer may explicitly claim that the commit is a refactoring with the intention of code quality improvement.We defined such a commit as a self-admitted refactoring (SAR).Currently, there is little knowledge about the SAR phenomenon, and the impact of SARs on software projects is not clear.In this work, we performed a preliminary investigation on SARs with an emphasis on their impact on code quality using the assessment of code smells.We used two non-trivial open source software projects as cases and employed the PMD tool to detect code smells.The study results shows that: (1) SARs tend to improve code quality, though a small proportion of SARs introduced new code smells; and (2) projects that contain SARs have different results on frequently affected code smells. Zhang Di, Bing Li 0010, Zengyang Li, Peng Liang 0001 |
SEKE | 3 |
| 2018 | Synchronization regions of discrete-time dynamical networks with impulsive couplings
Zengyang Li, Hui Liu 0004, Jun-An Lu, Zhigang Zeng, Jinhu Lü 0001 |
Inf. Sci. | 1 |
| 2017 | Developer Role Evolution in Open Source Software Ecosystem: An Explanatory Study on GNOME
Can Cheng, Bing Li 0010, Zengyang Li, Yuqi Zhao 0001, Feng-Ling Liao |
J. Comput. Sci. Technol. | 3 |
| 2016 | Technical debt in MDE: a case study on GMF/EMF-based projects
Paris Avgeriou, Peng Liang 0001, Zengyang Li |
MoDELS | 4 |
| 2015 | Architectural Technical Debt Identification Based on Architecture Decisions and Change ScenariosabstractArchitectural technical debt (ATD) is incurred by design decisions that intentionally or unintentionally compromise system-wide quality attributes, particularly maintainability and evolvability. ATD is harmful to the system's long-term health, thus it needs to be identified for further management. However, existing ATD identification approaches are mainly based on source code analysis and thus suffer from certain shortcomings: they can only identify issues at the system implementation, they can only be employed after the systems is implemented in code, they lack a mechanism to confirm whether the potential ATD identified is real ATD or not. To address these issues, we proposed an ATD identification approach based on architecture decisions and change scenarios. To evaluate the effectiveness and usability of this approach, we conducted a case study with an information system in a large telecommunications company. The results show that the proposed approach is useful and easy to use, and it supports release planning and ATD interest measurement. Zengyang Li, Peng Liang 0001, Paris Avgeriou |
WICSA | 1 |
| 2015 | A systematic mapping study on technical debt and its managementabstractContext Technical debt (TD) is a metaphor reflecting technical compromises that can yield short-term benefit but may hurt the long-term health of a software system. Objective This work aims at collecting studies on TD and TD management (TDM), and making a classification and thematic analysis on these studies, to obtain a comprehensive understanding on the TD concept and an overview on the current state of research on TDM. Method A systematic mapping study was performed to identify and analyze research on TD and its management, covering publications between 1992 and 2013. Results Ninety-four studies were finally selected. TD was classified into 10 types, 8 TDM activities were identified, and 29 tools for TDM were collected. Conclusions The term “debt” has been used in different ways by different people, which leads to ambiguous interpretation of the term. Code-related TD and its management have gained the most attention. There is a need for more empirical studies with high-quality evidence on the whole TDM process and on the application of specific TDM approaches in industrial settings. Moreover, dedicated TDM tools are needed for managing various types of TD in the whole TDM process. Zengyang Li, Paris Avgeriou, Peng Liang 0001 |
J. Syst. Softw. | 1 |
| 2014 | Do architectural design decisions improve the understanding of software architecture? two controlled experimentsabstractArchitectural design decision (ADD) and its design rationale, as a paradigm shift on documenting and enriching architecture design description, is supposed to facilitate the understanding of architecture and the reasoning behind the design rationale, which consequently improves the architecting process and gets better architecture design results. But the lack of empirical evaluation that supports this statement is one of the major reasons that prevent industrial practitioners from using ADDs in their daily architecting activities. In this paper, we conducted two controlled experiments, as a family of experiments, to investigate how presence of ADDs can improve the understanding of architecture. The main results of our experiments are: (i) using ADDs and their rationale in architecture documentation does not affect the time needed for completing architecture design tasks; (ii) one experiment and the family of experiments achieved a significantly better understanding of architecture design when using ADDs; and (iii) with regard to the correctness of architecture understanding, more experienced participants benefited more from ADDs in comparison with less experienced ones. Mojtaba Shahin, Peng Liang 0001, Zengyang Li |
ICPC | 3 |
| 2013 | Recovering Software Architectural Knowledge from Documentation using Conceptual Model
Mojtaba Shahin, Peng Liang 0001, Zengyang Li |
SEKE | 3 |
| 2013 | Application of knowledge-based approaches in software architecture: A systematic mapping study
Zengyang Li, Peng Liang 0001, Paris Avgeriou |
Inf. Softw. Technol. | 1 |