Code search: A survey of techniques for finding code

L Di Grazia, M Pradel - ACM Computing Surveys, 2023 - dl.acm.org
The immense amounts of source code provide ample challenges and opportunities during
software development. To handle the size of code bases, developers commonly search for …

Datalog and emerging applications: an interactive tutorial

SS Huang, TJ Green, BT Loo - Proceedings of the 2011 ACM SIGMOD …, 2011 - dl.acm.org
We are witnessing an exciting revival of interest in recursive Datalog queries in a variety of
emerging application domains such as data integration, information extraction, networking …

Strictly declarative specification of sophisticated points-to analyses

M Bravenboer, Y Smaragdakis - Proceedings of the 24th ACM SIGPLAN …, 2009 - dl.acm.org
We present the DOOP framework for points-to analysis of Java programs. DOOP builds on
the idea of specifying pointer analysis algorithms declaratively, using Datalog: a logic-based …

Pointer analysis

Y Smaragdakis, G Balatsouras - Foundations and Trends® in …, 2015 - nowpublishers.com
Pointer analysis is a fundamental static program analysis, with a rich literature and wide
applications. The goal of pointer analysis is to compute an approximation of the set of …

Gigahorse: thorough, declarative decompilation of smart contracts

N Grech, L Brent, B Scholz… - 2019 IEEE/ACM 41st …, 2019 - ieeexplore.ieee.org
The rise of smart contracts-autonomous applications running on blockchains-has led to a
growing number of threats, necessitating sophisticated program analysis. However, smart …

Mining internet-scale software repositories

E Linstead, P Rigor, S Bajracharya… - Advances in neural …, 2007 - proceedings.neurips.cc
Large repositories of source code create new challenges and opportunities for statistical
machine learning. Here we first develop an infrastructure for the automated crawling …

Template-based reconstruction of complex refactorings

K Prete, N Rachatasumrit, N Sudan… - 2010 IEEE International …, 2010 - ieeexplore.ieee.org
Knowing which types of refactoring occurred between two program versions can help
programmers better understand code changes. Our survey of refactoring identification …

A framework for implementing pluggable type systems

C Andreae, J Noble, S Markstrum… - Proceedings of the 21st …, 2006 - dl.acm.org
Pluggable types have been proposed to support multiple type systems in the same
programming language. We have designed and implemented JavaCOP, a program …

From datalog to flix: A declarative language for fixed points on lattices

M Madsen, MH Yee, O Lhoták - ACM SIGPLAN Notices, 2016 - dl.acm.org
We present Flix, a declarative programming language for specifying and solving least fixed
point problems, particularly static program analyses. Flix is inspired by Datalog and extends …

Using information fragments to answer the questions developers ask

T Fritz, GC Murphy - Proceedings of the 32nd ACM/IEEE International …, 2010 - dl.acm.org
Each day, a software developer needs to answer a variety of questions that require the
integration of different kinds of project information. Currently, answering these questions …