Yanzhen Zou

dblp:53/3766 · DBLP profile ↗
← Back
46ranked-venue papers
7as first author
11since 2021 · last 2026
0009-0009-1764-6645ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 38 · 6 first-author · 10 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 1 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Databases, data management, data science and information retrieval · 2 · 1 first-authorSystems, architecture and hardware · 1Security and privacy · 1 · 1 first-author
YearPublicationVenuePosition
2026 Progressively Mitigating API Hallucination in LLM-Generated Code via Knowledge Graph Reasoning
Zexiong Ma, Yanzhen Zou, Lihan Yang
SANER3
2025 SoRFT: Issue Resolving with Subtask-oriented Reinforced Fine-Tuning
abstract
Mainstream issue-resolving frameworks predominantly rely on commercial models, leading to high costs and privacy concerns.Existing training approaches for issue resolving struggle with poor generalization and fail to fully leverage open-source development resources.We propose Subtask-oriented Reinforced Fine-Tuning (SoRFT), a novel training approach to enhance the issue resolving capability of LLMs.We decomposes issue resolving into structured subtasks: file localization, function localization, line localization, and code edit generation.SoRFT consists of two training stages:(1) rejection-sampled supervised fine-tuning, Chain of Thought (CoT) data is filtered using ground-truth before fine-tuning the LLM, and (2) rule-based reinforcement learning, which leverages PPO with ground-truth based rewards.We evaluate the SoRFT-trained model on SWE-Bench Verified and SWE-Bench Lite, achieving state-of-the-art (SOTA) performance among open-source models (e.g., resolve 21.4% issues on SWE-Bench Verified with SoRFT-Qwen-7B).The experimental results demonstrate that SoRFT significantly enhances issue-resolving performance, improves model generalization, and provides a cost-efficient alternative to commercial models.
Zexiong Ma, Chao Peng 0002, Xiangxin Meng, Yanzhen Zou
ACL (1)5
2025 Issue Retrieval and Verification Enhanced Supplementary Code Comment Generation
abstract
Issue reports have been recognized to contain rich information for retrieval-augmented code comment generation.However, how to minimize hallucinations in the generated comments remains significant challenges.In this paper, we propose IsComment, an issue-based LLM retrieval and verification approach for generating method's design rationale, usage directives, and so on as supplementary code comments.We first identify five main types of code supplementary information that issue reports can provide through code-comment-issue analysis.Next, we retrieve issue sentences containing these types of supplementary information and generate candidate code comments.To reduce hallucinations, we filter out those candidate comments that are irrelevant to the code or unverifiable by the issue report, making the code comment generation results more reliable.Our experiments indicate that compared with LLMs, IsComment increases the coverage of manual supplementary comments from 33.6% to 72.2% for ChatGPT, from 35.8% to 88.4% for GPT-4o, and from 35.0% to 86.2% for DeepSeek-V3.Compared with existing work, IsComment can generate richer and more useful supplementary code comments for programming understanding, which is quantitatively evaluated through the MESIA metric on both methods with and without manual code comments.
Yanzhen Zou, Xianlin Zhao, Xinglu Pan
Internetware1
2025 Enhancing LLMs with Staged Grouping and Dehallucination for Header File Decomposition
abstract
God Header Files, large header files included by numerous other code files, present significant challenges for code comprehension and maintenance. Existing approaches leverage various code similarity metrics to decompose them, but these metrics do not always capture the code’s functional essence accurately. Large Language Models (LLMs), with their advanced capabilities in code understanding and generation, offer a promising alternative for producing more effective refactorings. However, LLMs face three critical limitations that hinder practical application: they struggle with lengthy header files due to token constraints, suffer from hallucination by generating incomplete or spurious results, and produce cyclic dependencies that violate architectural principles and cause compilation failures. To address these challenges, we propose HFDecomposer, a hybrid approach that enhances LLMs with staged grouping and dehallucination techniques to effectively decompose header files. Our approach introduces a two-stage grouping framework for lengthy header files: it first groups strongly related code entities using traditional similarity metrics, then feeds group summaries to the LLM for higher-level semantic aggregation. To mitigate LLM hallucinations, we enhance prompts with factual knowledge extracted from static analysis, detect errors in LLM output, and make necessary corrections by reassigning missing entities and resolving cyclic dependencies. Our evaluation on real-world header file decomposition refactorings demonstrates that our method effectively overcomes the limitations of purely LLM-based techniques and outperforms the traditional state-of-the-art approach by 11%, delivering more accurate and reliable decomposition results. Our approach enables LLMs to handle lengthy header files efficiently, significantly reduces hallucinations, and ensures the reliability and practicality of the final decomposition.
Jiaxuan Sun, Yanzhen Zou
ASE3
2024 Context-Focused Prompt Tuning Pre-Trained Code Models to Improve Code Summarization
abstract
Existing code summarization approaches overlook developers' discriminative context focuses when generating code comments. This paper proposes a context-focused code sum-marization approach based on the prompt tuning technique. It enables the pre-trained code models to identify specific context focuses around a method and to generate the method's comment with corresponding contextual information, which improves the accuracy and informativeness of the generated comments. As the first attempt, we design prompt templates for six common types of contexts, construct a context-focused code-comment dataset, and prompt-tune two pre-trained code models with the dataset to generate code comments. The experimental results demonstrate that our approach significantly improves the existing models to generate context-focused comments. Compared with existing approaches, our generated comments are more informative, and our models can adapt to different code contexts, making the generation process more interpretable. We discuss the envisioned application of our approach and challenges for future work to tackle, including identifying more essential code contexts automatically, constructing more effective prompts, etc.
Xinglu Pan, Chenxiao Liu, Yanzhen Zou, Xianlin Zhao
COMPSAC3
2024 Decomposing God Header File via Multi-View Graph Clustering
abstract
God Header Files, just like God Classes, pose significant challenges for code comprehension and maintenance. Additionally, they increase the time required for code recompilation. However, existing refactoring methods for God Classes are inappropriate to deal with God Header Files because the code elements in header files are mostly short declaration types, and build dependencies of the entire system should be considered with the aim of improving compilation efficiency. Meanwhile, ensuring acyclic dependencies among the decomposed sub-header files is also crucial in the God Header File decomposition. This paper proposes a multi-view graph clustering based approach for decomposing God Header Files. It first constructs and coarsens the code element graph, then a novel multi-view graph clustering algorithm is applied to identify the clusters and a heuristic algorithm is introduced to address the cyclic dependencies in the clustering results. To evaluate our approach, we built both a synthetic dataset and a real-world God Header Files dataset. The results show that 1) Our approach could achieve 11.5% higher accuracy than existing God Class refactoring methods; 2) Our decomposition results attain better architecture on real-world God Header Files, evidenced by higher modularity and acyclic dependencies; 3) We can reduce 15% to 60% recompilation time for historical commits that require recompiling.
Wenhui Chang, Tongwei Deng, Yanzhen Zou
ICSME4
2024 An Exploratory Study on God Header Files in Open-Source C Projects
abstract
God Header Files, like God Classes, pose difficulties in code understanding and lead to slow compilation in code evolution. However, there is little empirical evidence on their prevalence and impact. This study aims to investigate God Header Files in open-source C language software projects, in terms of their size, distribution, impact on compilation, and whether existing God Class refactoring approaches can decompose them effectively. We collected and quantitatively analyzed 557 popular open-source C language software projects and their commit histories, focusing on files with large code size, wide impact, and frequent modifications. Then we decomposed several typical header files using graph clustering algorithms and existing God Class refactoring methods. The most important results of our study can be summarized as follows: (1) 37.5% of the studied projects are affected by God Header Files, with 203 projects having 649 God Header Files; (2) 103 of the identified God Header Files have been modified hundreds of times, while 95% of the modifications only involve a small proportion of code. (3) Decomposing God Header Files with generic graph clustering algorithms and God Class refactoring methods could reduce recompilation to some extent during software evolution, but a new solution needs to be proposed in the future. Our study highlights the importance of God Header Files since they are widespread and can be harmful in software maintenance. Decomposition is an effective way to refactor God Header Files but better decomposing algorithms need to be proposed.
Yue Wang 0082, Wenhui Chang, Yanzhen Zou
Internetware3
2024 MESIA: Understanding and Leveraging Supplementary Nature of Method-level Comments for Automatic Comment Generation
abstract
Code comments are important for developers in program comprehension. In scenarios of comprehending and reusing a method, developers expect code comments to provide supplementary information beyond the method signature. However, the extent of such supplementary information varies a lot in different code comments. In this paper, we raise the awareness of the supplementary nature of method-level comments and propose a new metric named MESIA (Mean Supplementary Information Amount) to assess the extent of supplementary information that a code comment can provide. With the MESIA metric, we conduct experiments on a popular code-comment dataset and three common types of neural approaches to generate method-level comments. Our experimental results demonstrate the value of our proposed work with a number of findings. (1) Small-MESIA comments occupy around 20% of the dataset and mostly fall into only the WHAT comment category. (2) Being able to provide various kinds of essential information, large-MESIA comments in the dataset are difficult for existing neural approaches to generate. (3) We can improve the capability of existing neural approaches to generate large-MESIA comments by reducing the proportion of small-MESIA comments in the training set. (4) The retrained model can generate large-MESIA comments that convey essential meaningful supplementary information for methods in the small-MESIA test set, but will get a lower BLEU score in evaluation. These findings indicate that with good training data, auto-generated comments can sometimes even surpass human-written reference comments, and having no appropriate ground truth for evaluation is an issue that needs to be addressed by future work on automatic comment generation.
Xinglu Pan, Chenxiao Liu, Yanzhen Zou, Tao Xie 0001
ICPC3
2021 Comprehensive Integration of API Usage Patterns
abstract
Nowadays, developers often reuse existing APIs to implement their programming tasks. A lot of API usage patterns are mined to help developers learn API usage rules. However, there are still many missing variables to be synthesized when developers integrate the patterns into their programming context. To deal with this issue, we propose a comprehensive approach to integrate API usage patterns in this paper. We first perform an empirical study by analyzing how API usage patterns are integrated in real-world projects. We find the expressions for variable synthesis is often non-trivial and can be divided into 5 syntax types. Based on the observation, we promote an approach to help developers interactively complete API usage patterns. Compared to the existing code completion techniques, our approach can recommend infrequent expressions accompanied with their real-world usage examples according to the user intent. The evaluation shows that our approach could assist users to integrate APIs more efficiently and complete the programming tasks faster than existing works.
Shijun Wu, Yanzhen Zou
ICPC3
2021 Graph Neural Network Based Collaborative Filtering for API Usage Recommendation
abstract
Developers often face the need to find out how to use different APIs suitable for their purposes. API usage recommendation has been shown very useful to facilitate the process of software reuse and daily development. Previous approaches mainly use statistical models and collaborative filtering(CF) techniques to improve the accuracy of recommendation. However, they fail to exploit the high-order connectivity of the interaction of API calls and the structural information of software projects. In this paper, we formulate this problem in terms of the graph-based collaborative filtering recommendation. We propose a novel approach for API usage recommendation, named GAPI, which uses graph neural networks (GNNs) to capture the high-order collaborative signals from API calls. Besides, GAPI integrates project structures into the graph and incorporates text attributes in the network, which are helpful to represent the program semantics. We evaluate our approach on large-scale open-source repositories collected from Github and Maven Central. The experimental results demonstrate that our approach is effective and outperforms the state-of-the-art approaches in terms of success rate and accuracy.
Chunyang Ling, Yanzhen Zou
SANER2
2021 Deep Learning Based Code Smell Detection
abstract
Code smells are structures in the source code that suggest the possibility of refactorings. Consequently, developers may identify refactoring opportunities by detecting code smells. However, manual identification of code smells is challenging and tedious. To this end, a number of approaches have been proposed to identify code smells automatically or semi-automatically. Most of such approaches rely on manually designed heuristics to map manually selected source code metrics into predictions. However, it is challenging to manually select the best features. It is also difficult to manually construct the optimal heuristics. To this end, in this paper we propose a deep learning based novel approach to detecting code smells. The key insight is that deep neural networks and advanced deep learning techniques could automatically select features of source code for code smell detection, and could automatically build the complex mapping between such features and predictions. A big challenge for deep learning based smell detection is that deep learning often requires a large number of labeled training data (to tune a large number of parameters within the employed deep neural network) whereas existing datasets for code smell detection are rather small. To this end, we propose an automatic approach to generating labeled training data for the neural network based classifier, which does not require any human intervention. As an initial try, we apply the proposed approach to four common and well-known code smells, i.e., feature envy, long method, large class, and misplaced class. Evaluation results on open-source applications suggest that the proposed approach significantly improves the state-of-the-art.
Hui Liu 0003, Jiahao Jin, Yanzhen Zou, Yifan Bu, Lu Zhang 0023
IEEE Trans. Software Eng.4
2020 Adaptive Deep Code Search
abstract
Searching code in a large-scale codebase using natural language queries is a common practice during software development. Deep learning-based code search methods demonstrate superior performance if models are trained with large amount of text-code pairs. However, few deep code search models can be easily transferred from one codebase to another. It can be very costly to prepare training data for a new codebase and re-train an appropriate deep learning model. In this paper, we propose AdaCS, an adaptive deep code search method that can be trained once and transferred to new codebases. AdaCS decomposes the learning process into embedding domain-specific words and matching general syntactic patterns. Firstly, an unsupervised word embedding technique is used to construct a matching matrix to represent the lexical similarities. Then, a recurrent neural network is used to capture latent syntactic patterns from these matching matrices in a supervised way. As the supervised task learns general syntactic patterns that exist across domains, AdaCS is transferable to new codebases. Experimental results show that: when extended to new software projects never seen in the training data, AdaCS is more robust and significantly outperforms state-of-the-art deep code search methods.
Chunyang Ling, Zeqi Lin, Yanzhen Zou
ICPC3
2020 From API to NLI: A new interface for library reuse
Shijun Wu, Yanzhen Zou, Zixiao Zhu
J. Syst. Softw.3
2019 NLI2Code: Reusing Libraries with Natural Language Interface
Yanzhen Zou, Zixiao Zhu, Shijun Wu
ICSR3
2019 Searching Software Knowledge Graph with Question
Yanzhen Zou, Yingkui Cao
ICSR2
2019 Extracting Code-relevant Description Sentences Based on Structural Similarity
abstract
Software developers often need to read code snippets that are dispersed among different documentation, e.g., Q&A posts, to reuse APIs to complete certain tasks. These code snippets are often surrounded by lengthy context text which are used to describe the functions of code snippets. It will be helpful for code comprehension if we can align a code snippet with its description. In this paper, we propose an approach to extracting code-relevant sentences from its context text. To quantify the relevance between code line and natural language sentence, we represent them with structure trees and calculate their structural similarity. We conduct two experiments to evaluate our approach. In Experiment I, the results show that our approach achieves 83.5% precision and 80.1% recall in aligning Lucene code snippets and corresponding comments. Our approach achieves 27.6% ~ 40.2% improvement in precision compared with existing method, and 33.8% ~ 39.7% improvement in recall. In Experiment II, the results show that our approach achieves 66.4% ~ 93.9% precision to extract code-relevant sentences.
Yingkui Cao, Yanzhen Zou
Internetware2
2019 CoRA: Decomposing and Describing Tangled Code Changes for Reviewer
abstract
Code review is an important mechanism for code quality assurance both in open source software and industrial software. Reviewers usually suffer from numerous, tangled and loosely related code changes that are bundled in a single commit, which makes code review very difficult. In this paper, we propose CoRA (Code Review Assistant), an automatic approach to decompose a commit into different parts and generate concise descriptions for reviewers. More specifically, CoRA can decompose a commit into independent parts (e.g., bug fixing, new feature adding, or refactoring) by code dependency analysis and tree-based similar-code detection, then identify the most important code changes in each part based on the PageRank algorithm and heuristic rules. As a result, CoRA can generate a concise description for each part of the commit. We evaluate our approach in seven open source software projects and 50 code commits. The results indicate that CoRA can improve the accuracy of decomposing code changes by 6.3% over the state-of-art practice. At the same time, CoRA can identify the important part from the fine-grained code changes with a mean average precision (MAP) of 87.7%. We also conduct a human study with eight participants to evaluate the performance and usefulness of CoRA, the user feedback indicates that CoRA can effectively help reviewers.
Zeqi Lin, Yanzhen Zou
ASE3
2019 Graph Embedding Based API Graph Search and Recommendation
Chunyang Ling, Yanzhen Zou, Zeqi Lin
J. Comput. Sci. Technol.2
2018 An Exploratory Study on Codes in Heterogeneous Software Documents
abstract
Different kinds of software documents are produced in the life cycle of a software project, such as Bug Reports, Mail Lists, etc. These documents have close relationship with source code, but it is difficult to recover their traceability relationship. In this paper, we conduct an exploratory study on codes in a software project's heterogeneous documents, so that we can give some hints for traceability recovery from software documents to source code. We select a famous open source software project, Lucene, as sample, and collect its four kinds of software documents, including Bug Reports, Mail Lists, Stack Overflow Q&A Documents and Blogs. On this basis, we analyze these heterogeneous documents to answer the following questions: How much code is there in different kinds of documents? What APIs do these documents focus on? How many documents are relevant to the same APIs? Based on the study, we give 3 hints for recovering the traceability from software heterogeneous documents to source code.
Yanzhen Zou, Yingkui Cao
Internetware1
2018 Graph Embedding based Code Search in Software Project
abstract
Source code search is one of the most important methods to study and reuse software project. Currently, natural language based code search mainly faces the following two challenges: 1) More accurate search results are required when software projects evolve to be more heterogeneous and complex. 2) The semantic relationships between code elements (classes, methods, etc.) need to be illustrated so that developers could better understand their usage scenarios. To deal with these issues, we propose a novel approach to searching a software project's source code based on graph embedding. First, we build a software project's code graph automatically from its source code and represent each code element in the code graph with graph embedding. Second, we search code graph with natural language questions, return corresponding subgraph that composed of relevant code elements and their associated relationships, as the best answer of the search question. In experiments, we select two famous open source projects, Apache Lucene and POI, as examples to perform source code search tasks. The experimental results show that our approach improves F1-score by 10% than existing shortest path based code graph search approach, while reduces average response time about 60 times.
Yanzhen Zou, Chunyang Ling, Zeqi Lin
Internetware1
2018 Deep learning based feature envy detection
abstract
Software refactoring is widely employed to improve software quality. A key step in software refactoring is to identify which part of the software should be refactored. To facilitate the identification, a number of approaches have been proposed to identify certain structures in the code (called code smells) that suggest the possibility of refactoring. Most of such approaches rely on manually designed heuristics to map manually selected source code metrics to predictions. However, it is challenging to manually select the best features, especially textual features. It is also difficult to manually construct the optimal heuristics. To this end, in this paper we propose a deep learning based novel approach to detecting feature envy, one of the most common code smells. The key insight is that deep neural networks and advanced deep learning techniques could automatically select features (especially textual features) of source code for feature envy detection, and could automatically build the complex mapping between such features and predictions. We also propose an automatic approach to generating labeled training data for the neural network based classifier, which does not require any human intervention. Evaluation results on open-source applications suggest that the proposed approach significantly improves the state-of-the-art in both detecting feature envy smells and recommending destinations for identified smelly methods.
Hui Liu 0003, Yanzhen Zou
ASE3
2018 Toward accurate link between code and software documentation
Yingkui Cao, Yanzhen Zou, Yuxiang Luo, Junfeng Zhao 0001
Sci. China Inf. Sci.2
2017 Refining Traceability Links between Code and Software Documents
abstract
Recovering traceability links between source code and software document can be very helpful for Software Maintenance and Software Reuse. Existing work has already achieved good results in extracting code elements (classes, methods, etc.) from software documents. However, it will lead to a lot of noise links if we link a document to all the code elements existing in it. In this paper, we propose an approach to identify the contextual code elements and the salient code elements in a software document, then we can weight the traceability links between source code and software document so that those noise traceability links can be filtered effectively. We measure the saliency of each code element in a document with four kinds of document-related features and three kinds of code-related features, and we adopt TransR-based code embedding technology to evaluate the distance between code elements. In the experiments, we get a precision of 70.7% in recognizing salient code elements of StackOverflow answer documents, which is more than 12% improvement compared with Rigby's work. At the same time, we can filter about 56.5%~69.3% noise traceability links compared with the RecoDoc approach. It will improve the quality of traceability links between source code and related software documents.
Yingkui Cao, Yanzhen Zou, Yuxiang Luo, Junfeng Zhao 0001
Internetware2
2017 Document Distance Estimation via Code Graph Embedding
abstract
Accurately representing the distance between two documents (i.e. pieces of textual information extracted from various software artifacts) has far-reaching applications in many automated software engineering approaches, such as concept location, bug location and traceability link recovery. This is a challenging task, since documents containing different words may have similar semantic meanings. In this paper, we propose a novel document distance estimation approach. This approach captures latent semantic associations between documents through analyzing structural information in software source code: first, we embed code elements as points in a shared representation space according to structural dependencies between them; then, we represent documents as weighted point clouds of code elements in the representation space and reduce the distance between two documents to an earth mover's distance transportation problem. We define a document classification task in StackOverflow dataset to evaluate the effectiveness of our approach. The empirical evaluation results show that our approach outperforms several state-of-the-art approaches.
Zeqi Lin, Junfeng Zhao 0001, Yanzhen Zou
Internetware3
2017 Automatically Generating Task-Oriented API Learning Guide
abstract
Learning and reusing open source API libraries remain a time consuming process due to the documentation quality and the knowledge gap between API providers and users. Some researchers and API providers have found that the development tasks would narrow the knowledge gap and meet the needs of busy developers. To our knowledge, there is no existing work to generating task oriented API documents. In this paper, we propose an automatic approach to generating task oriented API learning guide. The guide is organized by a hierarchical task list. We integrate the natural language processing techniques with an evidence-based filtering pipeline in our approach. We also employ a graph-based clustering procedure to generate a three-layer task list. Furthermore, we define the normal form of the task phrases as the metadata in our approach. The approach has been implemented as a tool, APITasks. We used it to generate the API documents for four libraries. In an empirical study, we evaluate the accuracy and completeness of our approach with the manually created benchmarks. The results affirm the capability of our approach.
Zixiao Zhu, Chenyan Hua, Yanzhen Zou, Junfeng Zhao 0001
Internetware3
2017 Improving software text retrieval using conceptual knowledge in source code
abstract
A large software project usually has lots of various textual learning resources about its API, such as tutorials, mailing lists, user forums, etc. Text retrieval technology allows developers to search these API learning resources for related documents using free-text queries, but it suffers from the lexical gap between search queries and documents. In this paper, we propose a novel approach for improving the retrieval of API learning resources through leveraging software-specific conceptual knowledge in software source code. The basic idea behind this approach is that the semantic relatedness between queries and documents could be measured according to software-specific concepts involved in them, and software source code contains a large amount of software-specific conceptual knowledge. In detail, firstly we extract an API graph from software source code and use it as software-specific conceptual knowledge. Then we discover API entities involved in queries and documents, and infer semantic document relatedness through analyzing structural relationships between these API entities. We evaluate our approach in three popular open source software projects. Comparing to the state-of-the-art text retrieval approaches, our approach lead to at least 13.77% improvement with respect to mean average precision (MAP).
Zeqi Lin, Yanzhen Zou, Junfeng Zhao 0001
ASE2
2017 Intelligent Development Environment and Software Knowledge Graph
Zeqi Lin, Yanzhen Zou, Junfeng Zhao 0001, Xuandong Li, Jun Wei 0001, Hailong Sun 0001, Gang Yin
J. Comput. Sci. Technol.3
2016 Probabilistic-Mismatch Anomaly Detection: Do One's Medications Match with the Diagnoses
abstract
Anomaly detection in healthcare data like patient records is no trivial task. The anomalies in these datasets are often caused by mismatches between different types of feature, e.g., medications that do not match with the diagnoses. Existing anomaly detection methods do not perform well when detecting "mismatches" between multiple types of feature, especially when the feature space is high-dimensional and sparse. This paper introduces a novel anomaly detection paradigm: Probabilistic-Mismatch Anomaly Detection (PMAD), which detects mismatches between features by modeling a normal instance with a common latent probability distribution that governs the generation of all types of feature. Under this paradigm, the target of anomaly detection is to find instances with dissimilar latent distributions. We further propose Topical PMAD based on an extended Latent Dirichlet Allocation (LDA) model, which is able to capture the latent relationship between features in a high-dimensional space. Experiments on both synthetic data and real-world patient records show that Topical PMAD can effectively detect anomalies with mismatched features, and is highly robust against high-dimensional data as well as inaccurate model selection. The real-world anomalies detected on a patient record dataset show a promising application prospect.
Lingxiao Zhang, Xiang Li 0013, Haifeng Liu 0005, Jing Mei, Gang Hu 0001, Junfeng Zhao 0001, Yanzhen Zou, Guo Tong Xie
ICDM7
2015 Learning to Rank for Question-Oriented Software Text Retrieval (T)
abstract
Question-oriented text retrieval, aka natural language-based text retrieval, has been widely used in software engineering. Earlier work has concluded that questions with the same keywords but different interrogatives (such as how, what) should result in different answers. But what is the difference? How to identify the right answers to a question? In this paper, we propose to investigate the "answer style" of software questions with different interrogatives. Towards this end, we build classifiers in a software text repository and propose a re-ranking approach to refine search results. The classifiers are trained by over 16,000 answers from the StackOverflow forum. Each answer is labeled accurately by its question's explicit or implicit interrogatives. We have evaluated the performance of our classifiers and the refinement of our re-ranking approach in software text retrieval. Our approach results in 13.1% and 12.6% respectively improvement with respect to text retrieval criteria nDCG@1 and nDCG@10 compared to the baseline. We also apply our approach to FAQs of 7 open source projects and show 13.2% improvement with respect to nDCG@1. The results of our experiments suggest that our approach could find answers to FAQs more precisely.
Yanzhen Zou, Ting Ye, Yangyang Lu, John Mylopoulos, Lu Zhang 0023
ASE1
2015 Educational Evaluation in the PKU SPOC Course "Data Structures and Algorithms"
abstract
In order to learn the impact of MOOCs, we conducted a SPOC experiment on the course of Data Structures and Algorithms in Peking University. In this paper, we analyze student online activities, test scores, and two surveys using statistical methods (t-test, analysis of variance, correlation analysis and OLS regression) to understand what factors will foster improvements in student learning. We find that the "SPOC + Flipped" is a helpful mode to teach algorithm, time spent on the course and students' confidence had a positive impact on learning effect, and SPOC resource should be made full use of.
Ming Zhang 0004, Jile Zhu, Yanzhen Zou, Hongfei Yan, Dan Hao 0001, Chuxiong Liu
L@S3
2014 Mining API Usage Examples from Test Code
abstract
Lack of effective usage examples in API documents has been proven to be a great obstacle to API learning. To deal with this issue, several approaches have been proposed to automatically extract usage examples from client code or related web pages, which are unfortunately not available for newly released API libraries. In this paper, we propose a novel approach to mining API usage examples from test code. Although test code can be a good source of usage examples, the issue of multiple test scenarios might lead to repetitive and interdependent API usages in a test method, which make it complicated and difficult to extract API usage examples. To address this issue, we study the JUnit test code and summarize a set of test code patterns. We employ a code pattern based heuristic slicing approach to separate test scenarios into code examples. Then we cluster the similar usage examples for recommendation. An evaluation on four open source software libraries demonstrates that the accuracy of our approach is much higher than the state-of-art approach eXoaDoc on test code. Furthermore, we have developed an Eclipse plug in tool Use Tec.
Zixiao Zhu, Yanzhen Zou, Yong Jin 0008, Zeqi Lin, Lu Zhang 0023
ICSME2
2014 Interrogative-guided re-ranking for question-oriented software text retrieval
abstract
In many software engineering tasks, question-oriented text retrieval is often used to help developers search for software artifacts. In this paper, we propose an interrogative-guided re-ranking approach for question-oriented software text retrieval. Since different interrogatives usually indicate users' different search focuses, we firstly label 9 kinds of question-answer pairs according to the common interrogatives. Then, we train document classifiers by using 1,826 questions along with 2,460 answers from StackOverflow, apply the classifiers to our document repository and present a re-ranking approach to improve the retrieval precision. In software document classification, our classifiers achieve the average precision, recall and F-measure of 56.2%, 90.9% and 69.4% respectively. Our re-ranking approach presents 9.6% improvement in [email protected] upon the baseline, and we also obtain 8.1% improvement in [email protected] when more candidates are included.
Ting Ye, Yanzhen Zou, Xiuzhao Chen
ASE3
2013 Mining Cohesive Domain Topics from Source Code
Junfeng Zhao 0001, Yanzhen Zou
ICSR5
2013 Assessing Software Quality through Web Comment Search and Analysis
Yanzhen Zou, Yong Jin 0008
ICSR1
2013 A scalable crawler framework for FLOSS data
abstract
Free / Libre / Open Source Software (FLOSS) data, such as bug reports, mailing lists and related webpages, contains valuable information for reusing open source software projects. Before conducting further experiment on FLOSS data, researchers often need to download these data into a local storage system. We refer to this pre-process as FLOSS data retrieval, which in many cases can be a challenging task. In this paper, we proposed a crawler framework to ease the process of FLOSS data retrieval. To cope with various types of FLOSS data scattered on the Internet, we designed the framework in a scalable manner where a crawler program can be easily plugged into the system to extend its functionality. Researchers can perform the retrieval process on datasets of various types and sources simply by adding new configurations to the system. We have implemented the framework and provided basic functions via web-based interfaces. We presented the usage of the system by a detailed case study where we retrieved various types of datasets related to Apache Lucene project using our framework.
Lingxiao Zhang, Yanzhen Zou
Internetware2
2013 Generating API-usage example for project developers
abstract
Usage examples have been shown very helpful for API learning in software reuse. Nowadays, many approaches have been proposed to automatically extract usage examples from client code or web pages for API users. However, they overlooked the benefit of API developers in example publishing and few works paid attention to help API developers to generate usage examples automatically. In this paper, we proposed an approach to generate API-usage example based on test code before the project are released. It analyzed which parts in test code are important for indicating API-usage and summarized some test code patterns, then a heuristic slice algorithm are proposed to extract referential test code as API-usage example based on these patterns. In the experiments, we gave some case studies on the commons-lang3 open source software library. It proved that our approach can provide good assistance for developers in APIs usage example generation.
Zixiao Zhu, Yanzhen Zou, Yong Jin 0008
Internetware2
2012 An Exploratory Study of API Usage Examples on the Web
abstract
Usage examples are helpful for programmers learning to use APIs from third-party frameworks or libraries. There are lots of usage examples scattered in web pages on the Web, such as tutorials, blogs, and forums. A few researches have proposed approaches to leveraging these usage examples to improve programming. However, due to the lack of comprehensive understanding on the current situation of usage examples on the web, the work is still at the very beginning. Many concerns are reserved, for instance, how many usage examples can be found on the Web? how well do such examples support programmers on earth? what factors have impact on these examples' usability? In this paper, we conducted an exploratory study of usage examples on the web, including their distribution, characteristics like content style, correctness, and complexity, as well as their correlations. Through the study, we obtain some insight of how to facilitate utilization of usage examples on the web and what mechanisms could be provided. Possible research directions and problems are proposed at the end.
Yanzhen Zou, Fuqing Yang
APSEC2
2012 ARIMA Model-Based Web Services Trustworthiness Evaluation and Prediction
Zhebang Hua, Junfeng Zhao 0001, Yanzhen Zou
ICSOC4
2012 Towards Automatic Tagging for Web Services
abstract
Tagging technique is widely used to annotate objects in Web 2.0 applications. Tags can support web service understanding, categorizing and discovering, which are important tasks in a service-oriented software system. However, most of existing web services' tags are annotated manually. Manual tagging is time-consuming. In this paper, we propose a novel approach to tag web services automatically. Our approach consists of two tagging strategies, tag enriching and tag extraction. In the first strategy, we cluster web services using WSDL documents, and then we enrich tags for a service with the tags of other services in the same cluster. Considering our approach may not generate enough tags by tag enriching, we also extract tags from WSDL documents and related descriptions in the second step. To validate the effectiveness of our approach, a series of experiments are carried out based on web-scale web services. The experimental results show that our tagging method is effective, ensuring the number and quality of generated tags. We also show how to use tagging results to improve the performance of a web service search engine, which can prove that our work in this paper is useful and meaningful.
Junfeng Zhao 0001, Yanzhen Zou, Lingshuang Shao
ICWS5
2011 A Semi-supervised Approach for Component Recommendation Based on Citations
Sibo Cai, Yanzhen Zou, Weizhong Shao
ICSR2
2011 Finding the merits and drawbacks of software resources from comments
abstract
In order to reuse software resources efficiently, developers need necessary quality guarantee on software resources. However, our investigation proved that most software resources on the Internet did not provide enough quality descriptions. In this paper, we propose an approach to help developers judge a software resource's quality based on comments. In our approach, the software resources' comments on the Internet are automatically collected, the sentiment polarity (positive or negative) of a comment is identified and the quality aspects which the comment talks about are extracted. As a result, the merits and drawbacks of software resources are drew out which could help developers judge a software resource's quality in the process of software resource selection and reuse. To evaluate our approach, we applied our method to a group of open source software and the results showed that our method achieved satisfying precision in merits and drawbacks finding.
Yanzhen Zou, Sibo Cai, Hong Mei 0001
ASE2
2011 Recommending Component by Citation: A Semi-supervised Approach for Determination
Sibo Cai, Yanzhen Zou, Weizhong Shao
SEKE2
2010 A Framework for Trust Enabled Software Asset Retrieval
Yanzhen Zou, Sibo Cai
ATC1
2009 Leveraging Robust Service Evaluation by Introducing the Web of Trust
abstract
Selecting high quality services from available ones plays an important role in services composition. Trust and reputation mechanisms offer a promising way to solve the services selection problem. Current researches on this topic focus on gathering, storing and aggregating feedbacks which can be execution data by monitoring services or consumer ratings. However, besides the feedback itself, the reliability of feedbacks should be considered equally crucial. In this paper, different from previous work, we draw our attention to find trusted feedback submitters who are more likely to give reliable feedbacks. We proposed a service evaluation framework where a "Web of Trust" is built and maintained. Moreover, we presented a Kalman Filter based algorithm to reveal the trusted feedback submitters. The presented work in this paper aims to supplement the service evaluation and ultimately facilitate the services selection process. We validated our approach by both simulated and real-world evaluations.
Sibo Cai, Yanzhen Zou, Weizhong Shao
IEEE CLOUD2
2008 Mining the Web of Trust for Web Services Selection
abstract
Trust and reputation mechanisms offer a promising way to solve the web services selection problem. Currently, many researches on this topic focus on collecting, storing and aggregating feedbacks which can be execution data from monitoring web services or user ratings reported by service consumers for web services evaluation. However, besides considering the evaluation methods, the reliability of feedbacks becomes equally crucial. It is pointed out that the accuracy of a web service's reputation evaluation will be reduced as unreliable feedbacks are used. Therefore, the elicitation of trusted feedbacks and feedbackers becomes very important. In this paper, we managed to elicit trusted users in our service registry through building and maintaining a "Web of Trust". We mined this web of trust by our proposed algorithm which is based on the Kalman Filter Algorithm and analyzed the trustworthiness for each user. Feedbacks reported by trusted users then should be considered more reliable than others to ultimately facilitate the web services selection process.
Sibo Cai, Yanzhen Zou, Weizhong Shao
ICWS2
2006 User Feedback-Based Refinement for Web Services Retrieval using Multiple Instance Learning
abstract
A critical step in the process of reusing existing WSDL-specified components is the discovery of potentially relevant Web services. Traditional category based Web service retrieval usually can achieve good recall but worse precision because some semantically relevant Web services are not actually relevant as they cannot provide suitable interfaces. In this paper, we present an interactive Web services retrieval mechanism to refine the coarse retrieval results set in category based retrieval. In the refinement, the signature matching of Web services that concerning the structure of operation specifications is investigated from a multi-instances view. In detail, each Web service is represented as a bag in multiple instance learning, while each operation in this Web service is regarded as an instance. This representation lies in that a user regards a service as useful if at least one operation provided by this Web service is useful. Experimental results show that our approach can improve the retrieval performance significantly: It can gain 83% precision in average after two rounds of user relevance feedback
Yanzhen Zou, Liang-Jie Zhang, Lu Zhang 0023, Hong Mei 0001
ICWS1