Titulo Estágio
Context Capture in Software Development
Área Tecnológica
Inteligência Artificial
Local do Estágio
DEI - Laboratório de Inteligência Artificial
Enquadramento
This thesis will be developed in the context of doctoral proposal "Context-Based Information Retrieval in Software Development", presented by Bruno Antunes for the fulfillment of the Doctoral Program in Science and Information Technology.
The term context has an intuitive meaning for humans, but due to this intuitive connotation it remains vague and generalist. Furthermore, the interest in the many roles of context comes from different fields such as literature, philosophy, linguistics and computer science, with each field proposing its own view of context. As a general definition, context typically refers to the set of circumstances and facts that surround the center of interest, providing additional information and increasing understanding. In software development, the context of a developer can be viewed as a rich and complex network of elements across different dimensions that are not limited to the work developed on an IDE (Integrated Development Environment). Due to the difficulty on approaching such challenge, there is not a unified notion of what it really covers and how it can be truly exploited.
With the increasing dimension of software systems, software development projects have grown in complexity and size, as well as in the number of functionalities and technologies involved. During their work, software developers need to cope with a large amount of contextual information that is typically not captured and processed in order to enrich their work environment. Our aim is the definition of a software developer context model that takes into account all the dimensions that characterize the work environment of the developer. We propose that these dimensions can be represented as a layered model with four main layers: personal, project, organization and domain. Also, we believe that a context model needs to be analyzed from different perspectives: capture, modeling, representation and application. This way, each layer of the proposed context model will be founded in a definition of what context capture, modeling, representation and application should be for that layer.
A first prototype has already been developed, which allows the retrieval of raw data from software development tools, such as Subversion and Bugzilla, and the extraction of explicit and implicit relations that exist in this data. The relations extracted help us defining the network that exists between developers, tasks and resources, which represent a part of the software developer context model and can be used to unveil useful information to the developer.
Objetivo
The objective of this thesis is the improvement and expansion of the context capture techniques used to build the software developer context model. These techniques will be focused on the extraction of relevant information from software development tools, such as Integrated Development Environments, Version Control Systems, Issue Tracking Systems, Collaboration Tools, etc. The quantity and quality of the information extracted is very important for the success of our approach, as it will be used to feed the software developer context model.
The candidate should elaborate a state of the art study on the topics covered by this thesis and perform a survey about software development tools that can be integrated in the software developer context model. After this initial phase, the candidate should select the tools to be addressed and implement a prototype using the most appropriate approaches. The work concludes with the prototype experimentation and thesis writing.Plano de Trabalhos - Semestre 1
- State of the Art Study
Plano de Trabalhos - Semestre 2
- Prototype Development
Condições
The candidate will be rewarded with a research grant.
Orientador
Prof. Doutor Paulo Gomes
pgomes@dei.uc.pt 📩