Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/36560

Registo completo
Campo DCValorIdioma
dc.contributor.advisorAlmeida, J. J.-
dc.contributor.advisorVaranda, Maria João-
dc.contributor.authorCarvalho, Nuno Alexandre Ramospor
dc.date.accessioned2015-08-04T15:09:47Z-
dc.date.available2015-08-04T15:09:47Z-
dc.date.issued2015-02-27-
dc.date.submitted2014-11-20-
dc.identifier.urihttps://hdl.handle.net/1822/36560-
dc.descriptionThe MAP Doctoral Program in Computer Science of the Universities of Minho, Aveiro and Portopor
dc.description.abstractSoftware maintainers are often challenged with source code changes in unfamiliar pro- grams to improve software systems, e.g., eliminating defects, introducing new features, adapting to reality shifts. To undertake these tasks a sufficient understanding of the sys- tem (or at least a part of it) is required. One ofthe most time consuming activity during the understanding process is locating which parts of the code are responsible for which key functionality or feature - concept (or feature) location. Details inherent to the different languages involved (natural languages used to describe concepts in the real world, versus the programming languages used to implement programs), and their different levels of abstraction, entail the major challenges during these activities. This dissertation introduces the use of mappings for creating semantic bridges be- tween the software system and its application domain, to enhance concept location, and other software understanding activities. The generic proposed approach for building map- pings is divided in three main steps: (i) model, (ii) calculate, and (iii) devise views. The goal during the first step is to model relevant domains using ontologies to convey the informa- tion of interest, for example, model the software system (the program), or the application domain (the problem). Once the ontologies (models) are available, the second step im- plies performing arbitrary calculations to create, organize, or infer new information about each domain. During the final step, specific views are crafted based on information avail- able in the different models, that emphasize elements and traits of interest. During this work, a set of frameworks and libraries were developed, including generic methods and tool compositions, that allowed the implementation of the described ap- proach in a elegant (simple but effective) way. This toolkit was used to develop an en- vironment that features a set of applications that enhance program comprehension ac- tivities. A set of practical experiments were performed to measure tools (individual and composed) effectiveness, and a final overarching experience draws conclusions about the advantages of the featured techniques from a maintainers point of view, while perform- ing software debugging tasks, and the benefits in general of exploring mappings between the program and the problem domain.por
dc.description.abstractProgramadores sao muitas vezes confrontados com alteragoes do codigo de programas desconhecidos para melhorar os sistemas de software, eliminar defeitos, introdugao de novas funcionalidades, ou adaptagao a novas realidades. Para realizar estes tarefas é necessario uma compreensao suficiente do sistema (ou parte dele). Uma das actividades mais demoradas durante o processo de compreensao é Iocalizar as partes do codigo re- sponsaveis por recursos chave ou funcionalidades - localizagao de conceitos. Detalhes inerentes as diferentes linguagens envolvidas (linguagens naturais utilizadas para descr- ever conceitos no mundo real, versus linguagens de programagao utilizadas nos progra- mas), e os seus diferentes niveis de abstragao, sao responsaveis pelos principais desafios durante estas atividades. Esta dissertagao introduz o uso de mapeamentos para a criagao de pontes semanticas entre o sistema de software e o seu dominio de aplicagao, para melhor Iocalizar conceitos, e outras actividades de com preensao de programas. A abordagem proposta para a criagao de mapeamentos esta dividida em trés etapas principais: (i) modelar, (ii) calcular, e (iii) criar pontos de vista. O objectivo da primeira etapa é modelar dominios relevantes us- ando ontologias para representar a informagao de interesse, por exemplo o modelo do sistema de software (programa), ou o dominio da aplicagao (o problema). Assim que as ontologias (modelos) estejam disponiveis, o segundo passo implica a realizagao de calcu- los para criar, organizar ou inferir novos dados sobre cada dominio. Durante a etapa final, sao criadas vistas espec|'ficas com base em informagao disponivel nos diferentes modelos, que enfatizam elementos e caracteristicas de interesse. Durante este trabalho, desenvolveram-se um conjunto de frameworks e bibliotecas, incluindo métodos genéricos e com posigoes de ferramentas, que permitiram a implemen- tagao da abordagem descrita de uma forma elegante (simples mas eficaz). Este kit defer- ramentas foi utilizado para desenvolver um ambiente que disponibiliza um conjunto de aplicagoes que ajudam em atividades de compreensao de programas. Foram realizadas um conjunto de experiéncias praticas para medir a eficacia de algumas ferramentas (in- dividualmente e compostas), e uma experiéncia final mais abrangente permite tirar con- clusoes sobre as vantagens da utilizagao das técnicas discutidas do ponto de vista do pro- gramador, durante a execugao de tarefas de depuragao de software, e os benef|'cios em geral de explorar mapeamentos entre o dominio do programa e o dominio do problema.por
dc.description.sponsorshipFundação para a Ciência e a Tecnologia - PTDC/EIA-CCO/108995/2008.por
dc.description.sponsorshipFundação para a Ciência e a Tecnologia - PTDC/CLE-LLI/108948/2008por
dc.description.sponsorshipFundação para a Ciência e a Tecnologia - project PEst-OE/EEI/UI0752/2014.por
dc.language.isoengpor
dc.relationinfo:eu-repo/grantAgreement/FCT/5876-PPCDTI/108995/PT-
dc.relationinfo:eu-repo/grantAgreement/FCT/5876-PPCDTI/108948/PT-
dc.relationinfo:eu-repo/grantAgreement/FCT/5876/135947/PT-
dc.rightsopenAccesspor
dc.titleAn ontology toolkit for problem domain concept location in program comprehensionpor
dc.title.alternativeUm kit ontológico para localização de conceitos do domínio do problema na compreensão de programaspor
dc.typedoctoralThesispor
dc.subject.udc681.3-
dc.identifier.tid101398298-
dc.subject.fosEngenharia e Tecnologia::Outras Engenharias e Tecnologiaspor
Aparece nas coleções:BUM - Teses de Doutoramento
DI/CCTC - Teses de Doutoramento (phd thesis)

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Nuno Alexandre Ramos de Carvalho.pdf3,38 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID