Conclave: Writing programs to understand programs

Bibliographic Details
Main Author: Carvalho, Nuno Alexandre Ramos
Publication Date: 2014
Other Authors: Almeida, J. J., Pereira, Maria João Varanda, Henriques, Pedro Rangel
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/1822/53528
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. © Nuno Ramos Carvalho, José João Almeida, Maria João Varanda Pereira, and Pedro Rangel Henriques.
id RCAP_e19674ee92676d5e43c9fe580113d95e
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/53528
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 programsConcept locationFeature locationNatural language processingProgram comprehensionSoftware evolutionSoftware maintenanceCiências Naturais::Ciências da Computação e da InformaçãoSoftware 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/publishedVersionSchloss Dagstuhl - Leibniz-Zentrum für InformatikUniversidade do MinhoCarvalho, Nuno Alexandre RamosAlmeida, J. J.Pereira, Maria João VarandaHenriques, Pedro Rangel2014-01-012014-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/53528engCarvalho, N., Almeida, J. J., Pereira, M. J., & Henriques, P. (2014). Conclave: writing programs to understand programs. In 3rd Symposium on Languages, Applications and Technologies (Vol. 38, pp. 19-34)978-3-939897-68-22190-680710.4230/OASIcs.SLATE.2014.19http://drops.dagstuhl.de/portals/oasics/index.php?semnr=14003info: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:RCAAP2024-05-11T05:03:41Zoai:repositorium.sdum.uminho.pt:1822/53528Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:06:43.268082Repositó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 Alexandre Ramos
Concept location
Feature location
Natural language processing
Program comprehension
Software evolution
Software maintenance
Ciências Naturais::Ciências da Computação e da Informação
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 Alexandre Ramos
author_facet Carvalho, Nuno Alexandre Ramos
Almeida, J. J.
Pereira, Maria João Varanda
Henriques, Pedro Rangel
author_role author
author2 Almeida, J. J.
Pereira, Maria João Varanda
Henriques, Pedro Rangel
author2_role author
author
author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Carvalho, Nuno Alexandre Ramos
Almeida, J. J.
Pereira, Maria João Varanda
Henriques, Pedro Rangel
dc.subject.por.fl_str_mv Concept location
Feature location
Natural language processing
Program comprehension
Software evolution
Software maintenance
Ciências Naturais::Ciências da Computação e da Informação
topic Concept location
Feature location
Natural language processing
Program comprehension
Software evolution
Software maintenance
Ciências Naturais::Ciências da Computação e da Informação
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. © Nuno Ramos Carvalho, José João Almeida, Maria João Varanda Pereira, and Pedro Rangel Henriques.
publishDate 2014
dc.date.none.fl_str_mv 2014-01-01
2014-01-01T00:00:00Z
dc.type.driver.fl_str_mv conference paper
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/53528
url http://hdl.handle.net/1822/53528
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv Carvalho, N., Almeida, J. J., Pereira, M. J., & Henriques, P. (2014). Conclave: writing programs to understand programs. In 3rd Symposium on Languages, Applications and Technologies (Vol. 38, pp. 19-34)
978-3-939897-68-2
2190-6807
10.4230/OASIcs.SLATE.2014.19
http://drops.dagstuhl.de/portals/oasics/index.php?semnr=14003
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.publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum für Informatik
publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum für Informatik
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_ 1833595107904847872