Source code representations are key in applying machine learning techniques for processing and analyzing programs. A popular approach in representing source code is neural source code embeddings that represents programs with... more
Source code representations are key in applying machine learning techniques for processing and analyzing programs. A popular approach in representing source code is neural source code embeddings that represents programs with high-dimensional vectors computed by training deep neural networks on a large volume of programs. Although successful, there is little known about the contents of these vectors and their characteristics. In this paper, we present our preliminary results towards better understanding the contents of code2vec neural source code embeddings. In particular, in a small case study, we use the code2vec embeddings to create binary SVM classifiers and compare their performance with the handcrafted features. Our results suggest that the handcrafted features can perform very close to the highly-dimensional code2vec embeddings, and the information gains are more evenly distributed in the code2vec embeddings compared to the handcrafted features. We also find that the code2vec embeddings are more resilient to the removal of dimensions with low information gains than the handcrafted features. We hope our results serve a stepping stone toward principled analysis and evaluation of these code representations.
Let π = πq denote a finite projective plane of order q, and let G = Levi(π) be the bipartite point-line incidence graph of π. For k ≥ 3, let c 2k (π) denote the number of cycles of length 2k in G. Are the numbers c 2k (π) the same for all... more
Let π = πq denote a finite projective plane of order q, and let G = Levi(π) be the bipartite point-line incidence graph of π. For k ≥ 3, let c 2k (π) denote the number of cycles of length 2k in G. Are the numbers c 2k (π) the same for all πq? We prove that this is the case for k = 3, 4, 5, 6 by computing these numbers.
A triangulation of an embedded graph G is the graph obtained from G by adding a vertex in each region and joining it to each vertex in the boundary of the region. If a graph G has a self-dual embedding in a surface S, we may use... more
A triangulation of an embedded graph G is the graph obtained from G by adding a vertex in each region and joining it to each vertex in the boundary of the region. If a graph G has a self-dual embedding in a surface S, we may use current–voltage duality theory on the triangulation of G to construct a self-dual embedding of the composition graph G(n) = G[K ¯ n]. This method will be applied to construct self-dual embeddings of some families of graphs such as the composition of many bipartite graphs including the Cartesian product of even cycles.
Let pi = piq denote a finite projective plane of order q, and let G = Levi(pi) be the bipartite point-line incidence graph of pi. For k ≥ 3, let c2k(pi) denote the number of cycles of length 2k in G. Are the numbers c2k(pi) the same for... more
Let pi = piq denote a finite projective plane of order q, and let G = Levi(pi) be the bipartite point-line incidence graph of pi. For k ≥ 3, let c2k(pi) denote the number of cycles of length 2k in G. Are the numbers c2k(pi) the same for all piq? We prove that this is the case for k = 3, 4, 5, 6 by computing these numbers. We also describe some classes of non-isomorphic projective planes pi of the same order for which c2k(pi) are equal for all k ≥ 3. 1