- Software Testing and Debugging Techniques
- Software Engineering Research
- Advanced Malware Detection Techniques
- Web Application Security Vulnerabilities
- Caching and Content Delivery
- Green IT and Sustainability
- Software Reliability and Analysis Research
- Security and Verification in Computing
- Cloud Data Security Solutions
- Natural Language Processing Techniques
- Image and Video Quality Assessment
- Advanced Database Systems and Queries
- Cloud Computing and Resource Management
Amazon (United States)
2021-2024
University of Southern California
2015-2019
Southern California University for Professional Studies
2018
Fujitsu (United States)
2017
This work is motivated by the pervasive use of method invocations in object-oriented (OO) programs, and indeed their prevalence patches OO-program bugs. We propose a generate-and-validate repair technique, called ELIXIR designed to be able generate such patches. aggressively uses calls, on par with local variables, fields, or constants, construct more expressive repair-expressions, that go into synthesizing The ensuing enlargement space, account wider effectively tackled using machine-learnt...
We present Bugs.jar, a large-scale dataset for research in automated debugging, patching, and testing of Java programs. Bugs.jar is comprised 1,158 bugs patches, drawn from 8 large, popular open-source projects, spanning diverse prominent application categories. It an order magnitude larger than Defects4J, the only other its class. discuss methodology used constructing representation dataset, several use-cases, illustration three use-cases through 3 specific tools on namely our own tool,...
Energy is a critical resource for apps that run on mobile devices. Among all operations, making HTTP requests one of the most energy consuming. Previous studies have shown bundling smaller into single larger request can be an effective way to improve efficiency network communication, but not defined automated detect when bundled nor transform do this bundling. In paper we propose approach reduce consumption in Android by automatically detecting and then multiple requests. Our first detects...
Large language models (LLMs) have shown impressive effectiveness in various software engineering tasks, including automated program repair (APR). In this study, we take a deep dive into bug localization and utilizing LLMs. contrast to many learning-based APR methods that assume known locations, rely on line-level tools, or address prediction fixing one step, our approach uniquely employs LLMs predict location at the token level subsequently utilizes them for fixing. This methodological...
String analysis is critical for many verification techniques. However, accurately modeling string variables a challeng- ing problem. Current approaches are generally customized certain problem domains or have limitations in handling loops, providing context-sensitive inter-procedural analysis, and performing efficient on complicated apps. To address these limitations, we propose general framework, Violist, that allows researchers to more flexibly choose how they will each of challenges by...
Local databases have become an important component within mobile applications. Developers use local to provide users with a responsive and secure service for data storage access. However, using comes cost. Studies shown that they are one of the most energy consuming components on devices misuseof their APIs can lead performance security problems. In this paper, we report results large scale empirical study 1,000 top ranked apps from Google Play app store. Our present detailed look into...
Developers strive to build feature-filled apps that are responsive and consume as few resources possible. Most of these make use local databases store access data locally. Prior work has found database services have become one the major drivers a mobile device's resource consumption. In this paper we propose an approach reduce energy consumption improve runtime performance operations in Android by optimizing inefficient writes. Our automatically detects writes happen within loops will...
Reducing network latency in mobile applications is an effective way of improving the user experience and has tangible economic benefits. This paper presents PALOMA, a novel client-centric technique for reducing by prefetching HTTP requests Android apps. Our work leverages string analysis callback control-flow to automatically instrument apps using PALOMA's rigorous formulation scenarios that address "what" "when" prefetch. PALOMA been shown incur significant runtime savings (several hundred...
Identifying correct and complete taint specifications is critical for detecting vulnerabilities in the ever-changing landscape of software security, an automated scalable practical solution remains elusive field. In this paper, we report our semi-automated scheme inferring maintaining at industrial scale. Knowledge graph adopted as core engine to represent ongoing accumulation knowledge domain security: how different functional behaviors programs relate manifest varying contexts many...
Local databases underpin important features in many mobile applications, such as responsiveness the face of poor connectivity. However, failure to use correctly can lead high resource consumption or even security vulnerabilities. We present SAND, an extensible static analysis approach that checks for misuse local databases, also known SQL antipatterns, apps. SAND novel abstractions common forms application/database interactions, which enables concise and precise specification antipatterns...
In mobile applications, local databases have become an important component, providing users with a responsive and secure service for data access management. However, using comes cost. Studies shown that they are one of the most resource consuming components on devices. Improper usage database can even severely impact responsiveness application. this paper, we conducted literature review benchmark study to investigate problematic programming practices respect usage. Our results present...
Large language models (LLMs) have shown impressive effectiveness in various software engineering tasks, including automated program repair (APR). In this study, we take a deep dive into bug fixing utilizing LLMs. contrast to many learning-based APR methods that assume known locations, rely on line-level localization tools, or address prediction and one step, our approach uniquely employs LLMs predict location at the token level subsequently utilizes them for fixing. This methodological...
Running static analysis rules in the wild, as part of a commercial service, demands special consideration time limits and scalability given large diverse real-world workloads that are evaluated on. Furthermore, these do not run isolation, which exposes opportunities for reuse partial evaluation results across rules. In our work on Amazon CodeGuru Reviewer, its underlying rule-authoring toolkit known Guru Query Language (GQL), we have encountered performance challenges, identified...