Font Size: a A A

Task orientation and tailoring of interactive software explanations

Posted on:2000-04-17Degree:Ph.DType:Thesis
University:University of Southern CaliforniaCandidate:Erdem, Ali HaydarFull Text:PDF
GTID:2468390014963246Subject:Computer Science
Abstract/Summary:
Software maintenance is the most expensive phase in the lifetime of a large software system. Research has shown that maintenance of existing systems consumes 50% to 75% of the total programming effort and a significant portion of this activity is spent on software understanding.;Software understanding is the reconstruction of logic, structure and goals used in a program in order to understand what the program does and how it does it. Attempts to solve the software understanding problem have focused on automating the recognition of programming plans in the code and improving the organization of the documentation. But even with good documentation users still prefer asking questions to system experts. There are two reasons for this behavior: First, the interactive dialogue between the users and the experts provides feedback and facilitates the refinement of questions. The users can ask follow-on questions and clarify the parts of the explanation that they did not understand. Second, the experts tailor their answers to users' expertise and goals in order to make the answers easy to understand.;The objective of this thesis is to develop an automated software explanation system that can act as a system expert and to evaluate its effects on software understanding. To imitate an expert, the automated system needs to generate tailored explanations to user queries, take user feedback into account in explanation generation and help users in achieving their task goals.;Such an explanation tool named TORTOISE is developed based on the studies of software engineering questions and tasks. TORTOISE answers user questions about software artifacts. The answers are tailored to user's knowledge and task goals. This tailoring is done by avoiding repetition of what the user already knows, by giving information most relevant to the user goal, by adjusting the amount of detail in the explanation and by generating hyperlinks to the related sections of code and documentation.;TORTOISE also generates follow-on questions for each explanation. If users fail to understand an explanation, they can request clarification and can ask for the intent behind the explanation. In addition, TORTOISE helps the users to perform their task by using task models. The task models are used to answer user questions about the tasks and also to identify the immediate user goals.;TORTOISE is evaluated using a large software system called ModSAF. Two groups of users, one using TORTOISE and another using a similar tool that lacks tailoring and task support, were assigned a code modification task in ModSAF. After task completion, the users were asked questions to measure their comprehension of ModSAF. TORTOISE users were found to perform the task faster and answer more questions correctly.
Keywords/Search Tags:Task, Software, TORTOISE, Explanation, Users, Questions, System, Tailoring
Related items