Curriculum Vitae

Huascar Sanchez

Research Interests
Software engineering, data-driven software introspection, open source software
security and trustability, and productivity tools for software developers
Current Position
2018 – now
SRI International · Menlo Park, CA
Advanced Computer Scientist
Software engineering research on open-source software security and trustability analysis.
Education
2015
UC Santa Cruz · Ph.D. in Computer Science
Thesis title: Source code Curation Tooling for the Code Forager
Advisor: Prof. Jim Whitehead
2006
San Jose State University · M.S. Software Engineering
Thesis title: Building Systems Using Patterns: Creating Knowledge Maps
Advisor: Prof. M.E. Fayad
Employment
2016 – 2017
SRI International · Menlo Park, CA
Computer Scientist
Worked on a comprehensive range of capabilities for doing large scale
software introspection.
2015 – 2016
SRI International · Menlo Park, CA
Postdoctoral Fellow — Host: Hassen Saidi
Worked on marrying large scale software repository mining and gradability theories concerning categorization for program synthesis.
2014 – 2015
SRI International · Menlo Park, CA
Visiting Research Fellow — Host: John Murray
Researched new crowd-sourced formal verification methods.
2013 – 2015
UC Santa Cruz · Santa Cruz, CA
Research Assistant
Worked on understanding the technical issues concerning crowd-sourced gaming for formal verification by helping create and validate two such systems.
2011 – 2012
UC Santa Cruz · Santa Cruz, CA
Research Assistant
Investigated how to build mixed-initiative content creation tools for robot design.
2010 – 2011
UC Santa Cruz · Santa Cruz, CA
Research Assistant
Redesigned and developed a library for semi-automatic index tuning.
2010 – 2012
Infomotor, Inc. · San Francisco, CA
Software Engineer/Consultant
Developed Web applications for streamlining both reporting and presentation of key performance metrics, and delivering understandable and actionable data.
2006 – 2009
Pearson VUE · Bloomington, MN
Software Engineer
Developed tools that support a set of distributed applications responsible for delivering over four million computer-based tests a year across the globe for clients in diverse markets, such as licensure, certification, etc.
2004 – 2006
San Jose State University · Santa Cruz, CA
Research Assistant
Masters research on tools for building systems using patterns.
Peer-Reviewed Publications
Conference and Workshop Publications
2018
HiRep: Selecting Diverse Highly Representative Code Examples
Under review.
Visualizing the Failure Landscape of Arbitrary Open-source Software
Under review.
A Vision of Hyper Collaborative Open Source Software Development
In preparation.
2016
JayHorn: A Framework for Verifying Java programs
T. Kahsai, P. Rümmer, H. Sanchez, and M. Schäf
CAV: 28th International Conference on Computer Aided Verification
Design Lessons From Binary Fission: A Crowd Sourced Game for Precondition Discovery.
K. Compton, H. Logas, J. Osborn, C. Chakrabortti, K. Coffman, D. Fava, D. Lederle–Ensign, Z. Lin, J. Mazeika, A. Mobramaein, J. Pagnutti, H. Sanchez, J. Whitehead, J. Murray, and Laurel, B.
FDG: 1st International Joint Conference of DiGRA and FDG
Detecting Similar Programs via the Weisfeiler-Lehman Graph Kernel
W. Li, H. Saidi, H. Sanchez, M. Schäf, and P. Schweitzer
ICSR: 15th International Conference on Software Reuse
Multistaging to Understand: Distilling the Essence of Java Code Examples
H. Sanchez, J. Whitehead, and M. Schäf
ICPC: 24th IEEE International Conference on Program Comprehension
Putting Your Passwords on Self Destruct Mode: Beating Password Fatigue
H. Sanchez, J. Murray, and D. Sanchez
SOUPS: 12th Symposium on Usable Privacy and Security
2015
Source Code Curation on StackOverflow: The Vesperin System
H. Sanchez and J. Whitehead
ICSE: 37th IEEE/ACM International Conference on Software Engineering
BotPrint: Casual Robotic Evolution
K. Compton, D. Lederle-Ensign, Z. Lin, J. Mazeika, A. Mobramaein, J. Pagnutti, H. Sanchez, and J. Whitehead
WCCG: 1st Workshop on Computational Creativity and Games
2014
Software Verification Games: Designing Xylem, The Code of Plants
H. Logas, J. Whitehead, M. Mateas, R. Vallejos, L. Scott, D. Shapiro, J. Murray, K. Compton, J. Osborn, O. Salvatore, Z. Lin, H. Sanchez, M. Shavlovsky, D. Cetina, S. Clementi, and C. Lewis
FDG: 9th International Conference on the Foundations of Digital Games
Xylem: The Code of Plants
H. Logas, J. Whitehead, M. Mateas, R. Vallejos, L. Scott, D. Shapiro, J. Murray, K. Compton, J. Osborn, O. Salvatore, Z. Lin, H. Sanchez, M. Shavlovsky, C. Lewis, D. Cetina, and S. Clementi
FDG: 9th International Conference on the Foundations of Digital Games
2013
SNIPR: Complementing Code Search with Code Retargeting Capabilities
H. Sanchez
ICSE: 35th International Conference on Software Engineering
2012
Kaizen: A Semi-Automatic Index Advisor
I. Jimenez, H. Sanchez, Q.T. Tran, and N. Polyzotis
SIGMOD: The 2012 ACM International Conference on Management of Data
Twitter Bullying Detection
H. Sanchez and S. Kumar
NSDI: Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation
2010
Knowledge Maps - Fundamentally Modular Approach to Software Architecture, Design, Development and Deployment
M. E. Fayad, H.A. Sanchez, and S.K. Singh
SEDE: 19th International Conference on Software Engineering and Data Engineering
2006
The Branding Analysis Pattern
M. E. Fayad, H.A. Sanchez, and S.K. Singh
AICCSA: Proceedings of the IEEE International Conference on Computer Systems and Applications
2005
Towards Scalable and Adaptable Software Architectures
M.E. Fayad, H.S. Hamza, and H.A. Sanchez
IRI: The 2005 IEEE International Conference on Information Reuse and Integration
The Dynamic Mapping Design Pattern
J. Gresh, J. McKim, and H. Sanchez
PLOP: 12th Pattern Language of Programs Conference
2004
A Pattern Language for CRC Cards
M. Fayad, H. Sanchez, and H. Hamza
PLOP: 11th Conference on Pattern Languages of Programs
2003
A Pattern for an Effective Class Responsibility Collaborator (CRC) Cards
M.E. Fayad, H.S. Hamza, and H.A. Sanchez
IRI: IEEE International Conference on Information Reuse and Integration
The Sampling Analysis Pattern
H.A. Sanchez, B. Lai, and M.E. Fayad
IRI: IEEE International Conference on Information Reuse and Integration
Las Vegas, NV
Journals
2011
Benchmarking Online Index-Tuning Algorithms
I. Jimenez, J. LeFevre, N. Polyzotis, H. Sanchez, and K. Schnaitter
IEEE Data Engineering Bulletin
Theses
2015
Source Code Curation for the Code Forager
Ph.D Thesis, University of California Santa Cruz
2006
Building Systems Using Patterns: Creating Knowledge Maps
Masters Thesis, San Jose State University
Books
2014
Software Patterns, Knowledge Maps, and Domain Analysis
M.E. Fayad, H.A. Sanchez, S.G.K. Hegde, A. Basia, and A. Vakil
CRC Press, 2014. ISBN 9781466571433
Teaching
Assistant
2015
UC Santa Cruz CMPM 178 · Human-Centered Design Research
Teaching Assistant
2012
UC Santa Cruz CMPS 121 · Mobile Applications
Teaching Assistant
2011
UC Santa Cruz TIM 50 · Business Information Systems
Teaching Assistant (and Temporary Instructor)
2005
San Jose State CMPE 296G · Software Architectures
Teaching Assistant
2004
San Jose State CMPE 195G · Software Patterns
Teaching Assistant
2004
San Jose State CMPE 133 · Software Engineering II
Teaching Assistant
Talks
2018
API Workflow Recommendations for Codebase Exploration
DARPA: Mining and Understanding Software Enclaves
University of Texas at Austin, Austin, TX
2017
Cross-Project Software Analysis
DARPA: Mining and Understanding Software Enclaves
Massachusetts Institute of Technology, Cambridge, MA
2016
Multistaging to Understand: Distilling the Essence of Java Code Examples
ICPC: 24th IEEE International Conference on Program Comprehension
Austin, TX
Putting Your Passwords on Self-Destruct Mode: Beating Password Fatigue
SOUPS: 12th Symposium on Usable Privacy and Security
Denver, CO
2015
Source Code Curation for the Code Forager
Computer Science Laboratory (CSL) Seminars
Menlo Park, CA
Source Code Curation on StackOverflow: The Vesperin System
ICSE: 37th International Conference on Software Engineering
Florence, Italy
2013
SNIPR: Complementing Code Search with Code Retargeting Capabilities
ICSE: 35th International Conference on Software Engineering
San Francisco, CA
2006
The Branding Analysis Pattern
AICCSA: Proceedings of the IEEE International Conference on Computer Systems and Applications
Dubai/Sharjah, UAE
2004
A Pattern Language for CRC Cards
PLOP: 11th Conference on Pattern Languages of Programs
Monticello, IL
2003
A Pattern for an Effective Class Responsibility Collaborator (CRC) Cards
IRI: IEEE International Conference on Information Reuse and Integration
Las Vegas, NV
The Sampling Analysis Pattern
IRI: IEEE International Conference on Information Reuse and Integration
Las Vegas, NV
Mentorship and Collaboration
Interns Supervised
2017
Di Yang, PhD Student
University of California Irvine
Students Mentored
2015
Xu Zhang, PhD Student
University of California Santa Cruz
Collaborators
Daniel Sanchez (SRI), Jim Whitehead (UCSC), John Murray (SRI), Michael D. Ernst (UW), Werner Dietl (Waterloo), Wenchao Li (BU), Martin M. Schäf (SRI/Amazon), Di Yang (UCI), Zhongpeng Lin (UCSC/Uber), Hassen Saidi (SRI), Howard Shrobe (MIT CSAIL), Xiaoyue Wang (BU), M.E. Fayad (SJSU), Temesghen Kahsai (NASA Ames), Philipp Rümmer (Uppsala University), Joseph Osborn (UCSC/Pomona College), Natarajan Shankar (SRI), Boris Katz (MIT CSAIL)
Academic Service
Paper reviewer
2017
NFM: NASA Formal Methods Symposium
2016
ICTAC: 13th International Colloquium on Theoretical Aspects of Computing
2014
MSR: The 11th Working Conference on Mining Software Repositories
Selected Coursework
Software Engineering, Human Computer Interaction, Information Retrieval, Data Mining, Machine Learning, Design and Implementation of Database Systems, Topics in Database Systems (Cloud Computing), Computational Models and Complexity, and Advance Computer Graphics (Procedural Content Generation)
Open Source
Committer
HiRep · https://github.com/hsanchez/hirepr
Selecting Diverse Highly Representative Code Examples
Vesperin · https://github.com/vesperin/
Source code curation tools
JayHorn · https://github.com/jayhorn/
Static checker for Java
Kōfu · https://github.com/hsanchez/kofu
Travis CI miner
JSCheck · https://github.com/hsanchez/jscheck
A limited static type checker for Javascript written in Haskell
CHEKOFV · https://github.com/SoftwareIntrospectionLab/chekofv
Crowd-Sourced Help with Emergent Knowledge for Optimized Formal Verification
References
Available upon request