cs Oswaldo Olivo's home page

Oswaldo Olivo (olivo@cs.utexas.edu, GitHub , Twitter , LinkedIn)

I received my PhD in Computer Science from The University of Texas at Austin, under the supervision of Calvin Lin and Isil Dillig.

I'm interested in Security, Software Engineering and Program Analysis.

My prefered programming languages are: Java, Python, C#, C, Javascript and PHP.

Here's my CV

Main Projects

I'm very passionate about programming, finding ways to break programs, and building tools for automatically detecting bugs and vulnerabilities.

My research consists of developing attacking techniques and vulnerability detection tools in the following areas:

  • Mobile Security: Privacy attacks againts Android apps.
  • Web Security: Denial-of-Service and privacy vulnerabilities in PHP (published in CCS '15).
  • Performance analysis: Performance bug detection in Java applications (published in PLDI '15).
  • Side Projects

    I'm always learning new technologies and developing prototypes that I intend to grow into mature research projects.

    The following are some of my recent side projects:

  • Jun '16: Pokemon Go Malware Detector. A tool for detecting potential malware in third-party versions of the Pokemon Go Android app.

  • May '16: GitHub Crawler. A GitHub crawler implemented in Python.

  • Apr '16: REDoS Detector. A tool for detecting denial-of-service vulnerabilities due to catastrophic backtracking in regular expression matching in Java and Android applications.

  • Mar '16: Android Decompiler. A script for decompiling Android APKs into an intermediate Java-like language (Soot Jimple). Useful for performing static analysis or manual code reviews over Android apps.

  • Dec '15: TaintPHP. A static taint analysis tool for PHP applications, useful for detecting Cross-Site Scripting (XSS), SQL Injections (SQLi), and confidentiality vulnerabilities.

  • Nov '15: BluPhish. A Bluetooth security diagnostic tool. Implemented in Java, over the BlueCove Bluetooth Stack.


  • Industrial Experience:

  • Microsoft Inc. (Redmond, WA.) Software Development Engineer Intern, June 2015-August 2015. Implemented a diagnostics tool for addressing customer account access incidents in Visual Studio Online, using HTML/JS/CSS and C#.

  • Bell Labs (Murray Hill, NJ.) Enabling Computing Technology Research Intern, June 2013-August 2013. Generated correctness proofs for standard compiler optimizations in LLVM. PI: Kedar Namjoshi.

  • Open-source project contributions:

  • Apache Collections: Proposed a collection algorithm that requires linear-time instead of quadratic-time, resulting in speed-ups larger than 200x. Reported performance bugs and proposed patches. Report IDs: COLLECTIONS-549, COLLECTIONS-534, COLLECTIONS-544, COLLECTIONS-545.
  • Apache Ant: Reported performance bugs and proposed patches. Report IDs: 57588.
  • Google Core Libraries: Reported performance bugs and proposed patches. Report IDs: 1868.
  • jEdit: Reported performance bugs and proposed patches for the IDE. Report IDs: 3904,3908.

  • Education:

  • PhD in Computer Science. The University of Texas at Austin.
  • MSc in Computer Science. The University of Texas at Austin.
  • BSc in Computer Engineering. Universidad Simón Bolívar.

  • Publications:

    1. O. Olivo. Automatic Static Analysis of Software Performance. PhD Thesis. Department of Computer Science, The University of texas at Austin (2016).
    2. S. Dong, O. Olivo, L. Zhang, S. Khurshid. An Empirical Study of the Influence of Compiler Optimizations on Symbolic Execution. 26th IEEE International Symposium on Software Reliability Engineering (ISSRE '15).
    3. O. Olivo, I. Dillig, C. Lin. Detecting and Exploiting Second Order Denial-of-Service Vulnerabilities in Web Applications. 22nd ACM Conference on Computer and Communications Security (CCS '15).
    4. O. Olivo, I. Dillig, C. Lin. Static Detection of Asymptotic Performance Bugs in Collection Traversals. 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '15).
    5. R. Samanta, O. Olivo, E. A. Emerson. Cost-Aware Automatic Program Repair. 21st Static Analysis Symposium (SAS '14).
    6. O. Olivo, E. A. Emerson. On Hard Graph-Coloring Problems for Solvers. Brazilian Symposium in Formal Methods (SBMF '13).
    7. R. Samanta, O. Olivo, E. A. Emerson. Cost-Aware Automatic Program Repair. CoRR abs/1307.7281 (2013).
    8. O. Olivo, and E. A. Emerson. Improved Binary Decision Diagram Constraint Propagation for Satisfiability Problems. 32nd International Conference of the Chilean Computer Science Society (SCCC '12), November 12-14, 2012, Valparaiso, Chile. IEEE Computer Society.
    9. O. Olivo, and E. A. Emerson. A More Efficient BDD-Based QBF Solver. 17th International Conference on Principles and Practice of Constraint Programming (CP '11). Perugia, Italy, pp. 675-690. Springer.
    10. O. Olivo, S. Ray, J. Bhadra, and V. Vedula. A Unified Formal Framework for Analyzing Functional and Speed-path Properties. In M. S. Abadir, L. Wang, and J. Bhadra, editors, 12th International Workshop on Microprocessor Test and Verification, Common Challenges and Solutions (MTV '11), Austin, TX, USA, December 2011, pp. 44-45. IEEE.
    11. S. Ray, O. Olivo, and W. Hunt. A Unified Formal Framework for Analyzing Functional and Speed-path Properties. SRC Tech Report. Publication ID. P058687. 2010.
    12. E. Arraiz, and O. Olivo. Competitive Simulated Annealing and Tabu Search Algorithms for the Max-Cut Problem. Genetic and Evolutionary Computation Conference (GECCO '09), ACM. Montreal, Canada.
    13. O. Olivo, and A. Suarez. Proof Writing with Automatic Theorem Proving as an approach to Verify Program Correctness. 28th International Conference of the Chilean Computer Society, SCCC '09. IEEE Computer Society Press.