<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Huascar Sanchez Posts</title>
 <link href="http://huascarsanchez.com/atom.xml" rel="self"/>
 <link href="http://huascarsanchez.com/"/>
 <updated>2026-05-13T22:15:44+00:00</updated>
 <id>http://huascarsanchez.com/</id>
 <author>
   <name></name>
   <email></email>
 </author>

 
 <entry>
   <title>Publications</title>
   <link href="http://huascarsanchez.com/posts/notes/pubs.html"/>
   <updated>2025-10-25T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/pubs</id>
   <content type="html">&lt;style&gt;
.deemph {
  width: 80ch;
  display: inline-block;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.skills-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5px;
  row-gap: 2px;
  margin-top: 15px;
  width: 90ch;
  font-size: 1.4rem;
  padding-left: 60pt;
	padding-bottom: 6pt;
}
.skills-grid div {
  /* Remove these lines for soft wrapping:
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  */
  
  /* Or replace with: */
  white-space: normal; /* This is actually the default, so you can omit it */
  word-wrap: break-word; /* Allows long words to break */
  overflow-wrap: break-word; /* Modern alternative to word-wrap */
}
.skills-grid div::before {
  content: &quot;▪ &quot;;
  /*margin-right: 8px;*/
}
.footnote {
  font-size: 0.9em;
  color: #666;
  font-style: italic;
  margin-top: 5px;
  margin-bottom: 15px;
  padding-left: 60pt;
}
.research-interests {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 5px;
  row-gap: 2px;
  margin-top: 15px;
  width: 90ch;
  font-size: 1.4rem;
  padding-left: 60pt;
	padding-bottom: 6pt;
}

.research-interests div {
  /* line-height: 1.4;
  padding: 8px 0; */
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.research-interests div::before {
  content: &quot;▪ &quot;;
  margin-right: 8px;
}
&lt;/style&gt;

&lt;div class=&quot;shifted&quot;&gt;
  &lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;deemph&quot;&gt;(Updated October 2025)&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;shifted&quot;&gt;
  &lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;heading&quot; id=&quot;recent&quot;&gt;Recent Papers&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;bold&quot;&gt;Task Explorer Pipeline (TEP): Revealing the Hidden Structure of Human Problem-Solving.&lt;/span&gt;&lt;br /&gt;
        &lt;span class=&quot;emph&quot;&gt;T. Odem, G. Denker, and H. Sanchez.&lt;/span&gt; &lt;br /&gt;
        &lt;span class=&quot;deemph&quot;&gt;(Under Review)&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;bold&quot;&gt;Multi-LLM Collaboration for Medication Recommendation.&lt;/span&gt;&lt;br /&gt;
        &lt;span class=&quot;emph&quot;&gt;H. Sanchez, B. Hitaj, J. Bergmann, and L. Briesemeister.&lt;/span&gt; &lt;br /&gt;
        &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.LG]. &lt;a href=&quot;https://arxiv.org/abs/2512.05066&quot;&gt;arXiv:2512.05066&lt;/a&gt;  (Under Review)&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;bold&quot;&gt;LLM Chemistry Estimation for Multi-LLM Recommendation.&lt;/span&gt;&lt;br /&gt;
        &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
        &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.LG]. &lt;a href=&quot;https://arxiv.org/abs/2510.03930&quot;&gt;arXiv:2510.03930&lt;/a&gt; (Under Review)&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;shifted&quot;&gt;
&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;publications&quot;&gt;Publications&lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Conference Proceedings&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2024&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Continuous Safety &amp;amp; Security Evidence Generation, Curation and Assurance Case Construction Using the Evidential Tool Bus.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;N. Shankar, M. Kim, H. Sanchez, H. Ruess, T. Beyene, R. Bouchekir, D. Bhatt, S. Varadarajan, A. Murugesan, H. Ren, I. Hong-Wong, K. Siu, S. Varanasi, M. D. Ernst.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;43rd AIAA/IEEE Digital Avionics Systems Conference (DASC), 2024.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;JayHorn: A Framework for Verifying Java programs.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;T. Kahsai, P. R&amp;uuml;mmer, H. Sanchez, and M. Sch&amp;auml;f&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CAV: 28th International Conference on Computer Aided Verification, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Design Lessons From Binary Fission: A Crowd Sourced Game for Precondition Discovery.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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 B. Laurel.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CFDG: 11th International Joint Conference of DiGRA and FDG, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Detecting Similar Programs via the Weisfeiler-Lehman Graph Kernel.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;W. Li, H. Sa&amp;iuml;di, H. Sanchez, M. Sch&amp;auml;f, and P. Schweitzer.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSR: 15th International Conference on Software Reuse, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multistaging to Understand: Distilling the Essence of Java Code Examples.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, J. Whitehead, and M. Sch&amp;auml;f.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICPC: 24th IEEE International Conference on Program Comprehension, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Source Code Curation on StackOverflow: The Vesperin System.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and J. Whitehead.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSE: 37th IEEE/ACM International Conference on Software Engineering, 2015.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Verification Games: Designing Xylem, the Code of Plants.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;FDG: 9th International Conference on the Foundations of Digital Games, 2014.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Xylem: The Code of Plants.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;FDG: 9th International Conference on the Foundations of Digital Games, 2014.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2013&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SNIPR: Complementing Code Search with Code Retargeting Capabilities.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSE: 35th International Conference on Software Engineering, 2013.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2012&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Kaizen: A Semi-Automatic Index Advisor.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;I. Jimenez, H. Sanchez, Q.T. Tran, and N. Polyzotis.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SIGMOD: The 2012 ACM International Conference on Management of Data, 2012.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2012&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Twitter Bullying Detection.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and S. Kumar.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;NSDI: Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation, 2012.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2010&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Knowledge Maps — Fundamentally Modular Approach to Software Architecture, Design, Development and Deployment.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. E. Fayad, H.A. Sanchez, and S.K. Singh.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SEDE: 19th International Conference on Software Engineering and Data Engineering, 2010.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2006&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Branding Analysis Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. E. Fayad, H.A. Sanchez, and S.K. Singh.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;AICCSA: Proceedings of the IEEE International Conference on Computer Systems and Applications, 2006.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2005&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Towards Scalable and Adaptable Software Architectures.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M.E. Fayad, H.S. Hamza, and H.A. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IRI: The 2005 IEEE International Conference on Information Reuse and Integration, 2005.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2005&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Dynamic Mapping Design Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;J. Gresh, J. McKim, and H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;PLOP: 12th Pattern Language of Programs Conference, 2005.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2004&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;A Pattern Language for CRC Cards.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. Fayad, H. Sanchez, and H. Hamza.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;PLOP: 11th Conference on Pattern Languages of Programs, 2004.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2003&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Sampling Analysis Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H.A. Sanchez, B. Lai, and M.E. Fayad.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IRI: IEEE International Conference on Information Reuse and Integration, 2003.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Workshop Papers&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Introspection for Signaling Social-Cyber Operations.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DESTION: 5th Workshop on Design Automation for CPS and IoT, 2023.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Putting Your Passwords on Self Destruct Mode: Beating Password Fatigue.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, J. Murray, and D. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SOUPS: 12th Symposium on Usable Privacy and Security, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;BotPrint: Casual Robotic Evolution.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;K. Compton, D. Lederle-Ensign, Z. Lin, J. Mazeika, A. Mobramaein, J. Pagnutti, H. Sanchez, and J. Whitehead.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;WCCG: 1st Workshop on Computational Creativity and Games, 2015.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Journal Articles&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2011&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Benchmarking Online Index-Tuning Algorithms.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;I. Jimenez, J. LeFevre, N. Polyzotis, H. Sanchez, and K. Schnaitter.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IEEE Data Engineering Bulletin, 2011.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Books&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Patterns, Knowledge Maps, and Domain Analysis.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. Fayad, H.A. Sanchez, S.G.K. Hegde, A. Basia, and A. Vakil.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CRC Press, 2014. &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781466571433&quot;&gt;ISBN 9781466571433&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Reports and Other Publications&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Task Explorer Pipeline (TEP): Revealing the Hidden Structure of Human Problem-Solving.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;T. Odem, G. Denker, and H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;(Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multi-LLM Collaboration for Medication Recommendation.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, B. Hitaj, J. Bergmann, and L. Briesemeister.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;(Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;LLM Chemistry Estimation for Multi-LLM Recommendation.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.LG]. &lt;a href=&quot;https://arxiv.org/abs/2510.03930&quot;&gt;arXiv:2510.03930&lt;/a&gt; (Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;DesCert: Design for Certification.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;N. Shankar, D. Bhatt, M. Ernst, M. Kim, S. Varadarajan, S. Millstein, J. Navas, J. Biatek, H. Sanchez, A. Murugesan, H. Ren.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Technical report, 2022. &lt;a href=&quot;https://arxiv.org/abs/2203.15178&quot;&gt;arxiv:2203.15178&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Trust in Motion: Capturing Trust Ascendancy in Open-Source Projects using Hybrid AI.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.SE]. &lt;a href=&quot;https://arxiv.org/abs/2210.02656&quot;&gt;arxiv:2210.02656&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2021&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Leveraging Team Dynamics to Predict Open-source Software Projects&apos; Susceptibility to Social Engineering Attacks.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;L. Giovanini, D. Oliveira, H. Sanchez, D. Shands.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.SE]. &lt;a href=&quot;https://arxiv.org/abs/2106.16067&quot;&gt;arxiv:2106.16067&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Patents&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Intelligent Collaborative Project Management.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;D. Sanchez, H. Sanchez, H. Sa&amp;iuml;di.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;United States patent 11610173, 2023.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multipath verification of data transforms in a system of systems.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;B. Dutertre, S. Jha, H. Sanchez, P. Lincoln, E. M. Pearson, R. Dean, I. A. Mason.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;United States patent 2022/0197881, 2022.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Curriculum Vitae</title>
   <link href="http://huascarsanchez.com/posts/notes/cv.html"/>
   <updated>2017-02-01T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/cv</id>
   <content type="html">&lt;!-- _includes/gate.html --&gt;
&lt;script&gt;
  (function () {
    var QUESTION = &quot;Riddle: What has keys but can&apos;t open locks?&quot;;

    var ACCEPTED_HASHES = [
      &quot;1d78e018e405ef26b7f7581336a2a4c556c3783eaa763978cbd7d2ddd0adb3ad&quot;,
    ];

    var FORCE_THREE_IF_FIRST_FAIL = true;
    var STORAGE_KEY = &quot;gatePassed:&quot; + location.pathname;

    if (sessionStorage.getItem(STORAGE_KEY) === &quot;1&quot;) return;

    function escapeHtml(s) {
      return String(s)
        .replace(/&amp;/g, &quot;&amp;amp;&quot;)
        .replace(/&lt;/g, &quot;&amp;lt;&quot;)
        .replace(/&gt;/g, &quot;&amp;gt;&quot;)
        .replace(/&quot;/g, &quot;&amp;quot;&quot;)
        .replace(/&apos;/g, &quot;&amp;#39;&quot;);
    }

    function normalize(s) {
      return (s || &quot;&quot;).trim().toLowerCase();
    }

    async function sha256(text) {
      var encoded = new TextEncoder().encode(text);
      var digest = await crypto.subtle.digest(&quot;SHA-256&quot;, encoded);
      return Array.from(new Uint8Array(digest))
        .map(function (b) {
          return b.toString(16).padStart(2, &quot;0&quot;);
        })
        .join(&quot;&quot;);
    }

    var restoreOverflow = document.documentElement.style.overflow;
    document.documentElement.style.overflow = &quot;hidden&quot;;

    var overlay = document.createElement(&quot;div&quot;);
    overlay.innerHTML =
      &quot;&lt;style&gt;&quot; +
      &quot;.gate-overlay{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.88);z-index:9999;font-family:sans-serif;transition:opacity .2s ease}&quot; +
      &quot;.gate-overlay.fade{opacity:0;pointer-events:none}&quot; +
      &quot;.gate-card{background:#111;color:#eee;padding:24px;border-radius:14px;width:min(90vw,420px);text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.4)}&quot; +
      &quot;.gate-input{width:90%;padding:10px;border-radius:8px;border:1px solid #555;background:#222;color:#fff;margin-top:12px}&quot; +
      &quot;.gate-btn{margin-top:14px;padding:10px 16px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:bold;cursor:pointer}&quot; +
      &quot;.gate-btn:disabled{opacity:.65;cursor:not-allowed}&quot; +
      &quot;.msg{margin-top:10px;font-size:.95rem;min-height:1.2em}&quot; +
      &quot;&lt;/style&gt;&quot; +
      &apos;&lt;div class=&quot;gate-overlay&quot; role=&quot;dialog&quot; aria-modal=&quot;true&quot; aria-labelledby=&quot;gate-title&quot;&gt;&apos; +
      &apos;  &lt;div class=&quot;gate-card&quot;&gt;&apos; +
      &apos;    &lt;h2 id=&quot;gate-title&quot;&gt;Answer this to enter&lt;/h2&gt;&apos; +
      &quot;    &lt;p&gt;&quot; +
      escapeHtml(QUESTION) +
      &quot;&lt;/p&gt;&quot; +
      &apos;    &lt;input class=&quot;gate-input&quot; type=&quot;text&quot; autocomplete=&quot;off&quot; spellcheck=&quot;false&quot; placeholder=&quot;Your answer...&quot; aria-label=&quot;Your answer&quot; /&gt;&apos; +
      &apos;    &lt;button class=&quot;gate-btn&quot; type=&quot;button&quot;&gt;Submit&lt;/button&gt;&apos; +
      &apos;    &lt;div class=&quot;msg&quot; aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&apos; +
      &quot;  &lt;/div&gt;&quot; +
      &quot;&lt;/div&gt;&quot;;

    document.body.appendChild(overlay);

    var gate = overlay.querySelector(&quot;.gate-overlay&quot;);
    var input = overlay.querySelector(&quot;.gate-input&quot;);
    var btn = overlay.querySelector(&quot;.gate-btn&quot;);
    var msg = overlay.querySelector(&quot;.msg&quot;);

    setTimeout(function () {
      if (input) input.focus();
    }, 10);

    var tries = 0;
    var firstWrong = false;
    var busy = false;

    function done() {
      sessionStorage.setItem(STORAGE_KEY, &quot;1&quot;);
      gate.classList.add(&quot;fade&quot;);

      setTimeout(function () {
        overlay.remove();
        document.documentElement.style.overflow = restoreOverflow || &quot;&quot;;
      }, 220);
    }

    async function handleSubmit() {
      if (busy) return;

      if (!window.crypto || !crypto.subtle) {
        msg.textContent =
          &quot;This browser does not support the required security API.&quot;;
        return;
      }

      busy = true;
      btn.disabled = true;

      try {
        var answerHash = await sha256(normalize(input.value));
        var ok = ACCEPTED_HASHES.indexOf(answerHash) !== -1;

        tries++;

        if (tries === 1 &amp;&amp; ok) return done();
        if (tries === 1 &amp;&amp; !ok) firstWrong = true;

        if (firstWrong &amp;&amp; FORCE_THREE_IF_FIRST_FAIL &amp;&amp; tries &lt; 3) {
          var left = 3 - tries;
          msg.textContent =
            left + &quot; &quot; + (left === 1 ? &quot;try&quot; : &quot;tries&quot;) + &quot; left.&quot;;
          input.select();
          return;
        }

        if (firstWrong &amp;&amp; FORCE_THREE_IF_FIRST_FAIL &amp;&amp; tries === 3)
          return done();

        if (ok) return done();

        msg.textContent = &quot;Try again.&quot;;
        input.select();
      } finally {
        busy = false;
        btn.disabled = false;
      }
    }

    btn.addEventListener(&quot;click&quot;, handleSubmit);

    input.addEventListener(&quot;keydown&quot;, function (e) {
      if (e.key === &quot;Enter&quot;) {
        e.preventDefault();
        handleSubmit();
      }
    });
  })();
&lt;/script&gt;

&lt;noscript&gt;
  &lt;div style=&quot;
      padding: 1rem;
      background: #fee2e2;
      border: 1px solid #fecaca;
      border-radius: 8px;
      color: #7f1d1d;
      margin: 0.75rem 0;
    &quot;&gt;
    JavaScript is required to view this page.
  &lt;/div&gt;
&lt;/noscript&gt;

&lt;style&gt;
.deemph {
  width: 80ch;
  display: inline-block;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.skills-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5px;
  row-gap: 2px;
  margin-top: 15px;
  width: 90ch;
  font-size: 1.4rem;
  padding-left: 60pt;
	padding-bottom: 6pt;
}
.skills-grid div {
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.skills-grid div::before {
  content: &quot;▪ &quot;;
}
.footnote {
  font-size: 0.9em;
  color: #666;
  font-style: italic;
  margin-top: 5px;
  margin-bottom: 15px;
  padding-left: 60pt;
}
.research-interests {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 5px;
  row-gap: 2px;
  margin-top: 15px;
  width: 90ch;
  font-size: 1.4rem;
  padding-left: 60pt;
	padding-bottom: 6pt;
}

.research-interests div {
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.research-interests div::before {
  content: &quot;▪ &quot;;
}
&lt;/style&gt;

&lt;div class=&quot;shifted&quot;&gt;
  &lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;deemph&quot;&gt;(Updated October 2025)&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h1 id=&quot;huascar-sanchez&quot;&gt;Huascar Sanchez&lt;/h1&gt;

&lt;div class=&quot;shifted&quot;&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;heading&quot; id=&quot;summary&quot;&gt;Research Summary and Skills&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;deemph&quot;&gt;AI researcher and technical leader at the
          intersection of AI and software engineering. Proven expertise in
          building multi-LLM systems, compound AI workflows, and large-scale
          systems for Big Code analytics, programming language processing, and
          program analysis (static and dynamic). Current research interests
          center on &lt;strong&gt;multi-LLM collaboration optimization&lt;/strong&gt; and
          &lt;strong&gt;LLM chemistry estimation&lt;/strong&gt; as methods for improving
          specification learning, code generation, and program repair — with a
          focus on cost-optimized, workflow-aware planning for compound software
          tasks. I apply &lt;strong&gt;AI assurance&lt;/strong&gt; and &lt;strong&gt;AI red
          teaming&lt;/strong&gt; to ensure these systems are reliable and robust in
          high-stakes domains. Strong track record of translating AI/ML research
          into practical systems, including rigorous automated evaluation
          frameworks for model assessment. Additional background in modeling,
          analyzing, and detecting social-cyber operations against open-source
          ecosystems using deep learning.&lt;/span&gt;
            &lt;!--&lt;span class=&quot;deemph&quot;&gt;Senior Computer Scientist and Technical Leader working at the intersection of AI/ML and Software Engineering. Proven expertise in building Multi-LLM systems, compound AI workflows, and large-scale systems for &quot;Big Code&quot; analytics, programming language processing, and source code analysis. Currently leading applied research in AI/ML for specification learning, code generation and program repair, focusing on optimal multi-LLM collaboration and cost-optimized workflow-aware planning for compound software tasks. Deep knowledge of taking AI/ML research from concept to practical systems, including developing reliable automated evaluation workflows for model evaluation. Strong background in modeling, analyzing, and detecting social-cyber operations against open-source ecosystems using deep learning approaches. Recent work leverages multi-LLM collaboration, LLM chemistry estimation, and multi-LLM consensus to advance the development of reliable, accurate, and cost-optimized compound AI systems&amp;mdash;driving progress in multi-LLM orchestration, tool evaluation, RAG-based knowledge retrieval, and coding automation and analysis at scale. Passionate about turning cutting-edge research into practical, scalable features that drive automation and productivity.&lt;/span&gt;--&gt;
        &lt;/div&gt; &lt;!-- item --&gt;
    &lt;/div&gt; &lt;!-- entry --&gt;
    &lt;div class=&quot;heading&quot;&gt;Skills&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;skills-grid&quot;&gt;
          &lt;div&gt;Multi-LLM Collaboration Optimization&lt;/div&gt;
          &lt;div&gt;Model Evaluation &amp;amp; Benchmarking&lt;/div&gt;
          &lt;div&gt;Compound AI &amp;amp; Workflow-aware planning&lt;/div&gt;
          &lt;div&gt;Deep Learning Model Development &amp;amp; Training&lt;/div&gt;
          &lt;div&gt;LLM Chemistry Estimation for Model Strategy &amp;amp; Inference Optimization&lt;/div&gt;
          &lt;div&gt;Data Mining (Programming Language Processing)&lt;/div&gt;
          &lt;div&gt;Automated Software Engineering&lt;/div&gt;
          &lt;div&gt;LLM workflows for Coding Automation&lt;/div&gt;
          &lt;div&gt;AI Assurance &amp;amp; AI Red Teaming&lt;/div&gt;
          &lt;div&gt;AI/ML on Source Code&lt;/div&gt;
          &lt;div&gt;Static &amp;amp; Dynamic Program Analysis&lt;/div&gt;
          &lt;div&gt;Social-Cyber Security&lt;/div&gt;
          &lt;!-- &lt;div&gt;Programmer Productivity&lt;/div&gt;
          &lt;div&gt;Multi-LLM Recommendation&lt;/div&gt;
          &lt;div&gt;Automated Software Engineering&lt;/div&gt;
          &lt;div&gt;Machine Learning on Source Code&lt;/div&gt;
          &lt;div&gt;Source Code Curation and Analysis&lt;/div&gt;
          &lt;div&gt;Social-Cyber Security&lt;/div&gt;
          &lt;div&gt;Data Mining (Programming Language Processing)&lt;/div&gt; --&gt;
          &lt;!-- &lt;div&gt;Software Development &amp; Introspection&lt;/div&gt;
          &lt;div&gt;Software Engineering for AI/ML&lt;/div&gt;
          &lt;div&gt;AI/ML for Software Engineering&lt;/div&gt;
          &lt;div&gt;Software Analytics&lt;/div&gt;
          &lt;div&gt;Recommendation Systems&lt;/div&gt;
          &lt;div&gt;Machine Learning for Source Code&lt;/div&gt;
          &lt;div&gt;Multi-LLM strategies for Schema Learning from Healthcare Specifications&lt;/div&gt;
          &lt;div&gt;Multi-LLM Collaboration for Coding Automation&lt;/div&gt;
          &lt;div&gt;Compound AI Systems for Health Data Analysis&lt;/div&gt;
          &lt;div&gt;Graph-based Pattern Mining&lt;/div&gt; --&gt;
        &lt;/div&gt;
    &lt;/div&gt; &lt;!-- entry --&gt;
&lt;/div&gt; &lt;!-- Summary section --&gt;

&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;research-interests&quot;&gt;Research Interests&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;research-interests&quot;&gt;
        &lt;div&gt;Multi-LLM collaboration optimization and LLM chemistry estimation.&lt;/div&gt;
        &lt;div&gt;Social-cyber security for open-source ecosystem integrity.&lt;/div&gt;
        &lt;div&gt;AI assurance and error profiling for unexpected model failures.&lt;/div&gt;
        &lt;div&gt;Static/dynamic program analysis for code analysis/transformation/AI-driven reasoning.&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;!--&lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;heading&quot; id=&quot;current-position&quot;&gt;Current Position&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2024 &amp;ndash; now&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Senior Computer Scientist&lt;/span&gt;, Computer Science Laboratory &lt;br/&gt;
            &lt;span class=&quot;deemph&quot;&gt;Spearheading research into inference-time optimization for compound software tasks such as automated program repair and code generation, developing methodologies to improve model reliability, consistency, and performance, focusing on optimal multi-LLM collaboration, multi-hop reasoning, tool integration via MCP, probabilistic multi-LLM consensus, LLM chemistry estimation, prompt optimization, resulting in higher accuracy and reduced hallucinations compared to single-model inference.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt; &lt;!-- Current Position section --&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;heading&quot; id=&quot;projects&quot;&gt;Projects&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2025 &amp;ndash; now&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/2510.03930&quot;&gt;Reliable Multi-AI Collaboration&lt;/a&gt;&lt;/span&gt; (Team: SRI) &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt; Leading the development of a post-training framework for optimizing model performance for complex software tasks via LLM Chemistry estimation, optimal multi-LLM collaboration, tool integration via MCP, prompt strategies, and probabilistic multi-LLM consensus mechanisms for uncertainty quantification to ensure the reliable, consistent, and correct execution of complex reasoning tasks.
          &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2024 &amp;ndash; now&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;&lt;a href=&quot;https://arpa-h.gov/research-and-funding/programs/paradigm&quot;&gt;ARPA-H PARADIGM&lt;/a&gt;&lt;/span&gt; (Team: SRI) &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Developing multi-LLM strategies and workflows for extracting data types and constraints, inferring JSON schemas, and synthesizing schema-compliant code from diverse healthcare data formats to enable automatic cross-device-data-format translation. Includes profiling LLM failure modes to diagnose root causes for hallucinated constraints and brittle formatting.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2024 &amp;ndash; now&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;&lt;a href=&quot;https://www.iarpa.gov/research-programs/rescind&quot;&gt;IARPA ReSCIND&lt;/a&gt;&lt;/span&gt; (Team: SRI, IHMC, TwoSix, UFL, RAD, GMU, ColumbiaU, SimSpace) &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Leading the development of Cyber-Specific Computational Cognitive Models using Self-Supervised Machine Learning, Information Foraging Theory, and Fuzzy Cognitive Maps.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2024 &amp;ndash; now&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;&lt;a href=&quot;https://arpa-h.gov/research-and-funding/programs/digiheals&quot;&gt;ARPA-H DIGIHEALS&lt;/a&gt;&lt;/span&gt; (Team: SRI, Confidencial Inc., Homeward Health) &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Advancing the automatic generation of formal representations from natural language using neuro-symbolic AI and retrieval augmented generation (RAG), and leading the development of multi-LLM (Agentic) workflows for healthcare data analysis, formalization, and knowledge composition.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;heading&quot;&gt;Previous projects&lt;sup&gt;*&lt;/sup&gt;&lt;/div&gt;
    &lt;div class=&quot;footnote&quot;&gt;* Order of projects is arbitrary.&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
      &lt;div class=&quot;item&quot;&gt;
        &lt;span class=&quot;deemph&quot;&gt;&lt;a href=&quot;https://www.darpa.mil/program/automated-rapid-certification-of-software&quot;&gt;DARPA ARCOS&lt;/a&gt;, &lt;a href=&quot;https://www.darpa.mil/program/hybrid-ai-to-protect-integrity-of-open-source-code&quot;&gt;DARPA SocialCyber&lt;/a&gt;, &lt;a href=&quot;https://www.darpa.mil/program/system-of-systems-integration-technology-and-experimentation&quot;&gt;DARPA SoSITE&lt;/a&gt;, &lt;a href=&quot;https://www.darpa.mil/program/mining-and-understanding-software-enclaves&quot;&gt;DARPA MUSE&lt;/a&gt;, &lt;a href=&quot;https://www.darpa.mil/program/crowd-sourced-formal-verification&quot;&gt;DARPA CSFV&lt;/a&gt;.&lt;/span&gt; &lt;br /&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt; &lt;!-- Projects section --&gt;
&lt;div class=&quot;section&quot;&gt;
	&lt;div class=&quot;heading&quot; id=&quot;education&quot;&gt;Education&lt;/div&gt;
	&lt;div class=&quot;entry&quot;&gt;
		&lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
		&lt;div class=&quot;item&quot;&gt;
			&lt;span class=&quot;bold&quot;&gt;University of California Santa Cruz&lt;/span&gt; &amp;middot; Ph.D. in Computer Science &lt;br /&gt;
			&lt;span class=&quot;deemph&quot;&gt;Dissertation: Source code Curation Tooling for the Code Forager &lt;br /&gt;
				Advisor: Prof. Jim Whitehead&lt;/span&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;entry&quot;&gt;
		&lt;div class=&quot;year&quot;&gt;2006&lt;/div&gt;
		&lt;div class=&quot;item&quot;&gt;
			&lt;span class=&quot;bold&quot;&gt;San Jose State University&lt;/span&gt; &amp;middot; M.S. in Software Engineering &lt;br /&gt;
			&lt;span class=&quot;deemph&quot;&gt;MS Thesis title: Building Systems Using Patterns: Creating Knowledge Maps &lt;br /&gt;
					Advisor: Prof. M.E. Fayad&lt;/span&gt;
		&lt;/div&gt;
	&lt;/div&gt; &lt;!-- entry --&gt;
	&lt;div class=&quot;entry&quot;&gt;
		&lt;div class=&quot;year&quot;&gt;2001&lt;/div&gt;
		&lt;div class=&quot;item&quot;&gt;
			&lt;span class=&quot;bold&quot;&gt;Catholic University of Nicaragua&lt;/span&gt; &amp;middot; B.S. in Information Systems Engineering &lt;br /&gt;
		&lt;/div&gt;
	&lt;/div&gt; &lt;!-- entry --&gt;
&lt;/div&gt; &lt;!-- Education section --&gt;
&lt;div class=&quot;section&quot;&gt;
    &lt;div class=&quot;heading&quot; id=&quot;employment&quot;&gt;Professional Employment&lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2024 &amp;ndash; 2025&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Senior Computer Scientist&lt;/span&gt;, Computer Science Laboratory &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Spearheading research into inference-time optimization for compound software tasks such as automated program repair and code generation, developing methodologies to improve model reliability, consistency, and performance, focusing on optimal multi-LLM collaboration, multi-hop reasoning, tool integration via MCP, probabilistic multi-LLM consensus, LLM chemistry estimation, prompt optimization, resulting in higher accuracy and reduced hallucinations compared to single-model inference.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2021 &amp;ndash; 2023&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Advanced Computer Scientist II&lt;/span&gt;, Computer Science Laboratory &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Continuing to lead DARPA SocialCyber research to secure open-source software supply chains through a novel neurosymbolic AI method that models social-cyber threats. Developed multimodal, multi-task deep learning models for predicting developer behavior shaping the technical direction of open-source software. Recruited, hired, and supervised research intern, providing daily technical mentorship and conducting formal performance evaluations.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2019 &amp;ndash; 2021&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Advanced Computer Scientist I&lt;/span&gt;, Computer Science Laboratory &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Guiding the integration of formal verification and program analysis for continuous assurance case construction. Leading DARPA SocialCyber as Principal Investigator, shaping project vision, delivering hybrid AI methods for securing software supply chains, mentoring junior researchers, and coordinating reporting across stakeholders.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2018 &amp;ndash; 2019&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Advanced Computer Scientist&lt;/span&gt;, Computer Science Laboratory &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Applying machine learning, large-scale graph mining, and dynamic program analysis to open-source software security, and developing integration and verification methods for systems of systems in distributed environments.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2017 &amp;ndash; 2018&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Computer Scientist&lt;/span&gt;, Computer Science Laboratory &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Leveraging \textit{Big Code} analytics and machine learning on source code for code-to-code search, API recommendation, code synthesis, and source code analysis. Managed and coached research intern on graph-based code analysis project, overseeing technical work.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2015 &amp;ndash; 2017&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Postdoctoral Fellow&lt;/span&gt;, Computer Science Laboratory, &lt;span class=&quot;emph&quot;&gt;Host: Hassen Sa&amp;iuml;di&lt;/span&gt; &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Developing learning-to-rank models for large-scale code search and recommendation, and lightweight source code summarization techniques for improved source code understanding.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2014 &amp;ndash; 2015&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
            &lt;span class=&quot;bold&quot;&gt;SRI International&lt;/span&gt; &amp;middot; Menlo Park, CA &lt;br /&gt;
            &lt;span class=&quot;emph&quot;&gt;Visiting Research Fellow&lt;/span&gt;, Computer Science Laboratory, &lt;span class=&quot;emph&quot;&gt;Host: John Murray&lt;/span&gt; &lt;br /&gt;
            &lt;span class=&quot;deemph&quot;&gt;Making formal verification scalable and accessible to broader audiences via crowd-sourced approaches&amp;mdash;crowd-sourced formal verification&amp;mdash;that enable participation without formal methods expertise.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2013 &amp;ndash; 2015&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;University of California Santa Cruz&lt;/span&gt; &amp;middot; Santa Cruz, CA &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Research Assistant&lt;/span&gt;, Software Introspection Laboratory &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Empirical validation of crowd-sourced formal verification methods enabled by online games.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2012 &amp;ndash; 2013&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;University of California Santa Cruz&lt;/span&gt; &amp;middot; Santa Cruz, CA &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Research Assistant&lt;/span&gt;, Information Retrieval Laboratory &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Developing latent representation learning methods from social media data for multimodal cyberbullying detection.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2011 &amp;ndash; 2012&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;University of California Santa Cruz&lt;/span&gt; &amp;middot; Santa Cruz, CA &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Research Assistant&lt;/span&gt;, Software Introspection Laboratory &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Developing AI-guided, mixed-initiative content creation tools for automatic robot components design.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2010 &amp;ndash; 2011&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;University of California Santa Cruz&lt;/span&gt; &amp;middot; Santa Cruz, CA &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Research Assistant&lt;/span&gt;, Database Group &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Advancing semi-automatic index tuning in DBMSs to make it easier and more effective.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2010 &amp;ndash; 2012&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;Infomotor, Inc.&lt;/span&gt; &amp;middot; San Francisco, CA &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Software Engineer (Consultant)&lt;/span&gt; &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Streamlining both reporting and presentation of key performance
        metrics to deliver data that is both understandable and actionable.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;entry&quot;&gt;
        &lt;div class=&quot;year&quot;&gt;2006 &amp;ndash; 2009&lt;/div&gt;
        &lt;div class=&quot;item&quot;&gt;
          &lt;span class=&quot;bold&quot;&gt;Pearson VUE&lt;/span&gt; &amp;middot; Bloomington, MN &lt;br /&gt;
          &lt;span class=&quot;emph&quot;&gt;Software Engineer&lt;/span&gt; &lt;br /&gt;
          &lt;span class=&quot;deemph&quot;&gt;Developing and maintaining distributed applications that deliver over four million computer-based tests annually worldwide, supporting clients in licensure, certification, and assessment markets.&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
&lt;/div&gt; &lt;!-- Employment section --&gt;
&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;publications&quot;&gt;Publications&lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Conference Proceedings&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2024&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Continuous Safety &amp;amp; Security Evidence Generation, Curation and Assurance Case Construction Using the Evidential Tool Bus.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;N. Shankar, M. Kim, H. Sanchez, H. Ruess, T. Beyene, R. Bouchekir, D. Bhatt, S. Varadarajan, A. Murugesan, H. Ren, I. Hong-Wong, K. Siu, S. Varanasi, M. D. Ernst.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;43rd AIAA/IEEE Digital Avionics Systems Conference (DASC), 2024.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;JayHorn: A Framework for Verifying Java programs.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;T. Kahsai, P. R&amp;uuml;mmer, H. Sanchez, and M. Sch&amp;auml;f&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CAV: 28th International Conference on Computer Aided Verification, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Design Lessons From Binary Fission: A Crowd Sourced Game for Precondition Discovery.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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 B. Laurel.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CFDG: 11th International Joint Conference of DiGRA and FDG, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Detecting Similar Programs via the Weisfeiler-Lehman Graph Kernel.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;W. Li, H. Sa&amp;iuml;di, H. Sanchez, M. Sch&amp;auml;f, and P. Schweitzer.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSR: 15th International Conference on Software Reuse, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multistaging to Understand: Distilling the Essence of Java Code Examples.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, J. Whitehead, and M. Sch&amp;auml;f.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICPC: 24th IEEE International Conference on Program Comprehension, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Source Code Curation on StackOverflow: The Vesperin System.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and J. Whitehead.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSE: 37th IEEE/ACM International Conference on Software Engineering, 2015.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Verification Games: Designing Xylem, the Code of Plants.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;FDG: 9th International Conference on the Foundations of Digital Games, 2014.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Xylem: The Code of Plants.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;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.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;FDG: 9th International Conference on the Foundations of Digital Games, 2014.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2013&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SNIPR: Complementing Code Search with Code Retargeting Capabilities.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ICSE: 35th International Conference on Software Engineering, 2013.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2012&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Kaizen: A Semi-Automatic Index Advisor.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;I. Jimenez, H. Sanchez, Q.T. Tran, and N. Polyzotis.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SIGMOD: The 2012 ACM International Conference on Management of Data, 2012.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2012&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Twitter Bullying Detection.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and S. Kumar.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;NSDI: Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation, 2012.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2010&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Knowledge Maps — Fundamentally Modular Approach to Software Architecture, Design, Development and Deployment.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. E. Fayad, H.A. Sanchez, and S.K. Singh.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SEDE: 19th International Conference on Software Engineering and Data Engineering, 2010.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2006&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Branding Analysis Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. E. Fayad, H.A. Sanchez, and S.K. Singh.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;AICCSA: Proceedings of the IEEE International Conference on Computer Systems and Applications, 2006.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2005&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Towards Scalable and Adaptable Software Architectures.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M.E. Fayad, H.S. Hamza, and H.A. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IRI: The 2005 IEEE International Conference on Information Reuse and Integration, 2005.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2005&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Dynamic Mapping Design Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;J. Gresh, J. McKim, and H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;PLOP: 12th Pattern Language of Programs Conference, 2005.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2004&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;A Pattern Language for CRC Cards.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. Fayad, H. Sanchez, and H. Hamza.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;PLOP: 11th Conference on Pattern Languages of Programs, 2004.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2003&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;The Sampling Analysis Pattern.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H.A. Sanchez, B. Lai, and M.E. Fayad.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IRI: IEEE International Conference on Information Reuse and Integration, 2003.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Workshop Papers&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Introspection for Signaling Social-Cyber Operations.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DESTION: 5th Workshop on Design Automation for CPS and IoT, 2023.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Putting Your Passwords on Self Destruct Mode: Beating Password Fatigue.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, J. Murray, and D. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;SOUPS: 12th Symposium on Usable Privacy and Security, 2016.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;BotPrint: Casual Robotic Evolution.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;K. Compton, D. Lederle-Ensign, Z. Lin, J. Mazeika, A. Mobramaein, J. Pagnutti, H. Sanchez, and J. Whitehead.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;WCCG: 1st Workshop on Computational Creativity and Games, 2015.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Journal Articles&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2011&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Benchmarking Online Index-Tuning Algorithms.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;I. Jimenez, J. LeFevre, N. Polyzotis, H. Sanchez, and K. Schnaitter.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IEEE Data Engineering Bulletin, 2011.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Books&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Patterns, Knowledge Maps, and Domain Analysis.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;M. Fayad, H.A. Sanchez, S.G.K. Hegde, A. Basia, and A. Vakil.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;CRC Press, 2014. &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781466571433&quot;&gt;ISBN 9781466571433&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Reports and Other Publications&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Task Explorer Pipeline (TEP): Revealing the Hidden Structure of Human Problem-Solving.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;T. Odem, G. Denker, and H. Sanchez.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;(Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multi-LLM Collaboration for Medication Recommendation.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez, B. Hitaj, J. Bergmann, and L. Briesemeister.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.LG]. &lt;a href=&quot;https://arxiv.org/abs/2512.05066&quot;&gt;arXiv:2512.05066&lt;/a&gt;&lt;/span&gt;
      &lt;span class=&quot;deemph&quot;&gt;(Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;LLM Chemistry Estimation for Multi-LLM Recommendation.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.LG]. &lt;a href=&quot;https://arxiv.org/abs/2510.03930&quot;&gt;arXiv:2510.03930&lt;/a&gt; (Under Review)&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;DesCert: Design for Certification.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;N. Shankar, D. Bhatt, M. Ernst, M. Kim, S. Varadarajan, S. Millstein, J. Navas, J. Biatek, H. Sanchez, A. Murugesan, H. Ren.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Technical report, 2022. &lt;a href=&quot;https://arxiv.org/abs/2203.15178&quot;&gt;arxiv:2203.15178&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Trust in Motion: Capturing Trust Ascendancy in Open-Source Projects using Hybrid AI.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;H. Sanchez and B. Hitaj.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.SE]. &lt;a href=&quot;https://arxiv.org/abs/2210.02656&quot;&gt;arxiv:2210.02656&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2021&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Leveraging Team Dynamics to Predict Open-source Software Projects&apos; Susceptibility to Social Engineering Attacks.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;L. Giovanini, D. Oliveira, H. Sanchez, D. Shands.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ArXiv [Cs.SE]. &lt;a href=&quot;https://arxiv.org/abs/2106.16067&quot;&gt;arxiv:2106.16067&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Patents&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Intelligent Collaborative Project Management.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;D. Sanchez, H. Sanchez, H. Sa&amp;iuml;di.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;United States patent 11610173, 2023.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multipath verification of data transforms in a system of systems.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;B. Dutertre, S. Jha, H. Sanchez, P. Lincoln, E. M. Pearson, R. Dean, I. A. Mason.&lt;/span&gt; &lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;United States patent 2022/0197881, 2022.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;talks&quot;&gt;Talks&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Collaborative AI for Data Type Extraction and JSON Schema Learning.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;ARPA-H PARADIGM, Virtual meeting, June, 2025.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Multi-level Cyber-Specific Computational Cognitive Models (C3Ms).&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;IARPA ReSCIND, Virtual meeting, May, 2025.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Software Introspection for Signaling Social-Cyber Operations.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;5th Workshop on Design Automation for CPS and IoT, TX. 2023.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Graph-based Pattern Mining in Code Revisions for API Misuse Detection.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA SocialCyber, Virtual meeting, 2022.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Temporal Developer Activity Embeddings for Modeling Evolving Developer Behavior in Social Coding Environments.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA SocialCyber, Virtual meeting, 2022.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SIGNAL: Protecting the Integrity of Open-source Projects using Hybrid AI.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Computer Science Laboratory&apos;s Future Perfect Seminar, Virtual meeting. SRI International, Menlo Park, CA, 2022.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2021&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;A Multi-Task Learning Approach for Software Development Tasks Prediction.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA SocialCyber, Virtual meeting, 2021.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2021&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Change Point Analysis of Evolutionary Signatures in Social-Cyber Attacks.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA SocialCyber, Virtual meeting, 2021.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2020&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Continuous Certification of Open-source Software using Baseline DesCert.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA ARCOS, Virtual meeting, 2020.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2019&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Applying Machine Learning to Open-Source Code Retrieval and Verification.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Digital Foundations and Mathematics. Sandia National Laboratories. Livermore, CA, 2019.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2018&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;API Workflow Recommendations for Codebase Exploration.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA MUSE. University of Texas at Austin, TX, 2018.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2017&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Scaling Inter-Project Software Analysis.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;DARPA MUSE, Massachusetts Institute of Technology (MIT), MA, 2017.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Source Code Curation Tooling for the Code Forager.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Computer Science Laboratory Seminars. SRI International, Menlo Park, CA, 2015.&lt;/span&gt;&lt;br /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;service&quot;&gt;Service&lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Service to the Field&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2025&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;IEEE Secure Development Conference Program Committee.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;&lt;a href=&quot;https://secdev.ieee.org/2025/home/&quot;&gt;IEEE SecDev 2025&lt;/a&gt;. &lt;a href=&quot;https://secdev.ieee.org/2025/call-for-papers&quot;&gt;Call for Papers&lt;/a&gt;.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2023&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;NSF GRFP Reviewer.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;NSF Graduate Research Fellowship Program (GRFP 2023). &lt;a href=&quot;https://new.nsf.gov/funding/opportunities/grfp-nsf-graduate-research-fellowship-program/nsf23-605/solicitation&quot;&gt;NSF 23-605&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Mining Challenge Program Committee.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;19th International Conference on Mining Software Repositories (MSR 2022), Pittsburgh, PA.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2020&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Artifact Evaluation Program Committee.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;International Symposium on Software Testing and Analysis (ISSTA 2020), Los Angeles, CA.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2017&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Paper Reviewer.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;The 9th NASA Formal Methods Symposium (NFM 2017), Moffett Field, CA.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2016&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Paper Reviewer.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;The 13th International Colloquium on Theoretical Aspects of Computing (ICTAC 2016), Taipei, Taiwan.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2014&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Paper Reviewer.&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;The 11th Working Conference on Mining Software Repositories (MSR 2014), Hyderabad India.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Mentorship&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2022&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Akshith Gunasekaran.&lt;/span&gt; PhD Student (Oregon State University)&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;Summer Internship, SRI International, Menlo Park, CA.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2017&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Di Yang.&lt;/span&gt; PhD Student (University of California Irvine)&lt;br /&gt;
      &lt;span class=&quot;emph&quot;&gt;Summer Internship, SRI International, Menlo Park, CA.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;year&quot;&gt;2015&lt;/div&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Xu Zhang.&lt;/span&gt; PhD Student (University of California Santa Cruz).
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
  &lt;div class=&quot;heading&quot; id=&quot;software&quot;&gt;Software Development&lt;sup&gt;*&lt;/sup&gt;&lt;/div&gt;
  &lt;div class=&quot;footnote&quot;&gt;* Some projects listed above are private on GitHub; please contact me for access details.&lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Committer&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Lapis&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Automated Red Teaming framework to evaluate AI robustness against emergent behaviors by simulating
      persuasion engineering, deception, prompt abuse, and sandbagging attacks;&lt;a href=&quot;https://github.com/hsanchez/lapis&quot;&gt;https://github.com/hsanchez/lapis&lt;/a&gt; (Python, PyTorch, Pydantic AI, Hugging Face (Transformer), OpenAI and Anthropic SDK).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;LLM Chemistry&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;LLM Chemistry Estimation for Multi-LLM Recommendation; &lt;a href=&quot;https://github.com/SRI-CSL/llm-chemistry&quot;&gt;https://github.com/SRI-CSL/llm-chemistry&lt;/a&gt; (Python, PyTorch, Pandas, Beartype, SciPy).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Aligner&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;LLM Workflows for JSON Schema learning; &lt;a href=&quot;https://github.com/SRI-CSL/aligner&quot;&gt;https://github.com/SRI-CSL/aligner&lt;/a&gt; (Python, PyTorch, Langchain, HuggingFace (Transformer), Docker, Anthropic&apos;s MCP SDK).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Collaborative LLMs&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Optimal Multi-AI Collaboration; &lt;a href=&quot;https://github.com/hsanchez/SRI-CSL/collm&quot;&gt;https://github.com/hsanchez/SRI-CSL/collm&lt;/a&gt; (Python, PyTorch, Ollama, LangChain, LangGraph).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Yellow-Patch&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;A source code and patch analysis library; &lt;a href=&quot;https://github.com/hsanchez/yellow-patch/&quot;&gt;https://github.com/hsanchez/yellow-patch&lt;/a&gt; (Python, PyTorch, HuggingFace (Accelerate), Pandas, SQL, Docker).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Evidential Tool Bus&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;A framework for scaling assurance case construction, program verification and analysis; &lt;a href=&quot;https://github.com/SRI-CSL/etb2/&quot;&gt;https://github.com/SRI-CSL/etb2&lt;/a&gt; (Java, Python).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;DesCert&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;A framework for continuous safety &amp;amp; security evidence generation, curation and assurance case construction; &lt;a href=&quot;https://github.com/SRI-CSL/DesCert&quot;&gt;https://github.com/SRI-CSL/DesCert&lt;/a&gt; (Java, Python, C).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SIGNAL&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Securing open-source software supply chains against social-cyber threats using hybrid AI methods; &lt;a href=&quot;https://github.com/SRI-CSL/signal-public/&quot;&gt;https://github.com/SRI-CSL/signal-public&lt;/a&gt; (Python, PyTorch, Pandas, HuggingFace (Transformer, Accelerate), Postgres, Docker).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SENSOR&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Graph-based pattern mining in code revisions for API misuse detection; &lt;a href=&quot;https://github.com/SRI-CSL/signal-sensor/&quot;&gt;https://github.com/SRI-CSL/signal-sensor&lt;/a&gt; (Python, LLVM, Hydra).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;SimProg&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Inter-project program similarity detection using graph kernels; &lt;a href=&quot;https://github.com/SRI-CSL/simprog/&quot;&gt;https://github.com/SRI-CSL/simprog&lt;/a&gt; (Python, PyTorch).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;JayHorn&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Model checking for Java programs; &lt;a href=&quot;https://github.com/jayhorn&quot;&gt;https://github.com/jayhorn&lt;/a&gt; (Java).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;do-like-javac&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Program analysis and verification pipeline for Java projects; &lt;a href=&quot;https://github.com/SRI-CSL/do-like-javac&quot;&gt;https://github.com/SRI-CSL/do-like-javac&lt;/a&gt; (Java, Scala, C, Python).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Callspace&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;&lt;em&gt;Reliable API&lt;/em&gt; recommendation using likely program invariants and graph kernels; &lt;a href=&quot;https://github.com/SRI-CSL/smac/callspace&quot;&gt;https://github.com/SRI-CSL/smac/callspace&lt;/a&gt; (Scala, Java).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Randoop Gradle Plugin&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Gradle plugin for running Randoop unit test generator; &lt;a href=&quot;https://github.com/SRI-CSL/randoop-gradle-plugin&quot;&gt;https://github.com/SRI-CSL/randoop-gradle-plugin&lt;/a&gt; (Kotlin, Java).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;Daikon Gradle Plugin&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;Gradle plugin for running Daikon invariant detector; &lt;a href=&quot;https://github.com/SRI-CSL/daikon-gradle-plugin&quot;&gt;https://github.com/SRI-CSL/daikon-gradle-plugin&lt;/a&gt; (Kotlin, Java).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;subheading&quot;&gt;Contributor&lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;CHEKOFV&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;A framework for crowd-sourced formal verification; &lt;a href=&quot;https://github.com/SoftwareIntrospectionLab/chekofv&quot;&gt;https://github.com/SoftwareIntrospectionLab/chekofv&lt;/a&gt; (Python, Nodejs, TypeScript, ActionScript).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;entry&quot;&gt;
    &lt;div class=&quot;item&quot;&gt;
      &lt;span class=&quot;bold&quot;&gt;PASCALI&lt;/span&gt;&lt;br /&gt;
      &lt;span class=&quot;deemph&quot;&gt;High-volume structured and unstructured data analysis for program analysis, code search, and program synthesis; &lt;a href=&quot;https://github.com/SRI-CSL/pascali&quot;&gt;https://github.com/SRI-CSL/pascali&lt;/a&gt; (Python, Scala, Java, SQL).&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;!-- more --&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Read to Understand (RTU) Task</title>
   <link href="http://huascarsanchez.com/experiments/multistaging/rtu-guidelines.html"/>
   <updated>2016-02-22T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/experiments/multistaging/rtu-guidelines</id>
   <content type="html">&lt;p&gt;Please follow all of the instructions below:&lt;/p&gt;

&lt;h1 id=&quot;prereqs&quot;&gt;PREREQS&lt;/h1&gt;

&lt;p&gt;Make sure you have&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Google Chrome latest version installed on your computer.&lt;/li&gt;
  &lt;li&gt;Uninstalled any previously installed version of Violette from Chrome.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;guidelines-for-the-read-to-understand&quot;&gt;GUIDELINES FOR THE READ TO UNDERSTAND&lt;/h1&gt;

&lt;h2 id=&quot;goal&quot;&gt;GOAL&lt;/h2&gt;

&lt;p&gt;Gain understanding in (without multi staging to understand)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Control flow:   what is the sequence of execution?&lt;/li&gt;
  &lt;li&gt;State:          what is the content of a data object?&lt;/li&gt;
  &lt;li&gt;Operations:     what does the code compute?&lt;/li&gt;
  &lt;li&gt;Data flow:      where does a data object get updated?&lt;/li&gt;
  &lt;li&gt;Function:       what is the overall functionality?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;guidelines&quot;&gt;GUIDELINES&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Inspect each code example (one at a time).&lt;/li&gt;
  &lt;li&gt;Spend your time wisely, don’t go outside the code example’s Q&amp;amp;A page.&lt;/li&gt;
  &lt;li&gt;Gain understanding in the asked abstractions; e.g., control flow, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;the-task&quot;&gt;THE TASK&lt;/h1&gt;

&lt;p&gt;There will be 3 Java code examples (Accepted Answers) to review and understand. 
These examples were extracted from StackOverflow. Your task is to use the Read 
to Understand (RTU) comprehension technique to dig into each of the Java code 
examples. This technique involves reading the source code of the given code 
examples. After 30 minutes, per Java code example, you will be asked to answer 
a number of questions about the reviewed piece of code.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Please record the time spent reviewing the Java code example. 
Please submit this information as the answer for &quot;How long did you 
spend reviewing and understanding the Java code example?&quot;, 
which is found in the online questionnaire you will be 
completing after finishing the whole task.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For each example, there will be two links. First link will take you to a page 
containing a StackOverflow’s accepted answer. This answer contains some Java code. 
Second link will take you to an online questionnaire where you’ll answer a number 
of program comprehension questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;After you’ve finished reviewing and understanding the Java code example, please 
comeback to the experiment page. Then, click on the Java code example’s second 
link to answer the program comprehension questionnaire.&lt;/p&gt;

&lt;p&gt;After answering the questionnaire, close its page and then comeback to the experiment 
page. Once there, click on the next Java code example to review.&lt;/p&gt;

&lt;p&gt;Lastly, after reviewing all code examples and answering their questionnaires, please answer 
our &lt;a href=&quot;http://bit.ly/1KPyrlW&quot; target=&quot;_blank&quot;&gt;debriefing questionnaire&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;task-expectations&quot;&gt;TASK EXPECTATIONS&lt;/h1&gt;

&lt;p&gt;We expect the following throughout the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; We expect you to review and understand a total of &lt;strong&gt;3&lt;/strong&gt; Java code examples,
in the &lt;strong&gt;order provided&lt;/strong&gt; in this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; We expect the whole task be done within &lt;strong&gt;2 hrs&lt;/strong&gt;; including the 
the time spent reviewing this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; We expect the subjects to use only the resources available on the
question-answer page to complete the task; i.e., no external resources like
Wikipedia should be used.&lt;/p&gt;

&lt;h1 id=&quot;lets-get-started&quot;&gt;LET’S GET STARTED&lt;/h1&gt;

&lt;p&gt;So without further ado, please click on the first link of Code Example 1 below to start the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Code Example 1 (&lt;a href=&quot;http://bit.ly/1Mt3TEL&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1BLdRe4&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)   &lt;br /&gt;
&lt;strong&gt;2.&lt;/strong&gt; Code Example 2 (&lt;a href=&quot;http://bit.ly/1Kd9oYF&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1FV2Drr&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)  &lt;br /&gt;
&lt;strong&gt;3.&lt;/strong&gt; Code Example 3 (&lt;a href=&quot;http://bit.ly/1Kd9xeJ&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1KNTkhw&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Multistaging to Understand (MTU) Task</title>
   <link href="http://huascarsanchez.com/experiments/multistaging/mtu-guidelines.html"/>
   <updated>2015-12-05T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/experiments/multistaging/mtu-guidelines</id>
   <content type="html">&lt;p&gt;Please follow all of the instructions below:&lt;/p&gt;

&lt;h1 id=&quot;prereqs&quot;&gt;PREREQS&lt;/h1&gt;

&lt;p&gt;Make sure you have&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Google Chrome latest version installed on your computer.&lt;/li&gt;
  &lt;li&gt;Uninstalled any previously installed Violette from Chrome.&lt;/li&gt;
  &lt;li&gt;Installed &lt;a href=&quot;http://bit.ly/1IsfPG8&quot; target=&quot;_blank&quot;&gt;Violette-multi-staging-mode&lt;/a&gt; on Chrome&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;guidelines-for-the-multi-staging-to-understand&quot;&gt;GUIDELINES FOR THE MULTI STAGING TO UNDERSTAND&lt;/h1&gt;

&lt;h2 id=&quot;goal&quot;&gt;GOAL&lt;/h2&gt;

&lt;p&gt;Gain understanding in&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Control flow:   what is the sequence of execution?&lt;/li&gt;
  &lt;li&gt;State:          what is the content of a data object?&lt;/li&gt;
  &lt;li&gt;Operations:     what does the code compute?&lt;/li&gt;
  &lt;li&gt;Data flow:      where does a data object get updated?&lt;/li&gt;
  &lt;li&gt;Function:       what is the overall functionality?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;guidelines&quot;&gt;GUIDELINES&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Inspect each code example (one at a time).&lt;/li&gt;
  &lt;li&gt;Spend your time wisely, don’t go outside the Q&amp;amp;A page.&lt;/li&gt;
  &lt;li&gt;Click on the &lt;em&gt;stage&lt;/em&gt; button&lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; to generate an ordered set of stages&lt;sup id=&quot;fnref:4&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:4&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;; e.g., 0:stage-name, 1:stage-name, …, N:stage-name&lt;/li&gt;
  &lt;li&gt;Review the name of the stages in the order they appeared.&lt;/li&gt;
  &lt;li&gt;Iteratively click on any of the generated code stages to introduce a subset of the given Java code example’s behavior. E.g., Click stages in any order.  &lt;br /&gt;
  4.1 Open any hidden code blocks as you go along, and then try to understand its enclosed elements.&lt;/li&gt;
  &lt;li&gt;Review the introduced subset of behavior to make sure you understand what it is actually doing.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;the-task&quot;&gt;THE TASK&lt;/h1&gt;

&lt;p&gt;There will be 3 Java code examples (Accepted Answers) to review and understand. 
These examples were extracted from StackOverflow. Your task is to use the 
Multistaging to Understand (MTU) comprehension technique to dig into each of the 
Java code examples. This technique involves a few steps. Given a series of code stages 
(extracted from a code example), you will non-sequentially inspect a few of these 
stages, mentally abstract their functionality, and then use that knowledge to understand 
the example’s intended function. After 30 minutes, per Java code example, you will be 
asked to answer a number of questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;For each example, there will be two links. First link will take you to a page 
containing a StackOverflow’s accepted answer. This answer contains some Java code. 
Second link will take you to an online questionnaire where you’ll answer a number 
of program comprehension questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;After you’ve finished reviewing and understanding the Java code example, please
click on the &lt;em&gt;Bring it to Desktop&lt;/em&gt; button and then provide a brief description of the
(1) goal behind this code example and (2) the reason for using it. Then, please 
press the _enter_key to record your answer.&lt;/p&gt;

&lt;p&gt;Please comeback to the experiment page after bringing the Java code example onto 
your desktop. Then, click on the Java code example’s second link to answer the 
program comprehension questionnaire.&lt;/p&gt;

&lt;p&gt;After answering the program comprehension questionnaire, close its page and then 
comeback to the experiment page. Once there, click on the next Java code example 
to review.&lt;/p&gt;

&lt;p&gt;Lastly, after reviewing all code examples and answering their questionnaires, please answer 
our &lt;a href=&quot;http://bit.ly/1KPyrlW&quot; target=&quot;_blank&quot;&gt;debriefing questionnaire&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;task-expectations&quot;&gt;TASK EXPECTATIONS&lt;/h1&gt;

&lt;p&gt;We expect the following throughout the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; We expect you to review and understand a total of &lt;strong&gt;3&lt;/strong&gt; Java code examples,
in the &lt;strong&gt;order provided&lt;/strong&gt; in this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; We expect the whole task be done within &lt;strong&gt;2 hrs&lt;/strong&gt;; including the 
the time spent reviewing this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; We expect the subjects to use only the resources available on the
question-answer page to complete the task; i.e., no external resources like
Wikipedia should be used.&lt;/p&gt;

&lt;h1 id=&quot;lets-get-started&quot;&gt;LET’S GET STARTED&lt;/h1&gt;

&lt;p&gt;Before starting, please watch the following video. This video introduces violette and
the multi-staging functionality and UI.&lt;/p&gt;

&lt;iframe width=&quot;532&quot; height=&quot;400&quot; src=&quot;https://www.youtube.com/embed/wNBjNcqbDdI&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt; &lt;/iframe&gt;

&lt;!-- &lt;a href=&quot;https://www.youtube.com/watch?v=wNBjNcqbDdI&quot; target=&quot;_blank&quot;&gt;Multi staging Quicksort&lt;/a&gt;--&gt;

&lt;p&gt;So without further ado, please click on the first link of Code Example 1 below to start the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Code Example 1 (&lt;a href=&quot;http://bit.ly/1Mt3TEL&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1BLdRe4&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)   &lt;br /&gt;
&lt;strong&gt;2.&lt;/strong&gt; Code Example 2 (&lt;a href=&quot;http://bit.ly/1Kd9oYF&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1FV2Drr&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)  &lt;br /&gt;
&lt;strong&gt;3.&lt;/strong&gt; Code Example 3 (&lt;a href=&quot;http://bit.ly/1Kd9xeJ&quot; target=&quot;_blank&quot;&gt;code&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1KNTkhw&quot; target=&quot;_blank&quot;&gt;program comprehension questionnaire&lt;/a&gt;)&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Open Google Chrome and on the Url bar type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome://extensions&lt;/code&gt;. Look for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;violette-staging-no-summarization.crx&lt;/code&gt;. Get the file and then drop it on the Chrome extension area. Press the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Add&lt;/code&gt; button and you’re done. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;This button is located on the top right corner of Violette. Each stage is represented as &lt;strong&gt;named&lt;/strong&gt; button. Stages are presented in ascending order; i.e., starting from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n&lt;/code&gt; where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n&lt;/code&gt; is the maximum number of stages that can be extracted from the code example. &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:4&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;If after clicking on the stage button you get an error (red box) from the server, then please refresh the Web page and retry to stage the example. &lt;a href=&quot;#fnref:4&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Data</title>
   <link href="http://huascarsanchez.com/experiments/multistaging/data-stuff.html"/>
   <updated>2015-12-05T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/experiments/multistaging/data-stuff</id>
   <content type="html">&lt;h3 id=&quot;data-set&quot;&gt;Data set&lt;/h3&gt;

&lt;p&gt;We collected 50,000 Q\&amp;amp;A pages containing Java code examples, accumulated over a 4 year span. Our data set is available at &lt;a href=&quot;http://goo.gl/6IbfVi&quot; target=&quot;_blank&quot;&gt;stackoverflow-corpus&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We sorted this data set into 3 size categories: short (~50 LOC), medium (~135 LOC), and long (~200 LOC). Then, we randomly selected the examples from each size category.&lt;/p&gt;

&lt;h3 id=&quot;mturtu-answers&quot;&gt;MTU/RTU answers&lt;/h3&gt;

&lt;p&gt;The answers to the open ended program comprehension questions are available at &lt;a href=&quot;https://goo.gl/O37YVF&quot; target=&quot;_blank&quot;&gt;program-comprehension-answers&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Source Code Curation Tooling for the Code Forager</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/abstract.html"/>
   <updated>2015-10-25T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/abstract</id>
   <content type="html">&lt;h2 id=&quot;abstract&quot;&gt;Abstract&lt;/h2&gt;

&lt;p&gt;The Web has changed the dynamics of programming. We are in an era where reusing code from the Web is frequently the norm, not the exception. In this era, programmers use question and answer (Q&amp;amp;A) sites like StackOverflow to pose coding questions and receive coding answers. Programmers using these sites often engage in a complex code foraging process of understanding and adapting the code snippets they encounter to determine their fitness for use. While search still dominates modern code retrieval, search alone offers little support for validating search results for fitness of use. This is, in large part, due to the inherently questionable quality of online source code. Most online source code is not guaranteed to be good, to work properly, or to be trustworthy. This dissertation focuses on this challenge by introducing Source Code Curation, along with a set of tools that implements it. Source Code Curation is a blend of filtering, refinement, and validation activities. Source Code Curation can help programmers determine what source code is more likely to be useful, and what’s not. Specifically, it can help them both address the inherently questionable quality of online source code upfront, and complete their source code understanding tasks quickly and accurately.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Codepacking</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/codepacking.html"/>
   <updated>2015-04-04T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/codepacking</id>
   <content type="html">&lt;h2 id=&quot;codepacking&quot;&gt;Codepacking&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Codepacking&lt;/em&gt; is a technique for automatically resolving incomplete code snippets. Its ultimate goal is not about achieving program correctness but approximating program completeness. &lt;em&gt;Codepacking&lt;/em&gt; produces an Abstract Syntax Tree (&lt;em&gt;AST&lt;/em&gt;) of a partial program that &lt;em&gt;Vesperin&lt;/em&gt; can manipulate.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Codepacking&lt;/em&gt; consists of four steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Surrounds code example with the appropriate body declarations (class, method, or both), if needed.&lt;/li&gt;
  &lt;li&gt;It cross references missing type information of existing ill-typed expressions with a repository of pre-acquired API information and then suggests their well-typed corrections.&lt;/li&gt;
  &lt;li&gt;It uses Vesperin’s code transformation utilities to add the suggested corrections to the example’s code.&lt;/li&gt;
  &lt;li&gt;It produces the desired AST.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Codepacking’s code is still private. However, once it becomes public, it 
will be available &lt;a href=&quot;https://github.com/vesperin/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>My book is out!</title>
   <link href="http://huascarsanchez.com/posts/notes/book.html"/>
   <updated>2015-03-05T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/book</id>
   <content type="html">&lt;h2 id=&quot;software-patterns-knowledge-maps-and-domain-analysis&quot;&gt;Software Patterns, Knowledge Maps, and Domain Analysis&lt;/h2&gt;

&lt;p&gt;My book is about domain analysis and software patterns. Briefly, it shows how
to build software systems as systems of patterns, called Knowledge Maps.&lt;/p&gt;

&lt;p&gt;It is now in the global markets. Its publication date was December 2014. Please
check it out:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;At &lt;a href=&quot;http://tinyurl.com/SoftwarePatterns&quot;&gt;&lt;strong&gt;Amazon&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;At &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781466571433&quot;&gt;&lt;strong&gt;CRC Press&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;At &lt;a href=&quot;http://www.taylorandfrancis.com/books/details/9781466571433/&quot;&gt;&lt;strong&gt;Taylor &amp;amp; Francis&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;figure&gt;
    &lt;img style=&quot;border: 1px solid #e5e5e5;&quot; src=&quot;http://www.huascarsanchez.com/static/K16540.jpg&quot; alt=&quot;Software Patterns, Knowledge Maps, and Domain Analysis&quot; height=&quot;684&quot; width=&quot;432&quot; /&gt;
    &lt;figcaption style=&quot;padding-left: 2cm;&quot;&gt;Figure 1. Front cover of my book&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The citation (in BibTex) of this book is presented as follows:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@book{hsanchez, 
      author = {M. E. Fayad, H. A. Sanchez, S. G .K. Hegde, 
                A. Basia, and A. Vakil.},
      title  = {Software Patterns, Knowledge Maps, and 
                Domain Analysis},
      publisher = {Auerbach Publications},
      year      = 2014,
      address   = {Boca Raton, Florida},
      isbn      = {978-1466571433}
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Violette with Multi Staging and Code Summarization</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/violette-sum-multistage.html"/>
   <updated>2015-03-04T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/violette-sum-multistage</id>
   <content type="html">&lt;p&gt;To evaluate &lt;strong&gt;Violette&lt;/strong&gt;’s functionality, I have put together the following
&lt;strong&gt;experiment&lt;/strong&gt;. Please follow all of the instructions below:&lt;/p&gt;

&lt;h1 id=&quot;prereqs&quot;&gt;PREREQS&lt;/h1&gt;

&lt;p&gt;Make sure you have&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Google Chrome latest version installed on your computer.&lt;/li&gt;
  &lt;li&gt;Uninstalled any previously installed Violette from Chrome.&lt;/li&gt;
  &lt;li&gt;Installed &lt;a href=&quot;https://www.dropbox.com/s/b9148o15se0u8wa/violette-staging.crx?dl=0&quot; target=&quot;_blank&quot;&gt;Violette-staging-mode&lt;/a&gt; on Chrome&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;the-task&quot;&gt;THE TASK&lt;/h1&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;You, the subject, must click on a linked code example below.
This link will take you to a page containing a StackOverflow’s accepted answer.
This answer contains some Java code.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Once you are on that page, your goal is to review and understand the Java
code example.&lt;/p&gt;

    &lt;p&gt;If the links takes you to an answer without any Java code, feel free to
 comeback to experiment page and then refresh it. This action will give you
 a new linked code example.&lt;/p&gt;

    &lt;p&gt;For this task, you will be using both &lt;strong&gt;Violette&lt;/strong&gt;’s multi-staging
 functionality&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; and code summarization via automated code folding.&lt;/p&gt;

    &lt;p&gt;The multi staging functionality is activated by clicking on the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stage&lt;/code&gt; button.
 Each stage is represented as named button.&lt;/p&gt;

    &lt;p&gt;Code summarization functionality is activated when clicking on any of the
 produced stages. This functionality will identify the location of a few code
 blocks in the stage and then it will automatically fold them.&lt;/p&gt;

    &lt;p&gt;Please record on a piece of paper those examples that did not have any Java
 code inside. Please submit this information as part of a survey you will
 completing after finishing the experiment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;After you’ve finished reviewing and understanding the code example, please
click on the &lt;em&gt;Bring it to Destop&lt;/em&gt; button and the provide a description of the
goal behind this code example and the reason for using it. Including, fitness of
purpose, abstractions, usage protocols, etc.&lt;/p&gt;

    &lt;p&gt;If you’ve previously received a key or username from me,
 then include it in the description of the code example;
 e.g., username: the code does ….&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Lastly, bringing the code example to your desktop, please comeback this page
and then complete the following &lt;a href=&quot;http://goo.gl/vzqmzG&quot;&gt;survey&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;task-expectations&quot;&gt;TASK EXPECTATIONS&lt;/h1&gt;

&lt;p&gt;We expect the following throughout the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; We expect you to review and understand a total of &lt;strong&gt;10&lt;/strong&gt; Java code examples
generated by this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; We expect the whole task be done within &lt;strong&gt;1 hr and 30 minutes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; We expect the subjects to use only the resources available on the
question-answer page to complete the task; i.e., no external resources like
Wikipedia.&lt;/p&gt;

&lt;h1 id=&quot;lets-get-started&quot;&gt;LET’S GET STARTED&lt;/h1&gt;

&lt;p&gt;So without further ado, please click on the link below to start the task:&lt;/p&gt;

&lt;div id=&quot;example&quot;&gt;
&lt;/div&gt;

&lt;p&gt;Thank you for participating in this experiment. Now, we need your feedback. Please take a few minutes to complete our &lt;a href=&quot;http://goo.gl/vzqmzG&quot;&gt;survey&lt;/a&gt;.&lt;/p&gt;

&lt;script&gt;
  function shuffle(array) {
      var currentIndex = array.length
        , temporaryValue
        , randomIndex
        ;

      // While there remain elements to shuffle...
      while (0 !== currentIndex) {

        // Pick a remaining element...
        randomIndex   = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;

        // And swap it with the current element.
        temporaryValue      = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex]  = temporaryValue;
      }

      return array;
  }

  $(document).ready(function(){



     // use this https://github.com/marcuswestin/store.js
     // http://jsfiddle.net/hHLXr/12/
     // http://okta6.ideone.com/gfx2/js/ideone-index.js
     // http://html5demos.com/contenteditable
     var cached   = JSON.parse(window.localStorage.getItem(&apos;cached&apos;));
     var shuffled = shuffle(cached.items);

     var selected = shuffled[0] || null;
     if(selected != null){

       var replace = $(&quot;&lt;div/&gt;&quot;, {&apos;class&apos;:&apos;file-editor&apos;, &apos;html&apos;: &apos;A. &apos;, &apos;style&apos;: &apos;font-weight: bold;&apos;});
       var link    = $(&apos;&lt;a&gt;&apos;, {
        &apos;text&apos;: selected.title,
        &apos;href&apos;: selected.href,
        &apos;target&apos;: selected.target,
        &apos;style&apos;: &apos;cursor: pointer;&apos;
       });

       replace.append(link);

       $(&quot;#example&quot;).replaceWith(replace);
     }


  });
&lt;/script&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Open Google Chrome and on the Url bar type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome://extensions&lt;/code&gt;. Look for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vesper-web.crx&lt;/code&gt;. Get the file and then drop it on the Chrome extension area. Press the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Add&lt;/code&gt; button and you’re done. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Multi staged code examples are divided into a series of intermediate phases, presenting lower-level modules (supporting modules) before higher-level modules (main modules). &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Multistager</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/multistager.html"/>
   <updated>2015-02-15T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/multistager</id>
   <content type="html">&lt;h2 id=&quot;code-multistager-multistaging-to-understand&quot;&gt;Code Multistager, Multistaging to Understand&lt;/h2&gt;

&lt;p&gt;The idea behind Multistaging to Understand (MTU) is that given a series of code stages (extracted from a code example), programmers non-sequentially inspect a few of these stages, mentally abstract their functionality, and then use that knowledge to understand the example’s intended function. The following slides walks the reader through what MTU is and what’s behind it:&lt;/p&gt;

&lt;script async=&quot;&quot; class=&quot;speakerdeck-embed&quot; data-id=&quot;98cd712192ab4210b967f33631701a1d&quot; data-ratio=&quot;1.33333333333333&quot; src=&quot;//speakerdeck.com/assets/embed.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;The code of our Code examples multistager is still private. However, once it 
becomes public, it will be available &lt;a href=&quot;https://github.com/vesperin/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want to get access to this code, please send me an &lt;a href=&quot;mailto:hsanchez@cs.ucsc.edu&quot;&gt;email&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Multi Staging to Understand Task</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/violette-multistage.html"/>
   <updated>2015-01-28T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/violette-multistage</id>
   <content type="html">&lt;p&gt;Please follow all of the instructions below:&lt;/p&gt;

&lt;h1 id=&quot;prereqs&quot;&gt;PREREQS&lt;/h1&gt;

&lt;p&gt;Make sure you have&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Google Chrome latest version installed on your computer.&lt;/li&gt;
  &lt;li&gt;Uninstalled any previously installed Violette from Chrome.&lt;/li&gt;
  &lt;li&gt;Installed &lt;a href=&quot;http://bit.ly/1IsfPG8&quot; target=&quot;_blank&quot;&gt;Violette-multi-staging-mode&lt;/a&gt; on Chrome&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;guidelines-for-the-multi-staging-to-understand&quot;&gt;GUIDELINES FOR THE MULTI STAGING TO UNDERSTAND&lt;/h1&gt;

&lt;h2 id=&quot;goal&quot;&gt;GOAL&lt;/h2&gt;

&lt;p&gt;Gain understanding in&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Control flow:   what is the sequence of execution?&lt;/li&gt;
  &lt;li&gt;State:          what is the content of a data object?&lt;/li&gt;
  &lt;li&gt;Operations:     what does the code compute?&lt;/li&gt;
  &lt;li&gt;Data flow:      where does a data object get updated?&lt;/li&gt;
  &lt;li&gt;Function:       what is the overall functionality?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;guidelines-for-multi-staging&quot;&gt;GUIDELINES FOR MULTI STAGING&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Spend your time wisely, don’t go outside the Q&amp;amp;A page.&lt;/li&gt;
  &lt;li&gt;Click on the &lt;em&gt;stage&lt;/em&gt; button&lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; to generate an ordered set of stages&lt;sup id=&quot;fnref:4&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:4&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;; e.g., 0:stage-name, 1:stage-name, …, N:stage-name&lt;/li&gt;
  &lt;li&gt;Review the name of the stages in the order they appeared.&lt;/li&gt;
  &lt;li&gt;Iteratively click on any of the generated code stages to introduce a subset of the given Java code example’s behavior. E.g., Click stages in any order.  &lt;br /&gt;
  4.1 Open any hidden code blocks as you go along, and then try to understand its enclosed elements.&lt;/li&gt;
  &lt;li&gt;Review the introduced subset of behavior to make sure you understand what it is actually doing.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;the-task&quot;&gt;THE TASK&lt;/h1&gt;

&lt;p&gt;There will be 3 Java code examples (Accepted Answers) to review and understand. Use the appointed 
comprehension technique (either Read to Understand or Multi staging to Understand) 
to dig into each of the Java code examples. After 30 minutes, per Java code example, 
you will be asked to answer a number of questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;For each example, there will be two links. First link will take you to a page 
containing a StackOverflow’s accepted answer. This answer contains some Java code. 
Second link will take you to an online questionnaire where you’ll answer a number 
of questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;After you’ve finished reviewing and understanding the Java code example, please
click on the &lt;em&gt;Bring it to Desktop&lt;/em&gt; button and then provide a brief description of the
goal behind this code example and the reason for using it. Then press the &lt;em&gt;enter&lt;/em&gt;
key.&lt;/p&gt;

&lt;p&gt;After bringing the Java code example to your desktop, please comeback to the 
experiment page. Then, click on the Java code example’s second link to answer the 
questionnaire.&lt;/p&gt;

&lt;p&gt;After answering the questionnaire, close its page and then comeback to the experiment 
page. Once there, click on the next Java code example to review.&lt;/p&gt;

&lt;p&gt;Lastly, after reviewing all code examples and answering their questionnaires, please answer 
our &lt;a href=&quot;http://bit.ly/1KPyrlW&quot; target=&quot;_blank&quot;&gt;debriefing questionnaire&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;task-expectations&quot;&gt;TASK EXPECTATIONS&lt;/h1&gt;

&lt;p&gt;We expect the following throughout the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; We expect you to review and understand a total of &lt;strong&gt;3&lt;/strong&gt; Java code examples,
in the &lt;strong&gt;order provided&lt;/strong&gt; in this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; We expect the whole task be done within &lt;strong&gt;2 hrs&lt;/strong&gt;; including the 
the time spent reviewing this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; We expect the subjects to use only the resources available on the
question-answer page to complete the task; i.e., no external resources like
Wikipedia should be used.&lt;/p&gt;

&lt;h1 id=&quot;lets-get-started&quot;&gt;LET’S GET STARTED&lt;/h1&gt;

&lt;p&gt;Before starting, please watch the following video. This video introduces violette and
the multi-staging functionality and UI.&lt;/p&gt;

&lt;iframe width=&quot;532&quot; height=&quot;400&quot; src=&quot;https://www.youtube.com/embed/wNBjNcqbDdI&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt; &lt;/iframe&gt;

&lt;!-- &lt;a href=&quot;https://www.youtube.com/watch?v=wNBjNcqbDdI&quot; target=&quot;_blank&quot;&gt;Multi staging Quicksort&lt;/a&gt;--&gt;

&lt;p&gt;So without further ado, please click on the first link of Code Example 1 below to start the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Code Example 1 (&lt;a href=&quot;http://bit.ly/1Mt3TEL&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1BLdRe4&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)   &lt;br /&gt;
&lt;strong&gt;2.&lt;/strong&gt; Code Example 2 (&lt;a href=&quot;http://bit.ly/1Kd9oYF&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1FV2Drr&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)  &lt;br /&gt;
&lt;strong&gt;3.&lt;/strong&gt; Code Example 3 (&lt;a href=&quot;http://bit.ly/1Kd9xeJ&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1KNTkhw&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Open Google Chrome and on the Url bar type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chrome://extensions&lt;/code&gt;. Look for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;violette-staging-no-summarization.crx&lt;/code&gt;. Get the file and then drop it on the Chrome extension area. Press the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Add&lt;/code&gt; button and you’re done. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Multi staged code examples are divided into an ordered set of code stages, such that each code stage builds upon, and in relation to, preceding code stages. Each code stage is a code fragment that captures a subset of the given Java code example’s behavior. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;This button is located on the top right corner of Violette. Each stage is represented as &lt;strong&gt;named&lt;/strong&gt; button. Stages are presented in ascending order; i.e., starting from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n&lt;/code&gt; where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n&lt;/code&gt; is the maximum number of stages that can be extracted from the code example. &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:4&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;If after clicking on the stage button you get an error (red box) from the server, then please refresh the Web page and re-try to stage the example. &lt;a href=&quot;#fnref:4&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Read to Understand Task</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/evaluate-answer.html"/>
   <updated>2015-01-27T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/evaluate-answer</id>
   <content type="html">&lt;p&gt;Please follow all of the instructions below:&lt;/p&gt;

&lt;h1 id=&quot;prereqs&quot;&gt;PREREQS&lt;/h1&gt;

&lt;p&gt;Make sure you have&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Google Chrome latest version installed on your computer.&lt;/li&gt;
  &lt;li&gt;Uninstalled any previously installed version of Violette from Chrome.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;guidelines-for-the-read-to-understand&quot;&gt;GUIDELINES FOR THE READ TO UNDERSTAND&lt;/h1&gt;

&lt;h2 id=&quot;goal&quot;&gt;GOAL&lt;/h2&gt;

&lt;p&gt;Gain understanding in (without multi staging to understand)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Control flow:   what is the sequence of execution?&lt;/li&gt;
  &lt;li&gt;State:          what is the content of a data object?&lt;/li&gt;
  &lt;li&gt;Operations:     what does the code compute?&lt;/li&gt;
  &lt;li&gt;Data flow:      where does a data object get updated?&lt;/li&gt;
  &lt;li&gt;Function:       what is the overall functionality?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;guidelines&quot;&gt;GUIDELINES&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Spend your time wisely, don’t go outside the Q&amp;amp;A page.&lt;/li&gt;
  &lt;li&gt;Gain understanding in the asked abstractions; e.g., control flow, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&quot;the-task&quot;&gt;THE TASK&lt;/h1&gt;

&lt;p&gt;There will be 3 Java code examples (Accepted Answers) to review and understand. Use the appointed 
comprehension technique (either Read to Understand or Multi staging to Understand) 
to dig into each of the Java code examples. After 30 minutes, per Java code example, 
you will be asked to answer a number of questions about the reviewed piece of code.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Please record the time spent reviewing the Java code example. 
Please submit this information as the answer for &quot;How long did you 
spend reviewing and understanding the Java code example?&quot;, 
which is found in the online questionnaire you will be 
completing after finishing the whole task.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For each example, there will be two links. First link will take you to a page 
containing a StackOverflow’s accepted answer. This answer contains some Java code. 
Second link will take you to an online questionnaire where you’ll answer a number 
of questions about the reviewed piece of code.&lt;/p&gt;

&lt;p&gt;After you’ve finished reviewing and understanding the Java code example, please 
comeback to the experiment page. Then, click on the Java code example’s second 
link to answer the questionnaire.&lt;/p&gt;

&lt;p&gt;After answering the questionnaire, close its page and then comeback to the experiment 
page. Once there, click on the next Java code example to review.&lt;/p&gt;

&lt;p&gt;Lastly, after reviewing all code examples and answering their questionnaires, please answer 
our &lt;a href=&quot;http://bit.ly/1KPyrlW&quot; target=&quot;_blank&quot;&gt;debriefing questionnaire&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;task-expectations&quot;&gt;TASK EXPECTATIONS&lt;/h1&gt;

&lt;p&gt;We expect the following throughout the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; We expect you to review and understand a total of &lt;strong&gt;3&lt;/strong&gt; Java code examples,
in the &lt;strong&gt;order provided&lt;/strong&gt; in this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; We expect the whole task be done within &lt;strong&gt;2 hrs&lt;/strong&gt;; including the 
the time spent reviewing this page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; We expect the subjects to use only the resources available on the
question-answer page to complete the task; i.e., no external resources like
Wikipedia should be used.&lt;/p&gt;

&lt;h1 id=&quot;lets-get-started&quot;&gt;LET’S GET STARTED&lt;/h1&gt;

&lt;p&gt;So without further ado, please click on the first link of Code Example 1 below to start the task:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Code Example 1 (&lt;a href=&quot;http://bit.ly/1Mt3TEL&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1BLdRe4&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)   &lt;br /&gt;
&lt;strong&gt;2.&lt;/strong&gt; Code Example 2 (&lt;a href=&quot;http://bit.ly/1Kd9oYF&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1FV2Drr&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)  &lt;br /&gt;
&lt;strong&gt;3.&lt;/strong&gt; Code Example 3 (&lt;a href=&quot;http://bit.ly/1Kd9xeJ&quot; target=&quot;_blank&quot;&gt;src&lt;/a&gt;, &lt;a href=&quot;http://bit.ly/1KNTkhw&quot; target=&quot;_blank&quot;&gt;q&amp;amp;a&lt;/a&gt;)&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Stircup</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/stircup.html"/>
   <updated>2015-01-01T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/stircup</id>
   <content type="html">&lt;h2 id=&quot;stircup-search-application-for-stackoverflow-code-examples&quot;&gt;Stircup: Search application for (StackOverflow) Code examples&lt;/h2&gt;

&lt;p&gt;A brief introduction to get started with Stircup.&lt;/p&gt;

&lt;p&gt;Its easy to get started with it. You use it by first entering a query, and then pressing the &lt;strong&gt;Search&lt;/strong&gt; button below. Behind the scenes, the application fetches a few batches of code examples from StackOverflow ranked by significance to a query, ignores those ones that don’t match some user given criteria, and then displays the top k most relevant ones.&lt;/p&gt;

&lt;p&gt;The criteria we are using include: code examples contain only Java code, at least 5 lines of code. The final result is a list of k most relevant (and or typical if the sorting by typicality checkbox is checked) code examples.&lt;/p&gt;

&lt;p&gt;The first time you use it, the results get cached on your browser. After that, every time you search, this is done on your computer.&lt;/p&gt;

&lt;div id=&quot;columns&quot;&gt;
    &lt;div id=&quot;left-col&quot;&gt;
        &lt;h4&gt;
					&lt;span class=&quot;searcher&quot;&gt;
						&lt;input id=&quot;topk&quot; style=&quot;width: 20px;&quot; type=&quot;text&quot; placeholder=&quot;10...&quot; value=&quot;10&quot; onkeypress=&quot;return event.charCode &amp;gt;= 48 &amp;amp;&amp;amp; event.charCode &amp;lt;= 57&quot; /&gt;
						&lt;input id=&quot;query&quot; style=&quot;width: 150px;&quot; type=&quot;text&quot; placeholder=&quot;Search...&quot; /&gt;						
						&lt;button class=&quot;octicon-button dark&quot; id=&quot;search&quot;&gt;SEARCH&lt;/button&gt;
					&lt;/span&gt;
				&lt;/h4&gt;
        &lt;div id=&quot;logger&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;stopper&quot; class=&quot;hide&quot;&gt;
           Had enough? &lt;a href=&quot;#&quot; id=&quot;stop&quot;&gt;Stop it!&lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;right-col&quot;&gt;
    &lt;h4&gt;&lt;strong&gt;Code examples&lt;/strong&gt;&lt;span class=&quot;searcher&quot;&gt;
						&lt;input type=&quot;checkbox&quot; id=&quot;sorting&quot; value=&quot;typical&quot; /&gt;&lt;span class=&quot;typicality&quot;&gt;sorted by typicality&lt;/span&gt;
					&lt;/span&gt;
		&lt;/h4&gt;
    &lt;div id=&quot;displayer&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;clear&quot;&gt;&lt;/div&gt;

&lt;p&gt;Thank you for trying this app.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Violette</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/violette.html"/>
   <updated>2014-07-22T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/violette</id>
   <content type="html">&lt;h2 id=&quot;code-modification-ideas-in-place&quot;&gt;Code modification ideas in-place&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Violette&lt;/strong&gt; is Vesperin’s companion Chrome extension.&lt;/p&gt;

&lt;p&gt;When installed, Violette detects Java code blocks on StackOverflow and then transforms them into a form that allows developers to actually edit and change the code in the web page of the Q&amp;amp;A system (in-place).&lt;/p&gt;

&lt;p&gt;This in-place editing is done either manually via direct editing or semi-automatically via Vesperin’s built-in operations (available via the &lt;em&gt;Kiwi&lt;/em&gt; API).&lt;/p&gt;

&lt;p&gt;Out of the box, Violette supports the following operations.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Programming language detection using heuristics.&lt;/li&gt;
  &lt;li&gt;Code transformations and refactorings.&lt;/li&gt;
  &lt;li&gt;Content annotation via notes.&lt;/li&gt;
  &lt;li&gt;Lightweight drafts management.&lt;/li&gt;
  &lt;li&gt;Syntax correctness verification.&lt;/li&gt;
  &lt;li&gt;Code examples multi staging&lt;/li&gt;
  &lt;li&gt;Code examples summarization&lt;/li&gt;
  &lt;li&gt;Preview mode.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Violette’s latest version is available &lt;a href=&quot;https://www.dropbox.com/s/kb2slpdnpsuhjkl/violette-full.crx?dl=0&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Violette’s source code is available &lt;a href=&quot;https://github.com/vesperin/violette&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;additional-information&quot;&gt;Additional information&lt;/h2&gt;

&lt;p&gt;All the curated code snippets will be available, as tweets, on Twitter. If you want to see them, please follow &lt;a href=&quot;https://twitter.com/codedetour&quot;&gt;@codedetour&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Kiwi</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/kiwi.html"/>
   <updated>2014-07-22T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/kiwi</id>
   <content type="html">&lt;h2 id=&quot;curation-and-parsing-services&quot;&gt;Curation and Parsing services&lt;/h2&gt;

&lt;p&gt;The Kiwi API was implemented in Scala. It consists of two logical services: Curation and Parsing.&lt;/p&gt;

&lt;p&gt;The Curation service manages Vesperin’s curation operations, such as basic code transformations and refactorings, code presentation, and publication (published on Twitter). The Parsing service manages the access to a Java parsing API, built on top of Eclipse JDT&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;All requests are, by default, provided as JSON. There is no authentication required to make Curation and Parsing API calls.&lt;/p&gt;

&lt;p&gt;Kiwi HTTP layer uses the Spray&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; framework to build a REST/HTTP-based integration layer. This layer is responsible for serving HTTP requests. It has the following HTTP endpoints as an API:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;POST /kiwi/eval? {curation command}&lt;/li&gt;
  &lt;li&gt;PUT /kiwi/eval? {persist code command}&lt;/li&gt;
  &lt;li&gt;GET /kiwi/find?q={query text}&lt;/li&gt;
  &lt;li&gt;GET /kiwi/render?id={code id}&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is an example of a curation command (e.g., Rename method):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-javascript&quot; data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;rename&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;what&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;method&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;where&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
  &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Kiwi’s source code is still private. However, once it 
becomes public, it will be available &lt;a href=&quot;http://bit.ly/1fNMuMk&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want to get access to this code, please send me an &lt;a href=&quot;mailto:hsanchez@cs.ucsc.edu&quot;&gt;email&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;http://www.eclipse.org/jdt/ &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;http://spray.io/ &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Vesper</title>
   <link href="http://huascarsanchez.com/posts/thesiswork/tools/vesper.html"/>
   <updated>2014-06-22T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/thesiswork/tools/vesper</id>
   <content type="html">&lt;h2 id=&quot;vesper-code-transformation-utilities&quot;&gt;Vesper: Code transformation utilities&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Vesper&lt;/em&gt; is &lt;em&gt;Vesperin&lt;/em&gt;’s curation library for parsing, manipulating, and reconstructing Java code. &lt;em&gt;Vesper&lt;/em&gt; is built atop Eclipse’s JDT Java Parser and &lt;em&gt;AST/DOM&lt;/em&gt; transformation utilities. This mechanism allows Vesperin to work with partial and non-compiling programs, not just complete ones.&lt;/p&gt;

&lt;p&gt;The following code shows how one can start using the Vesper library.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;import static edu.ucsc.refactor.ChangeRequest.forIssue;
import static edu.ucsc.refactor.ChangeRequest.reformatSource;

final Source  code  = new Source(...);
// using your own configuration:
// refactorer = Vesper.createRefactorer(new MyConfiguration());
// using default configuration
final Refactorer  refactorer = Vesper.createRefactorer();

final Map&amp;lt;String, Parameter&amp;gt;  userInput = ...;

// I. Ask the Refactorer to recommend changes for you

// print the reason for the change
final Introspector introspector = Vesper.createIntrospector();
final Set&amp;lt;Issue&amp;gt;  issues = introspector.detectIssues(code);
final List&amp;lt;Change&amp;gt;  changes = Recommender.recommendChanges(
	refactorer, 
	code, 
	issues
);

for(Change each : changes){
   System.out.println(each.getCause().getName());
}

// perform a single recommended change

final Commit applied = refactor.apply(changes.get(0));
System.out.println(applied.more());

// or handle All recommended changes

List&amp;lt;Change&amp;gt;  recommended = Recommender.recommendChanges(
	refactorer, 
	code, 
	issues
);

while(!recommended.isEmpty()){
    final Commit applied = refactor.apply(recommended.get(0));
    System.out.println(applied.more());
    final Introspector introspector = Vesper.createIntrospector();
    final Set  badStuff = introspector.detectIssues(code);
    recommended = Recommender.recommendChanges(
			refactorer, 
			code, 
			badStuff
		); // get an updated list of changes
}


// II. Dealing with random edits started by the user

// reformat Source&apos;s content

Change reformat = refactorer.createChange(reformatSource(code));
final Commit applied = refactor.apply(reformat);
System.out.println(applied.more());
  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Vesper’s code is  available &lt;a href=&quot;https://github.com/vesperin/vesper&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Smalls chunks of text in small chunks of time</title>
   <link href="http://huascarsanchez.com/posts/notes/writing-in-small-chunks.html"/>
   <updated>2013-10-08T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/writing-in-small-chunks</id>
   <content type="html">&lt;p&gt;I have a hard time sitting still and on track. I get easily derailed by many things, such as social media, news, a wandering mind, worries, etc.&lt;/p&gt;

&lt;p&gt;Consequently, I’ve tailored my writing routine around this restlessness.&lt;/p&gt;

&lt;p&gt;I live by my &lt;a href=&quot;http://handsmemory.com&quot;&gt;timers&lt;/a&gt;, writing in chunks until time is up. Then I take a few breaks. I used these time periods to quell any distractions.&lt;/p&gt;

&lt;p&gt;I give myself 30 minutes to write.&lt;/p&gt;

&lt;p&gt;I follow the &lt;a href=&quot;http://bit.ly/15wpZ7&quot;&gt;chunking method&lt;/a&gt;. This method makes reading and understanding faster and easier.&lt;/p&gt;

&lt;p&gt;I do my best to maintain this routine since it improves my focus and concentration.&lt;/p&gt;

&lt;p&gt;It also helps me convey information more efficiently. I don’t get burned out. And there is no chance for social media to derail me.&lt;/p&gt;

&lt;p&gt;I also apply this method when writing code; e.g. writing small chunks of functionality in small chunks of time.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Cyberbullying detection in social networks</title>
   <link href="http://huascarsanchez.com/posts/notes/twitter-bullying-detection-report.html"/>
   <updated>2012-04-29T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/twitter-bullying-detection-report</id>
   <content type="html">&lt;p&gt;According to Google Analytics and to other sources, my data mining (ISM 245 class) project titled “Twitter Bullying Detection” is getting some attention. An earlier version of the project report was hosted on the co-author of the project’s &lt;a href=&quot;http://users.soe.ucsc.edu/~shreyask/index.html&quot;&gt;website&lt;/a&gt;. This version
is good in terms of communicating the project’s main idea and motivation. However, I think it is always important to have the latest version available. Therefore, I decided to post this latest version &lt;a href=&quot;http://dl.dropbox.com/u/11902217/huascarsanchez_and_shreyaskumar-twitterbullyingdection-fnl.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Please feel free to contact me if you have any questions about the content of
that report. Thanks.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Removing duplicate App icons in Launchpad (OS X 10.6+)</title>
   <link href="http://huascarsanchez.com/posts/notes/remove-duplicate-appicons-from-launchpad.html"/>
   <updated>2012-04-20T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/remove-duplicate-appicons-from-launchpad</id>
   <content type="html">&lt;p&gt;If there are multiple icon instances of one application in your Mac’s Launchpad,
then here is how to get rid of those duplicate instances:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Delete, or you simply drag and drop the application from Launchpad to
the trash. Lion OS will automatically remove all the icons in Launchpad related
to that App.&lt;/li&gt;
  &lt;li&gt;Then, simply drag and drop the App from the trash back to the applications
folder. You will notice now there is only one icon for that App in your Launchpad.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am hoping Apple will solve this problem soon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OS X 10.6 or later does not have this problem anymore.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Hello World!</title>
   <link href="http://huascarsanchez.com/posts/notes/helloworld.html"/>
   <updated>2011-11-05T00:00:00+00:00</updated>
   <id>http://huascarsanchez.com/posts/notes/helloworld</id>
   <content type="html">
&lt;p&gt;Here is the first post on huascarsanchez.com - my new website. My first blog post is the famous Hello World! message. Tell me, what&amp;#8217;s better than the famous Hello World! message to introduce a new blog? ;-)&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/ruby&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Hello world ruby program&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 

</feed>