Conclave: writing programs to understand programs
Main Author: | |
---|---|
Publication Date: | 2014 |
Other Authors: | , , |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/10198/9817 |
Summary: | 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. |
id |
RCAP_7b0ae4c6ffffa924c0c6d4c0c62f1b6e |
---|---|
oai_identifier_str |
oai:bibliotecadigital.ipb.pt:10198/9817 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
Conclave: writing programs to understand programsSoftware maintenanceSoftware evolutionProgram comprehensionFeature locationConcept locationNatural language processingSoftware 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.FCTBiblioteca Digital do IPBCarvalho, Nuno RamosAlmeida, José JoãoPereira, Maria JoãoHenriques, Pedro Rangel2014-07-02T08:30:52Z20142014-01-01T00:00:00Zconference objectinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/10198/9817engCarvalho, Nuno; Almeida, José João; Pereira, Maria João; Henriques, Pedro (2014). Conclave: writing programs to understand programs. In 3rd Symposium on Languages, Applications and Technologies, SLATE 2014; Braganca. ISBN 978-3-939897-68-2978-3-939897-68-22190-6807http://dx.doi.org/10.4230/OASIcs.SLATE.2014.19info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-25T12:01:13Zoai:bibliotecadigital.ipb.pt:10198/9817Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T11:25:49.071238Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Conclave: writing programs to understand programs |
title |
Conclave: writing programs to understand programs |
spellingShingle |
Conclave: writing programs to understand programs Carvalho, Nuno Ramos Software maintenance Software evolution Program comprehension Feature location Concept location Natural language processing |
title_short |
Conclave: writing programs to understand programs |
title_full |
Conclave: writing programs to understand programs |
title_fullStr |
Conclave: writing programs to understand programs |
title_full_unstemmed |
Conclave: writing programs to understand programs |
title_sort |
Conclave: writing programs to understand programs |
author |
Carvalho, Nuno Ramos |
author_facet |
Carvalho, Nuno Ramos Almeida, José João Pereira, Maria João Henriques, Pedro Rangel |
author_role |
author |
author2 |
Almeida, José João Pereira, Maria João Henriques, Pedro Rangel |
author2_role |
author author author |
dc.contributor.none.fl_str_mv |
Biblioteca Digital do IPB |
dc.contributor.author.fl_str_mv |
Carvalho, Nuno Ramos Almeida, José João Pereira, Maria João Henriques, Pedro Rangel |
dc.subject.por.fl_str_mv |
Software maintenance Software evolution Program comprehension Feature location Concept location Natural language processing |
topic |
Software maintenance Software evolution Program comprehension Feature location Concept location Natural language processing |
description |
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. |
publishDate |
2014 |
dc.date.none.fl_str_mv |
2014-07-02T08:30:52Z 2014 2014-01-01T00:00:00Z |
dc.type.driver.fl_str_mv |
conference object |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10198/9817 |
url |
http://hdl.handle.net/10198/9817 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
Carvalho, Nuno; Almeida, José João; Pereira, Maria João; Henriques, Pedro (2014). Conclave: writing programs to understand programs. In 3rd Symposium on Languages, Applications and Technologies, SLATE 2014; Braganca. ISBN 978-3-939897-68-2 978-3-939897-68-2 2190-6807 http://dx.doi.org/10.4230/OASIcs.SLATE.2014.19 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833591900334981120 |