CORE
🇺🇦
make metadata, not war
Services
Research
Services overview
Explore all CORE services
Access to raw data
API
Dataset
FastSync
Content discovery
Recommender
Discovery
OAI identifiers
OAI Resolver
Managing content
Dashboard
Bespoke contracts
Consultancy services
Support us
Support us
Membership
Sponsorship
Community governance
Advisory Board
Board of supporters
Research network
About
About us
Our mission
Team
Blog
FAQs
Contact us
research
Conclave: Writing programs to understand programs
Authors
J. J. Almeida
Nuno Alexandre Ramos Carvalho
Pedro Rangel Henriques
Maria João Varanda Pereira
Publication date
1 January 2014
Publisher
Schloss Dagstuhl - Leibniz-Zentrum für Informatik
Doi
Cite
Abstract
Software maintainers are often challenged with source code changes to improve software systems, or eliminate defects, in unfamiliar programs. To undertake these tasks a sufficient understanding of the system, or at least a small part of it, is required. One of the most time consuming tasks of this process is locating which parts of the code are responsible for some key functionality or feature. This paper introduces Conclave, an environment for software analysis, that enhances program comprehension activities. Programmers use natural languages to describe and discuss the problem domain, programming languages to write source code, and markup languages to have programs talking with other programs, and so this system has to cope with this heterogeneity of dialects, and provide tools in all these areas to effectively contribute to the understanding process. The source code, the problem domain, and the side effects of running the program are represented in the system using ontologies. A combination of tools (specialized in different kinds of languages) create mappings between the different domains. Conclave provides facilities for feature location, code search, and views of the software that ease the process of understanding the code, devising changes. The underlying feature location technique explores natural language terms used in programs (e.g. function and variable names); using textual analysis and a collection of Natural Language Processing techniques, computes synonymous sets of terms. These sets are used to score relatedness between program elements, and search queries or problem domain concepts, producing sorted ranks of program elements that address the search criteria, or concepts respectively. © Nuno Ramos Carvalho, José João Almeida, Maria João Varanda Pereira, and Pedro Rangel Henriques.(undefined)info:eu-repo/semantics/publishedVersio
Similar works
Full text
Open in the Core reader
Download PDF
Available Versions
Biblioteca Digital do IPB
See this paper in CORE
Go to the repository landing page
Download from data provider
oai:bibliotecadigital.ipb.pt:1...
Last time updated on 23/03/2018
Dagstuhl Research Online Publication Server
See this paper in CORE
Go to the repository landing page
Download from data provider
oai:drops-oai.dagstuhl.de:4556
Last time updated on 17/11/2016
Universidade do Minho: RepositoriUM
See this paper in CORE
Go to the repository landing page
Download from data provider
oai:repositorium.sdum.uminho.p...
Last time updated on 10/04/2018