27 research outputs found
Building Program Vector Representations for Deep Learning
Deep learning has made significant breakthroughs in various fields of
artificial intelligence. Advantages of deep learning include the ability to
capture highly complicated features, weak involvement of human engineering,
etc. However, it is still virtually impossible to use deep learning to analyze
programs since deep architectures cannot be trained effectively with pure back
propagation. In this pioneering paper, we propose the "coding criterion" to
build program vector representations, which are the premise of deep learning
for program analysis. Our representation learning approach directly makes deep
learning a reality in this new field. We evaluate the learned vector
representations both qualitatively and quantitatively. We conclude, based on
the experiments, the coding criterion is successful in building program
representations. To evaluate whether deep learning is beneficial for program
analysis, we feed the representations to deep neural networks, and achieve
higher accuracy in the program classification task than "shallow" methods, such
as logistic regression and the support vector machine. This result confirms the
feasibility of deep learning to analyze programs. It also gives primary
evidence of its success in this new field. We believe deep learning will become
an outstanding technique for program analysis in the near future.Comment: This paper was submitted to ICSE'1
DEEPCODE phase 1: Defining optimised compiled language for Code-set Summarization
Description of the project by arriving to Lund UniversityAún viviendo en la era de la globalización, podemos percibir cierto aislamiento y rivalidad entre equipos de desarrollo de software que comparten objetivos. Para un estudio genérico, un común denominador puede ser detectado: todos intentan filtrar las mejores ideas del campo en cuestión i aplicarle nuevas mejoras que hagan de su implementación la mejor del mercado en un seguido de aspectos «tangibles» (i.e. rendimiento, eficiéncia). No obstante, DeepCode propone una cooperación entre rivales para lograr resultados más trascendentes. DeepCode es una herramienta que, procesando un data-set compuesto por códigos fuente que ejecutan cierta tarea A, aprende como implementar dicha tarea A y consigue resultados superiores a cualquier individuo en el data-set. Dada la complejidad y naturaleza de DeepCode, dos fases son definidas: Phase 2, que, con capas de inteligéncia artificial, aprende que ideas en el data-set conllevan buenos resultados; y Phase 1, que estudia i monta una representación original del código fuente con el objetivo de proveer a la Phase 2 un data-set procesable y óptimo.Yet being immersed in the globalisation era, we can still perceive isolation and
rivalry between software developing teams that share ambitions.
Regardless of the nature of the research, a common denominator can be spotted:
they all try to get the best existing ideas on the field and apply some new improvement/s
that makes their own implementation the best in a specific set of “tangible” aspects (i.e.
performance, efficiency).
Nonetheless, DeepCode proposes a cooperation between parties in order to
achieve greater results. DeepCode is a tool that, by processing a data-set formed by
source codes representations performing a generic task A, learns how to implement task
A and outperform every individual from studied data-set. Given the complexity of
DeepCode, two stages are defined: Phase 2, that, with artificial intelligence techniques,
learns which ideas in the data-set imply good code performance and Phase 1, which
studies and builds customised code representation in order to provide phase 2 an
optimised and workable data-set.Tot i viure en l’era de la globalització, encara podem percebre cert aïllament i
rivalitat entre equips de desenvolupament de software què comparteixen objectius.
Per a una reserca genèrica, un comú denominador pot ser detectat: tots intenten
filtrar les millors idees del camp en qüestió i aplicar-ne noves millores què fagin de la
seva implementació la millor del mercat en un seguit d’aspectes «tangibles» (i.e.
rendiment, eficiència).
No obstant, DeepCode proposa una cooperació entre rivals per aconseguir
resultats més trascendents. DeepCode és una eina què, processant un data-set format
per codis fonts què executen certa tasca A, aprèn com implementar esmentada tasca A i
aconseguir resultats superiors a qualsevol individu en el data-set. Donada la complexitat i
natura de DeepCode, dugues fases són definides: Phase 2, què, amb capes d’AI, aprèn
quines idees en el data-set comporten bons resultats; i Phase 1, què estudia i munta una
representació original del codi font amb l’objectiu de proveïr la Phase 2 un data-set
procesable i òptim