2,002 research outputs found
Exploration of User Groups in VEXUS
We introduce VEXUS, an interactive visualization framework for exploring user
data to fulfill tasks such as finding a set of experts, forming discussion
groups and analyzing collective behaviors. User data is characterized by a
combination of demographics like age and occupation, and actions such as rating
a movie, writing a paper, following a medical treatment or buying groceries.
The ubiquity of user data requires tools that help explorers, be they
specialists or novice users, acquire new insights. VEXUS lets explorers
interact with user data via visual primitives and builds an exploration profile
to recommend the next exploration steps. VEXUS combines state-of-the-art
visualization techniques with appropriate indexing of user data to provide fast
and relevant exploration
Some paradigms for visualizing parallel execution of logic programs
This paper addresses the design of visual paradigms for observing the parallel execution of logic programs. First, an intuitive method is proposed for arriving at the design of a paradigm and its implementation as a tool for a given model of parallelism. This method is based on stepwise
reñnement starting from the deñnition of basic notions such as events and observables and some precedence relationships among events which hold for the given model of parallelism. The method is then applied to several types of parallel execution models for logic programs (Orparallelism, Determinate Dependent And parallelism, Restricted and-parallelism) for which visualization paradigms are designed. Finally, VisAndOr, a tool which implements all of these paradigms is presented, together with a discussion of its usefulness through examples
LEARNING HOW STUDENTS ARE LEARNING IN PROGRAMMING LAB SESSIONS
Department of Computer Science and EngineeringProgramming lab sessions help students learn to program in a practical way. Although these sessions
are typically valuable to students, it is not uncommon for some participants to fall behind throughout
the sessions and leave without fully grasping the concepts covered during the session. In my thesis, I
will be presenting LabEX, a system for instructors to understand students' progress and learning
experience during programming lab sessions. LabEX utilizes statistical techniques that help
distinguishing struggling students and understand their degree of struggle. LabEX also helps instructors
to provide in-situ feedback to students with its real-time code review. LabEX was evaluated in an entry-level
programming course taken by more than two hundred students in UNIST, establishing that it
increases the quality of programming lab sessions.ope
Semi-automatic fault localization
One of the most expensive and time-consuming components of the debugging
process is locating the errors or faults. To locate faults, developers must identify
statements involved in failures and select suspicious statements that might contain
faults. In practice, this localization is done by developers in a tedious and manual
way, using only a single execution, targeting only one fault, and having a limited
perspective into a large search space.
The thesis of this research is that fault localization can be partially automated
with the use of commonly available dynamic information gathered from test-case
executions in a way that is effective, efficient, tolerant of test cases that pass but also
execute the fault, and scalable to large programs that potentially contain multiple
faults. The overall goal of this research is to develop effective and efficient fault
localization techniques that scale to programs of large size and with multiple faults.
There are three principle steps performed to reach this goal: (1) Develop practical
techniques for locating suspicious regions in a program; (2) Develop techniques to
partition test suites into smaller, specialized test suites to target specific faults; and
(3) Evaluate the usefulness and cost of these techniques.
In this dissertation, the difficulties and limitations of previous work in the area
of fault-localization are explored. A technique, called Tarantula, is presented that
addresses these difficulties. Empirical evaluation of the Tarantula technique shows
that it is efficient and effective for many faults. The evaluation also demonstrates
that the Tarantula technique can loose effectiveness as the number of faults increases.
To address the loss of effectiveness for programs with multiple faults, supporting
techniques have been developed and are presented. The empirical evaluation of these
supporting techniques demonstrates that they can enable effective fault localization in
the presence of multiple faults. A new mode of debugging, called parallel debugging, is
developed and empirical evidence demonstrates that it can provide a savings in terms
of both total expense and time to delivery. A prototype visualization is provided to
display the fault-localization results as well as to provide a method to interact and
explore those results. Finally, a study on the effects of the composition of test suites
on fault-localization is presented.Ph.D.Committee Chair: Harrold, Mary Jean; Committee Member: Orso, Alessandro; Committee Member: Pande, Santosh; Committee Member: Reiss, Steven; Committee Member: Rugaber, Spence
- …