Explore how AI transforms each stage of the SDLC. Tune the cost equation to see when GenAI pays off, and toggle context sources to watch suggestions improve.
Findings of ACL 2023Toggle LayerNorm's projection and scaling on/off to see how it changes which keys attention can select. Visualize the "un-selectable key" problem in 2D.
ICLR 2022Click nodes in side-by-side GAT vs GATv2 graphs. See how GAT's attention rankings stay static while GATv2's change dynamically with the query.
ICLR 2021Step through GNN message-passing layers and watch information from distant nodes get squashed through bottleneck nodes. Add shortcut edges to see relief.
OOPSLA 2020Write expressions with holes and examples in a RESL console. Watch synthesis candidates appear ranked by how well they match your specification.
OOPSLA 2020Watch DAMP attack a code model by iteratively renaming variables. See the prediction shift in real-time, then toggle defenses on.
OOPSLA 2020Make an edit in one location and see the model predict correlated edits elsewhere. Watch edit paths light up on the AST.
OOPSLA 2020Compile and strip a C function, then watch NERO analyze the control flow graph to recover the original function name.
ACL 2020Pick an RNN architecture and see which formal languages it can recognize. Watch internal state evolve as strings are processed character by character.
ICML 2020See how AST paths provide richer context than flat tokens for code completion. Compare structural vs token-based model predictions side by side.
POPL 2019Enter code and see AST paths extracted, attention weights computed, and method names predicted. Explore how path-contexts capture code semantics.
ICLR 2019Watch the decoder generate method name subtokens one at a time, attending to different AST path-contexts at each step.
NeurIPS 2019Step through the weighted L* algorithm building an observation table and hypothesis automaton from membership queries.
ICML 2018Watch L* extract an interpretable DFA from a black-box RNN. See the observation table grow and the hypothesis automaton evolve step by step.
ACL 2018Adjust precision from 2-bit to infinite and watch how RNN counting ability degrades. See why practical RNNs are limited to regular languages.
PLDI 2018Click pairs of AST leaf nodes to see the connecting path highlighted. Explore how paths capture syntactic patterns for property prediction.
ICSE 2018Give examples to a synthesizer, then answer disambiguating questions to prune candidates. Watch the candidate count shrink to one correct program.
VMCAI 2018Provide one example test and watch the system generate a comprehensive test suite targeting edge cases and different code paths.
ASPLOS 2018Compile and strip a C++ program, then watch the system reconstruct the class hierarchy from vtable patterns and constructor signatures.
ASPLOS 2018Scan firmware for known CVEs using strand-based matching. See how FirmUp detects Heartbleed even across different CPU architectures.
PLDI 2017Compare binaries from different compilers. Watch re-optimization bring them to canonical form, revealing their underlying similarity.
CAV 2017Move beyond concrete examples to abstract specifications like "any positive integer." See how abstract examples constrain synthesis more effectively.
COLT 2017Place membership queries on a 2D plane to learn a disjunction of predicates. Watch the hypothesis region converge to the target concept.
WSDM 2017Build redundant extraction strategies for web data. Mutate the HTML and watch forgiving extractors survive while rigid ones break.
ONWARD 2016Step through a simulated video timeline and watch code being extracted frame by frame via region detection, OCR, and temporal diffing.
ONWARD 2016Compare code snippets using token, structural, and NL-based similarity. See how natural language descriptions bridge semantically equivalent but syntactically different code.
KDD 2016Align multiple product page DOMs to separate template from data. Reconstruct any original page from the extracted template and data table.
PLDI 2016Extract instruction strands from binary functions and match them statistically. See how strand-based comparison survives cross-compiler differences.
POPL 2016Watch a model predict variable types from assembly usage patterns. See how FPU instructions signal floats and dereferences signal pointers.
ICSE 2016Use one website's known structure to automatically synthesize an extractor for a different site in the same domain.
VMCAI 2016Watch data-driven refinement split imprecise abstractions into tight-fitting disjuncts on a 2D state space visualization.
OBT 2015Explore how natural language descriptions provide semantic signals for code similarity beyond syntactic structure.
VMCAI 2015Visualize store buffers under TSO and PSO memory models. See how abstraction reduces verification state space from 48 to 12 states.
OOPSLA 2014Compare two program versions: see a big textual diff vs a precise semantic diff that shows only the behavioral change.
PLDI 2014Extract tracelets from a binary's CFG, then search for matching functions in a target binary using tracelet matching.
PLDI 2014Compare alphabetical vs statistically-ranked code completions. See how n-gram models put the right completion first.
PPOPP 2014Watch two threads operate on a BST simultaneously. See how logical ordering prevents conflicts without complex locking.
SAS 2014Watch memory operations get reordered by the processor, then see minimal fences synthesized to prevent buggy behaviors.