Semantic code browsing

García Contreras, Isabel, Morales Caballero, José Francisco and Hermenegildo, Manuel V. ORCID: https://orcid.org/0000-0002-7583-323X (2016). Semantic code browsing. "Theory and Practice of Logic Programming", v. 16 (n. 5-6); pp. 721-737. ISSN 1471-0684. https://doi.org/10.1017/S1471068416000417.

Descripción

Título: Semantic code browsing
Autor/es:
Tipo de Documento: Artículo
Título del Evento: 32nd International Conference on Logic Programming (ICLP 2016)
Fechas del Evento: 16-21 Oct 2016
Lugar del Evento: Nueva York
Título del Libro: Theory and Practice of Logic Programming
Título de Revista/Publicación: Theory and Practice of Logic Programming
Fecha: 2016
ISSN: 1471-0684
Volumen: 16
Número: 5-6
Materias:
ODS:
Palabras Clave Informales: Semantic Code Search; Abstract Interpretation; Assertions
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[thumbnail of HERME_A_2016-1.pdf]
Vista Previa
PDF (Portable Document Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

Programmers currently enjoy access to a very high number of code repositories and libraries
of ever increasing size. The ensuing potential for reuse is however hampered by the fact that
searching within all this code becomes an increasingly difficult task. Most code search engines
are based on syntactic techniques such as signature matching or keyword extraction. However,
these techniques are inaccurate (because they basically rely on documentation) and at the
same time do not offer very expressive code query languages. We propose a novel approach
that focuses on querying for semantic characteristics of code obtained automatically from the
code itself. Program units are pre-processed using static analysis techniques, based on abstract
interpretation, obtaining safe semantic approximations. A novel, assertion-based code query
language is used to express desired semantic characteristics of the code as partial specifications.
Relevant code is found by comparing such partial specifications with the inferred semantics for
program elements. Our approach is fully automatic and does not rely on user annotations or
documentation. It is more powerful and flexible than signature matching because it is parametric
on the abstract domain and properties, and does not require type definitions. Also, it reasons
with relations between properties, such as implication and abstraction, rather than just equality.
It is also more resilient to syntactic code differences. We describe the approach and report on a
prototype implementation within the Ciao system.

Proyectos asociados

Tipo
Código
Acrónimo
Responsable
Título
Gobierno de España
TIN2012-39391
StrongSoft
Universidad Complutense de Madrid
Tecnologías rigurosas para software de nueva generación abierto y fiable
Comunidad de Madrid
TIN2015-67522-C3-1-R
TRACES
IMDEA
Tecnologías y herramientas para el desarrollo de software consciente de los recursos, correcto y eficiente (IMDEA)
Comunidad de Madrid
M141047003
Sin especificar
Universidad Politécnica de Madrid
N-GREENS program
FP7
318337
ENTRA
Sin especificar
Whole-Systems Energy Transparency

Más información

ID de Registro: 52864
Identificador DC: https://oa.upm.es/52864/
Identificador OAI: oai:oa.upm.es:52864
URL Portal Científico: https://portalcientifico.upm.es/es/ipublic/item/5493898
Identificador DOI: 10.1017/S1471068416000417
URL Oficial: https://www.cambridge.org/core/journals/theory-and...
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 29 Oct 2018 17:07
Ultima Modificación: 12 Nov 2025 00:00