Regression testing is a type of software testing that aims at identifying faults caused by code changes. Regression testing is important especially during software evolution and maintenance. As developers integrate programs or make updates to a software system, they need to make sure the changes do not adversely affect other parts of the system. Using dynamic analysis, behavioral regression testing (BERT) is one of the techniques proposed to solve the problem by re-executing test cases that target the affected area. It compares the behavior of a program before and after the changes upon certain test cases. This paper proposes Visual BEhavioral Regression Testing (ViBERT), a visualization approach to comparing the behavioral differences between the new and old versions of a program in regression testing. We build a prototype called SoftLink, a visual environment that shows correlation/difference between two versions of a program behavior. SoftLink displays call graphs of two executions on angled parallel planes in a 3D space, and constructs correlations between them. It provides developers with an intuitive interpretation of the testing results. A case study is presented.
Restricted and repetitive behaviors (RRBs) are a core symptom and an early marker of autism. Current research and intervention for RRB heavily rely on professional experience and effort. Guided Play is a technology that uses instrumented games and toys as a platform to understand children's play behavior and facilitate behavioral intervention during play. This paper presents the design and implementation of a prototype based on the technology, as well as an evaluation on 6 children with autism. The results show that children with RRBs in physical world activities also exhibit similar patterns in a similar digital activity, and that digital coaching can reduce RRBs by expanding children's play skill repertoire and promoting symbolic play.
In recent years, there has been a great interest in integrating crowdsourced API documents that are often dispersed across multiple places. Because of the complexity of natural language, however, automatically synthesized documents often fall short on quality and completeness compared to those authored by human experts. We develop a complementary “human-assensors” approach to document integration that generates API FAQs based on users’ help-seeking behavior and history. We investigated the benefits and limitations of this approach in the context of programming education. This paper describes a prototype system called COFAQ and a controlled experiment with 18 novice programmers. The study confirms that the generated FAQs effectively fosters knowledge transfer between the programmers and significantly reduce the need for repeated search. It also discovers several difficulties novice programmers encountered when seeking API help as well as the strategies they used to seek and utilize API knowledge.
Restricted and repetitive behaviors (RRB) are a core symptom and an early marker of Autism Spectrum Disorder (ASD). Despite technologies for detecting certain forms of RRB, assessment and intervention for RRB still heavily rely on professional experience and effort.This paper presents an ongoing investigation of a technology that uses instrumented games or toys as platforms to assess RRB and facilitate behavior intervention during play. The design and implementation of a prototype for the iPad are discussed. The same technology can be applied to tangible objects such as smart toys for a natural player-computer interface.
To foster innovation and competition, an increasing number of software teams are becoming distributed. Such distribution makes continuous collaboration and continuous awareness support a necessity and also a great challenge. Traditional desktop-based approaches are insufficient for the requirements of continuous awareness. In practical process of software development, an awareness tool on mobile devices is also desirable for team members to obtain the awareness information continuously. This paper addresses how to effectively present collaborative development activities using aesthetic visualization on mobile screens. Our approach supports multiple views suitable for software developers as well as team leaders. A small scale usability experiment has been conducted and reported.
This paper presents the design and implementation of a new controller platform, called the software-programmed networking (SPN) operating system (OS). SPN OS separates distributed control of virtual network services from the centralized management of network-wide resources. The key abstraction provided in SPN OS is a virtual network object (VNO), which encapsulates multiple layers of network stack as well as their associated resource constraints and service behaviors. VNOs are created by a VNO Arbiter, which handles provisioning of global network resources, but are managed independently by tenants through an intuitive object-oriented interface. This separation provides flexibility and scalable performance. We describe the design of SPN OS and VNOs, present a prototype implementation on top of the high-level language NetKAT, and discuss use cases.
Awareness, the understanding of others' activities, has been widely accepted as a remedy to many collaboration difficulties in distributed organizations. Continuous Awareness (CA), a continuous support for integrated awareness information across space and time, aims to address the need of continuous awareness information in globally distributed software teams. This paper presents an comprehensive evaluation of a CA system, Team Radar, across multiple platforms. The result shows that Team Radar enables developers to receive continuous awareness information effectively and efficiently without the limitations of space and time. Our work provides insights into further exploration of awareness for distributed software development and the design and evaluation of similar tools.
Documentation is important for learning Application Programming Interfaces (APIs). In addition to official documents, much crowdsourced API knowledge is available on the Web. Crowdsourced API documentation is fragmented, scattered around the Web, and disconnected from official documentation. Developers often rely on Web search to retrieve additional programming help. We propose to connect these two types of documentation by capturing developers' Web browsing behavior in the context of document reading and integrating crowdsourced frequently asked questions (FAQs) into API documents. Such an integration not only provides relevant API help more conveniently, but also opens a new approach to promoting knowledge collaboration and studying API users' information needs.
In distributed software teams, awareness information is often lost due to communication restrictions. Researchers have attempted to retain team awareness by sharing change information across workspaces. The major challenge is how to convey information effectively while avoiding information overload. In this paper, we propose a radar metaphor for distributing and visualizing workspace awareness information. A prototype implementation, Team Radar, is presented and its design is also discussed.
Facing the challenges of global distribution in software development, Continuous Coordination constitutes a new coordination paradigm that helps break the communication barriers in distributed teams by providing awareness information and integrating heterogeneous tools. Continuous Awareness is an extension of Continuous Coordination emphasizing continuous awareness support across space and time. Traditional desktop-based approaches are insufficient for the requirements of continuous awareness. Team Radar Mobile takes a visual mobile approach to awareness by extending the visualization of awareness information on desktop platforms to mobile platforms. The concept of continuous awareness and its implementation on multiple platforms are discussed. An experiment has evaluated the visual mobile approach to continuous awareness, and found visualization express awareness information more efficiently than the non-visual approach. Our work also provides experience on mobile visualization.
With the proliferation of globally distributed projects, there has been an urgent need for continuous coordination and continuous awareness support. Traditional desktop-based approaches are insufficient for the requirements of continuous awareness. Team Radar Mobile takes a visual mobile approach to continuous awareness by visualizing awareness information on mobile platforms. The concept of continuous awareness and its implementation on multiple platforms are discussed. An experiment has evaluated the visual mobile approach to continuous awareness, and validated the design principles of mobile visualization.
Awareness of other coworkers’ activities is critical for collaborative software development. However, high-level information has not been studied extensively. This paper introduces the concept of high-level awareness. To explore sources of such information, a case study on tag use in an open source project is conducted. Evidence of tags supporting high-level awareness is found, and tag use patterns and semantics are discussed.
In distributed software teams, awareness information is often lost due to communication restrictions. Researchers have attempted to retain team awareness by sharing change information across workspaces. The major challenge is how to convey information to readers effectively while avoiding information overload. In this paper, we address the benefit of delivering fine-grained awareness information, and present a new technique and prototype implementation for its capture and visualization. We also discuss how visual techniques and metaphors could promote user collaboration.
Software development is usually a collaborative activity, and workspace awareness is one of the key issues involved in such collaboration, which refers to the notion of what other coworkers are doing. Researchers have recognized the important role of software repository in coordinating collaboration, and have built various tools supporting workspace awareness. This survey attempts to synthesize and compare different techniques that extend configuration management system to improve workspace awareness. We categorize these techniques, and provide insights into some design decisions and suggestions for future work.