Rrezarta Krasniqi, Ph.D.

Department of Computer Science and Engineering

University of North Texas

Tracelab: Software Traceability Instrumentation


Project Description. TraceLab is a research-based framework that is intended to facilitate innovation, creativity, and reproducability of research projects. It is used as an experimental environment to enable researchers to reproduce state-of-the-art approaches. Furthermore, they are designed to improve software traceability solutions across various software engineering tasks. Such approaches can also be supported through visual modeling environment using a library of reusable and user-defined set of components. Overall, TraceLab provides easy access to recent techniques so that other researchers can modify and improve. For the state-of-the-art to advance, it is essential that current techniques be reproducable.

apprach TraceLab Project-1. User stories are short descriptions of software features told from the user perspective. In general, a user story consists of a role, function, and rationale, which is expressed as: As a <role>, I want to <function> so that I can <rationale>. In the work published at ICSE'2017, we presented a technique that aims to generate user stories from the recorded transcripts of conversations between customers and developers. The input to this approach is a plain transcript of customer and developer conversations. The output to this approach is a list of 'speech turns' in the conversation that include role, function, and rationale data (a speech turn is a section of speech by one member of the conversation, during which others are quiet). The automatic generation of extractive summaries for user stories is a new research area, and working implementations are rare. This artifact is a set of reproducible TraceLab components that implement our technique. The benefit to using TraceLab components is that they are not only reusable but relatively easy to modify, so that future researchers can build improvements over our approach.

approach TraceLab Project-2. 'Speech Acts' are generally expressed as verbal actions to achieve a specific task. A typical expression of speech act is the following example: I've just made some tea. As a result, the speech does more than stating a fact — it has a consequence. This example may imply to invite or to offer. In recent work published at FSE'2018, we presented a multi-label classification technique that aims at detecting speech act types from written question and/or answer conversations between programmers. In our approach, a 'virtual assistant' receives as an input a message, and outputs the same message classified into one of several categories. A virtual assistant is a system that emulates the answers that programmers would give in a conversation. Virtual assistants for software engineering have not yet scratched the base to construct models of programmer conversations, and working implementations of this kind are necessary to push forward the software engineering research community. We reproduce our technique by providing an artifact that consists of a set of TraceLab components. TraceLab components are beneficial for two reasons. These components are reusable and fairly easy to modify and the researchers can extend them for further improvements.