Semantic Robustness of Models of Source Code

Jordan Henkel*Goutham Ramakrishnan*Zi WangAws AlbarghouthiSomesh JhaThomas Reps

A framework for testing the robustness of models of source code against sequences semantics-preserving transformations. Additionally, new results on the interplay between robustness of models of code and the domain-adaptation and cross-language-transfer tasks.

pdfarXiv

Shipwright: A Human-in-the-Loop System for Dockerfile Repair

Jordan Henkel*Denini Silva*Leopoldo TeixeiraMarcelo d'AmorimThomas Reps

Shipwright is a human-in-the-loop system for automated repair of broken Dockerfiles. We were able to use Shipwright to submit 45 pull requests with a 42.2% acceptance rate.

pdfacmarXivdatasetsslidesvideo

Learning from, Understanding, and Supporting DevOps Artifacts for Docker

Jordan HenkelChristian BirdShuvendu K. LahiriThomas Reps

A toolset for advanced Dockerfile parsing, Dockerfile rule mining, and rule-based static analysis of Dockerfiles. This paper seeks to improve the support for Docker (and, more generally, DevOps artifacts) by taking the first steps toward automated rule mining in this domain.

pdfacmarXivdatasetsvideo

A Dataset of Dockerfiles

Jordan HenkelChristian BirdShuvendu K. LahiriThomas Reps

Expanded details on the dataset of 178,000 unique Dockerfiles used in "Learning from, Understanding, and Supporting DevOps Artifacts for Docker." In addition to a discussion of the dataset, this workshop paper features example usages and schemas for all of the unique representations we took the data through to achieve rule mining and static checking.

pdfacmarXivdatasetsvideo
Available on Arxiv #Arxiv Papers

Enabling Open-World Specification Mining via Unsupervised Learning

Jordan HenkelShuvendu K. LahiriBen LiblitThomas Reps

A framework for mining specifications and usage patterns without the aid of rule templates, user-directed feedback, or predefined API surfaces. This paper leverages both learned embeddings and traditional co-occurrence statistics to disentangle trace-based data.

pdfarXiv

Code Vectors: Understanding Programs Through Embedded Abstracted Symbolic Traces

Jordan HenkelShuvendu K. LahiriBen LiblitThomas Reps

A novel technique for embedding semantically rich program artifacts. This paper explores how to combine sophisticated program analysis (in the form of lightweight symbolic execution) with off-the-shelf machine learning.

pdfacmarXivdatasets