Omer Tripp

ORCID: 0000-0002-2393-854X
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Advanced Malware Detection Techniques
  • Security and Verification in Computing
  • Software Testing and Debugging Techniques
  • Web Application Security Vulnerabilities
  • Distributed systems and fault tolerance
  • Software Engineering Research
  • Parallel Computing and Optimization Techniques
  • Software System Performance and Reliability
  • Software Reliability and Analysis Research
  • Logic, programming, and type systems
  • Network Security and Intrusion Detection
  • Digital and Cyber Forensics
  • Internet Traffic Analysis and Secure E-voting
  • Privacy, Security, and Data Protection
  • User Authentication and Security Systems
  • Radiation Effects in Electronics
  • Optimization and Search Problems
  • Personal Information Management and User Behavior
  • Mobile and Web Applications
  • Computability, Logic, AI Algorithms
  • Access Control and Trust
  • Cloud Computing and Resource Management
  • Advanced Software Engineering Methodologies
  • Machine Learning and Algorithms
  • Context-Aware Activity Recognition Systems

Amazon (United States)
2020-2024

Seattle University
2024

Google (United States)
2016-2019

IBM Research - Thomas J. Watson Research Center
2014-2017

University of Waterloo
2017

IBM (United States)
2009-2017

IBM Research - Austin
2014-2015

Tel Aviv University
2010-2013

IBM Research - Haifa
2009-2013

Taint analysis, a form of information-flow establishes whether values from untrusted methods and parameters may flow into security-sensitive operations. analysis can detect many common vulnerabilities in Web applications, so has attracted much attention both the research community industry. However, most static taint-analysis tools do not address critical requirements for an industrial-strength tool. Specifically, tool must scale to large industrial model essential Web-application code...

10.1145/1542476.1542486 article EN 2009-06-15

JavaScript is the most popular client-side scripting language for Web applications. Exploitable code exposes end users to integrity and confidentiality violations. Client-side vulnerabilities can cost an enterprise money reputation, cause serious damage innocent of application. In spite all this, recent research in area information-flow security has focused more on other languages that are suitable server-side programming, such as Java.

10.1145/2001420.2001442 article EN 2011-07-17

This paper presents F4F (Framework For Frameworks), a system for effective taint analysis of framework-based web applications. Most modern applications utilize one or more frameworks, which provide useful abstractions common functionality. Due to extensive use reflective language constructs in framework implementations, existing static analyses are often ineffective when applied While previous work has included ad hoc support certain constructs, adding large number frameworks this manner...

10.1145/2048066.2048145 article EN 2011-10-22

A main aspect of the Android platform is Inter-Application Communication (IAC), which enables reuse functionality across apps and app components via message passing. While a powerful feature, IAC also constitutes serious attack surface. malicious can embed payload into an message, thereby driving recipient potentially vulnerable behavior if processed without its fields first being sanitized or validated. We present what to our knowledge comprehensive testing algorithm for vulnerabilities....

10.1145/2771783.2771800 article EN 2015-07-10

Taint analysis, a form of information-flow establishes whether values from untrusted methods and parameters may flow into security-sensitive operations. analysis can detect many common vulnerabilities in Web applications, so has attracted much attention both the research community industry. However, most static taint-analysis tools do not address critical requirements for an industrial-strength tool. Specifically, tool must scale to large industrial model essential Web-application code...

10.1145/1543135.1542486 article EN ACM SIGPLAN Notices 2009-05-28

The scale and complexity of modern software systems complicate manual security auditing. Automated analysis tools are gradually becoming a necessity. Specifically, static analyses carry the promise efficiently verifying large code bases. Yet, critical usability barrier, hindering adoption by developers, is excess false reports. Current do not offer user any direct means customizing or cleansing report. thus left to review hundreds, if thousands, potential warnings, classify them as either...

10.1145/2660267.2660339 article EN Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security 2014-11-03

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...

10.1145/3660773 article EN Proceedings of the ACM on software engineering. 2024-07-12

We propose a novel technique for statically verifying the strings generated by program. The verification is conducted encoding program in Monadic Second-order Logic (M2L). use M2L to describe constraints among variables and abstract built-in string operations. Once we encode M2L, theorem prover such as MONA, can automatically check if satisfies given specification, not, exhibit counterexample. With this approach, naturally relationships strings, accounting also cases which manipulates using...

10.1145/2522920.2522926 article EN ACM Transactions on Software Engineering and Methodology 2013-10-01

Writing efficient synchronization for multithreaded programs is notoriously hard. The resulting code often contains subtle concurrency bugs. Even worse, many bug fixes introduce new A classic example, seen widely in practice, deadlocks from fixing of an atomicity violation. These complexities have motivated the development automated techniques. Current techniques generate that are typically conservative, giving up on available parallelism. Moreover, some cannot guarantee correctness a fix,...

10.1145/2635868.2635881 article EN 2014-11-04

We introduce QualityFlow, a dynamic agentic workflow for program synthesis. Given the English description of programming problem and set unit tests, model's goal is to synthesize correct that solves passes tests. QualityFlow consists multiple large language model (LLM) agents resemble software development team, including code generation, testing, self-debugging. Existing synthesis methods face three major limitations: assumption visible test conformity, bottleneck synthesized quality,...

10.48550/arxiv.2501.17167 preprint EN arXiv (Cornell University) 2025-01-20

Static analyses are generally parametrized by an abstraction which is chosen from a family of abstractions. We interested in flexible families abstractions with many parameters, as these can allow one to increase precision ways tailored the client without sacrificing scalability. For example, we consider k-limited points-to where each call site and allocation program have different k value. then ask natural question this paper: What minimal (coarsest) given able prove set queries? In...

10.1145/1926385.1926391 article EN 2011-01-24

This paper addresses the problem of detecting JavaScript security vulnerabilities in client side Web applications. Such are becoming a source growing concern due to rapid migration server-side business logic side, combined with new JavaScript-backed technologies, such as AJAX and HTML5. Detection client-side is challenging given dynamic event-driven nature JavaScript. We present hybrid form analysis, which augments static analysis (semi-)concrete information by applying partial evaluation...

10.1145/2610384.2610385 article EN 2014-07-11

Black-box security testing of web applications is a hard problem. The main complication lies in the black-box assumption: tool has limited insight into workings server-side defenses. This traditionally led commercial as well research vulnerability scanners toward heuristic approaches, such each input point (e.g. HTTP parameter) with short, predefined list effective test payloads to balance between coverage and performance.

10.1145/2483760.2483776 article EN 2013-07-15

Static analyses are generally parametrized by an abstraction which is chosen from a family of abstractions. We interested in flexible families abstractions with many parameters, as these can allow one to increase precision ways tailored the client without sacrificing scalability. For example, we consider k-limited points-to where each call site and allocation program have different k value. then ask natural question this paper: What minimal (coarsest) given able prove set queries? In...

10.1145/1925844.1926391 article EN ACM SIGPLAN Notices 2011-01-24

We propose a novel technique for statically verifying the strings generated by program. The verification is conducted encoding program in Monadic Second-Order Logic (M2L). use M2L to describe constraints among variables and abstract built-in string operations. Once we encode M2L, theorem prover such as MONA, can automatically check if satisfies given specification, not, exhibit counterexample. With this approach, naturally relationships strings, accounting also cases which manipulates using...

10.1145/2001420.2001441 article EN 2011-07-17

10.1007/s10009-024-00763-0 article EN International Journal on Software Tools for Technology Transfer 2024-08-27

The quality of a static analysis heap-manipulating programs is largely determined by its heap abstraction. Object allocation sites are commonly-used abstraction, but too coarse for some clients. goal this paper to investigate how various refinements can improve precision. In particular, we consider abstractions that use call stack, object recency, and connectivity information. We measure the precision these dynamically four different clients motivated concurrency on nine Java chosen from...

10.1145/1869459.1869494 article EN 2010-10-17

Reproducing concurrency bugs is a prominent challenge. Existing techniques either rely on recording very fine grained execution information and hence have high runtime overhead, or strive to log as little possible but provide no guarantee in reproducing bug. We present Light, technique that features much lower overhead compared based recording, guarantees reproduce concurrent bugs. leverage formally prove flow dependences the necessary sufficient condition The dependences, together with...

10.1145/2737924.2738001 article EN 2015-06-03

Predictive analysis, recently proposed for race detection, guarantees to report no false positives and achieves good coverage. analysis starts with the trace of an execution mutates schedule order ``predict'' executions that expose hidden races. Ideally, predictive should allow mutation change memory location accessed by field access, which helps meet ``same location'' requirement data race. However, existing approaches, including causality-preserving approaches symbolic lack this...

10.1145/2931037.2931046 article EN 2016-07-07
Coming Soon ...