- Software Engineering Research
- Software Testing and Debugging Techniques
- Software Reliability and Analysis Research
- Advanced Malware Detection Techniques
- Software System Performance and Reliability
- Scientific Computing and Data Management
- Cell Image Analysis Techniques
- Software Engineering Techniques and Practices
- Natural Language Processing Techniques
- Network Security and Intrusion Detection
- Security and Verification in Computing
- Advanced Neural Network Applications
- Adversarial Robustness in Machine Learning
- Hand Gesture Recognition Systems
- Rough Sets and Fuzzy Logic
- Topic Modeling
- Blockchain Technology Applications and Security
- Higher Education and Teaching Methods
- Robotics and Sensor-Based Localization
- Video Surveillance and Tracking Methods
- Advanced Steganography and Watermarking Techniques
- Web Application Security Vulnerabilities
- Educational Technology and Assessment
- Cloud Computing and Resource Management
- Sparse and Compressive Sensing Techniques
Huawei Technologies (China)
2022-2025
Nanjing University of Aeronautics and Astronautics
1997-2023
Changsha Normal University
2023
Hunan Normal University
2023
Anqing Normal University
2008-2023
Xidian University
2021-2022
Monash University
2022
Ministry of Industry and Information Technology
2021
Chongqing University
2021
University of Luxembourg
2018-2020
Automated testing of Android apps is essential for app users, developers, and market maintainer communities alike. Given the widespread adoption specificities its development model, literature has proposed various approaches ensuring that not only functional requirements but also nonfunctional are satisfied. In this paper, we aim at providing a clear overview state-of-the-art works around topic testing, in an attempt to highlight main trends, pinpoint methodologies applied, enumerate...
This paper presents the first attempt at fusing data from inertial and vision depth sensors within framework of a hidden Markov model for application hand gesture recognition. The fusion approach introduced in this is general purpose sense that it can be used recognition various body movements. It shown act complementary manner leading to more robust outcome compared with situations when each sensor individually on its own. obtained rates single gestures Microsoft MSR set indicate our...
Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the obtained with mutation operators through genetic programming. The performance of APR systems, however, depends on fix ingredients mined from changes development histories. Unfortunately, collecting reliable set bug fixes repositories can be challenging. In this paper, we propose investigate possibility an...
Properly benchmarking Automated Program Repair (APR) systems should contribute to the development and adoption of research outputs by practitioners.To that end, community must ensure it reaches significant milestones reliably comparing state-of-the-art tools for a better understanding their strengths weaknesses.In this work, we identify investigate practical bias caused fault localization (FL) step in repair pipeline.We propose highlight different configurations used literature, impact on...
To ensure code readability and facilitate software maintenance, program methods must be named properly. In particular, method names consistent with the corresponding implementations. Debugging remains an important topic in literature, where various approaches analyze commonalities among a large dataset to detect inconsistent suggest better ones. We note that state-of-the-art does not implemented itself assess consistency. thus propose novel automated approach debugging based on analysis of...
Several static analysis tools, such as Splint or FindBugs, have been proposed to the software development community help detect security vulnerabilities bad programming practices. However, adoption of these tools is hindered by their high false positive rates. If rate too high, developers may get acclimated violation reports from causing concrete and severe bugs being overlooked. Fortunately, some violations are actually addressed resolved developers. We claim that those recurrently fixed...
Test-based automated program repair has been a prolific field of research in software engineering the last decade. Many approaches have indeed proposed, which leverage test suites as weak, but affordable, approximation to specifications. Although literature regularly sets new records on number benchmark bugs that can be fixed, several studies increasingly raise concerns about limitations and biases state-of-the-art approaches. For example, correctness generated patches questioned studies,...
A large body of the literature automated program repair develops approaches where patches are generated to be validated against an oracle (e.g., a test suite). Because such can imperfect, patches, although by oracle, may actually incorrect. While state art explore research directions that require dynamic information or rely on manually-crafted heuristics, we study benefit learning code representations in order learn deep features encode properties patch correctness. Our empirical work mainly...
To improve software quality, just-in-time defect prediction (JIT-DP) (identifying defect-inducing commits) and localization (JIT-DL) code lines in have been widely studied by learning semantic features or expert respectively, indeed achieved promising performance. Semantic describe change commits from different aspects, however, the best of two not fully explored together to boost literature yet. Additional, JIT-DP identifies defects at coarse commit level, while as consequent task JIT-DP,...
Automated program repair (APR) has extensively been developed by leveraging search-based techniques, in which fix ingredients are explored and identified different granularities from a specific search space. State-of-the approaches often find using mutation operators or manually-crafted templates. We argue that the can be searched an online mode, code techniques to potentially-fixed versions of buggy fragments actions extracted. In this study, we present APR tool, LSRepair, automatically...
We revisit the performance of template-based APR to build comprehensive knowledge about effectiveness fix patterns, and highlight importance complementary steps such as fault localization or donor code retrieval. To that end, we first investigate literature collect, summarize label recurrently-used patterns. Based on investigation, TBar, a straightforward tool systematically attempts apply these patterns program bugs. thoroughly evaluate TBar Defects4J benchmark. In particular, assess actual...
Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies shown that state-of-the-art techniques repair tend generate patches only for small number of bugs even with quality issues (e.g., incorrect behavior nonsensical changes). improve program (APR) techniques, community should deepen its knowledge on actions from real-world since most rely written by human...
In this paper, we present the first exploratory study of deprecated Python library APIs to understand status quo API deprecation in realm libraries. Specifically, aim comprehend how are declared and documented practice by their maintainers, users react them. By thoroughly looking into six reputed libraries 1,200 GitHub projects, experimentally observe that is poorly handled contributors, which subsequently introduce difficulties for developers resolve usage APIs. This empirical evidence...
Numerous mobile apps have leveraged deep learning capabilities. However, on-device models are vulnerable to attacks as they can be easily extracted from their corresponding apps. Although the structure and parameters information of these accessed, existing attacking approaches only generate black-box (i.e., indirect white-box attacks), which less effective efficient than strategies. This is because (DL) frameworks like TensorFlow Lite (TFLite) do not support gradient computing (referred...
Code review is a standard practice for ensuring the quality of software projects, and recent research has focused extensively on automated code review. While significant advancements have been made in generating reviews, assessment these reviews remains less explored, with existing approaches metrics often proving inaccurate. Current metrics, such as BLEU, primarily rely lexical similarity between generated reference reviews. However, tend to underestimate that articulate expected issues...
Proper naming of methods can make program code easier to understand, and thus enhance software maintainability. Yet, developers may use inconsistent names due poor communication or a lack familiarity with conventions within the development lifecycle. To address this issue, much research effort has been invested into building automatic tools that check for method name inconsistency recommend consistent names. However, existing datasets generally do not provide precise details about why was...
Code generation aims to automatically generate code snippets of specific programming language according natural descriptions. The continuous advancements in deep learning, particularly pre-trained models, have empowered the task achieve remarkable performance. One main challenge models for is semantic gap between requirements and source code. To address issue, prior studies typically adopt a retrieval-augmented framework task, where similar collected by retrieval process can be leveraged...
Large language models (LLMs), such as ChatGPT released by OpenAI, have attracted significant attention from both industry and academia due to their demonstrated ability generate high-quality content for various tasks. Despite the impressive capabilities of LLMs, there are growing concerns regarding potential risks in fields, news, education, software engineering. Recently, several commercial open-source LLM-generated detectors been proposed, which, however, primarily designed detecting...
Detecting vulnerability fix commits in open-source software is crucial for maintaining security. To help OSS identify commits, several automated approaches are developed. However, existing like VulFixMiner and CoLeFunDa, focus solely on code changes, neglecting essential context from development artifacts. Tools Vulcurator, which integrates issue reports, fail to leverage semantic associations between different artifacts (e.g., pull requests history fixes). Moreover, they miss fixes tangled...
Code generation aims to automatically generate code snippets of specific programming language according natural descriptions. The continuous advancements in deep learning, particularly pre-trained models, have empowered the task achieve remarkable performance. One main challenge models for is semantic gap between developers’ requirements and source code. To address issue, prior studies typically adopt a retrieval-augmented framework task, where similar collected by retrieval process can be...