David Lo
24 papers in the PaperMetrix corpus
Papers by this author
-
Modeling the evolution of development topics using Dynamic Topic Models
2015
As the development of a software project progresses, its complexity grows accordingly, making it difficult to understand and maintain. During software maintenance and evolution, software developers and stakeholders constantly shift their focus between different tasks …
-
Who should review this change?: Putting text and file location analyses together for more accurate recommendations
2015
Software code review is a process of developers inspecting new code changes made by others, to evaluate their quality and identify and fix defects, before integrating them to the main branch of a version control …
-
What are the characteristics of high-rated apps? A case study on free Android Applications
2015
The tremendous rate of growth in the mobile app market over the past few years has attracted many developers to build mobile apps. However, while there is no shortage of stories of how lone developers …
-
Domain-specific cross-language relevant question retrieval
2016
In software development process, developers often seek solutions to the technical problems they encounter by searching relevant questions on Q&A sites. When developers fail to find solutions on Q&A sites in their native language (e.g., …
-
Automated Inference of Software Library Usage Patterns
2016 · arXiv (Cornell University)
Modern software systems are increasingly dependent on third-party libraries. It is widely recognized that using mature and well-tested third-party libraries can improve developers' productivity, reduce time-to-market, and produce more reliable software. Today's open-source repositories provide …
-
Deep specification mining
2018
Formal specifcations are essential but usually unavailable in software systems. Furthermore, writing these specifcations is costly and requires skills from developers. Recently, many automated techniques have been proposed to mine specifcations in various formats including …
-
Deep code comment generation
2018
During software maintenance, code comments help developers comprehend programs and reduce additional time spent on reading and navigating source code. Unfortunately, these comments are often mismatched, missing or outdated in the software projects. Developers have …
-
Code2Que: A Tool for Improving Question Titles from Mined Code Snippets in Stack Overflow
2020 · arXiv (Cornell University)
Stack Overflow is one of the most popular technical Q&A sites used by software developers. Seeking help from Stack Overflow has become an essential part of software developers' daily work for solving programming-related questions. Although …
-
Generating question titles for Stack Overflow from mined code snippets
2020 · Singapore Management University Institutional Knowledge (InK) (Singapore Management University)
Ministry of Education, Singapore under its Academic Research Funding Tier 2
-
RCLinker: Automated Linking of Issue Reports and Commits Leveraging Rich Contextual Information
2015
Links between issue reports and their corresponding commits in version control systems are often missing. However, these links are important for measuring the quality of various parts of a software system, predicting defects, and many …
-
On the Influence of Biases in Bug Localization: Evaluation and Benchmark
2022 · 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
Bug localization is the task of identifying parts of the source code that needs to be changed to resolve a bug report. As this task is difficult, automatic bug localization tools have been proposed. The …
-
GitHub and Stack Overflow: Analyzing Developer Interests Across Multiple Social Collaborative Platforms
2017 · arXiv (Cornell University)
Increasingly, software developers are using a wide array of social collaborative platforms for software development and learning. In this work, we examined the similarities in developer's interests within and across GitHub and Stack Overflow. Our …
-
VulCurator: a vulnerability-fixing commit detector
2022 · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Open-source software (OSS) vulnerability management process is important nowadays, as the number of discovered OSS vulnerabilities is increasing over time. Monitoring vulnerability-fixing commits is a part of the standard process to prevent vulnerability exploitation. Manually …
-
AutoPRTitle: A Tool for Automatic Pull Request Title Generation
2022
With the rise of the pull request mechanism in software development, the quality of pull requests has gained more attention. Prior works focus on improving the quality of pull request descriptions and several approaches have …
-
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
2023 · arXiv (Cornell University)
Although deep neural models substantially reduce the overhead of feature engineering, the features readily available in the inputs might significantly impact training cost and the performance of the models. In this paper, we explore the …
-
TECHSUMBOT: A Stack Overflow Answer Summarization Tool for Technical Query
2023
Stack Overflow is a popular platform for developers to seek solutions to programming-related problems. However, prior studies identified that developers may suffer from the redundant, useless, and incomplete information retrieved by the Stack Overflow search …
-
Synthesizing Speech Test Cases with Text-to-Speech? An Empirical Study on the False Alarms in Automated Speech Recognition Testing
2023
Recent studies have proposed the use of Text-To-Speech (TTS) systems to automatically synthesise speech test cases on a scale and uncover a large number of failures in ASR systems. However, the failures uncovered by synthetic …
-
CoLeFunDa: Explainable Silent Vulnerability Fix Identification
2023
It is common practice for OSS users to leverage and monitor security advisories to discover newly disclosed OSS vulnerabilities and their corresponding patches for vulnerability remediation. It is common for vulnerability fixes to be publicly …
-
APIDocBooster: An Extract-Then-Abstract Framework Leveraging Large Language Models for Augmenting API Documentation
2023 · arXiv (Cornell University)
API documentation is often the most trusted resource for programming. Many approaches have been proposed to augment API documentation by summarizing complementary information from external resources such as Stack Overflow. Existing extractive-based summarization approaches excel …
-
Robustness, Security, Privacy, Explainability, Efficiency, and Usability of Large Language Models for Code
2024 · arXiv (Cornell University)
Large language models for code (LLM4Code), which demonstrate strong performance (e.g., high accuracy) in processing source code, have significantly transformed software engineering. Many studies separately investigate the non-functional properties of LM4Code, but there is no …
-
Neuron Semantic-Guided Test Generation for Deep Neural Networks Fuzzing
2024 · ACM Transactions on Software Engineering and Methodology
In recent years, significant progress has been made in testing methods for deep neural networks (DNNs) to ensure their correctness and robustness. Coverage-guided criteria, such as neuron-wise, layer-wise, and path-/trace-wise, have been proposed for DNN …
-
Towards Better Comprehension of Breaking Changes in the NPM Ecosystem
2024 · arXiv (Cornell University)
Breaking changes cause a lot of effort to both downstream and upstream developers: downstream developers need to adapt to breaking changes and upstream developers are responsible for identifying and documenting them. In the NPM ecosystem, …
-
Improving Automated Bug Triaging with Specialized Topic Model
2016 · IEEE Transactions on Software Engineering
Bug triaging refers to the process of assigning a bug to the most appropriate developer to fix. It becomes more and more difficult and complicated as the size of software and the number of developers …
-
Neural-machine-translation-based commit message generation: how far are we?
2018
Commit messages can be regarded as the documentation of software changes. These messages describe the content and purposes of changes, hence are useful for program comprehension and software maintenance. However, due to the lack of …