Formally defining a graphical language for monitoring and checking object interactions
Monitoring and checking object interactions is an important activity for testing/debugging scenario implementation in an object-oriented system. In our previous work, we proposed behavior view diagrams (BVD) as a graphical language for writing programs that automate such monitoring and checking process. In this paper, we illustrate the formal definition of the syntax and the semantics of an extended version of BVD that can also be used to describe multi-threaded scenarios. This formal definition provides a critical foundation both for understanding the language and for building its tool support.

title: Monitoring with behavior view diagrams for debugging
abstract: UML sequence diagrams are widely used during requirements analysis and design for specifying the expected message exchanges among a set of objects in various scenarios for the program to perform a certain task. In this paper, we present the behavior view diagrams, a type of extended sequence diagrams, to facilitate execution monitoring during debugging. Using a behavior view diagram, software developers can precisely specify the runtime objects whose behaviors will be monitored during debugging. Software developers can also specify the important message exchanges to be observed among these objects during the progress of various scenarios, and may further define the monitoring actions to be performed for inspecting the program state when a message exchange is observed. We also present a debugger that can automatically monitor the program execution using the information specified in a behavior view diagram. Through this monitoring, the debugger can not only check whether the scenarios are progressed as intended, but also check whether the actions performed by the program have the the desired effects on the program states. Therefore, it will be useful for detecting and localizing bugs.

title: Test-Driven Component Integration with UML 2.0 Testing and Monitoring Profile
abstract: Test-driven development (TDD) is a software development methodology for achieving high reliability. However, the practice of TDD at the integration level is rare. In this paper, we propose a test-driven component integration approach with the support of UML 2.0 Testing and Monitoring Profile (U2TMP) that is also proposed in this paper. In our approach, automated integration-level test cases are specified using U2TMP before writing the glue-code that integrates components. U2TMP enhances UML 2.0 diagrams for specifying how test scenarios should be set up and how the integrated components are expected to interact under these scenarios. Test cases written in U2TMP can be automatically transformed into test artifacts that setup the test environment, generate test stimuli, and monitor the component interactions at runtime. These test cases serve as a guideline for writing the glue-code and a regression test- bed. With this approach, the software developers may produce glue-code of high reliability.

title: Testing Scenario Implementation with Behavior Contracts
abstract: This paper presents behavior contracts as a new assertion mechanism and a tool that uses such contracts to support the testing of object-oriented (OO) systems. A behavior contract models how the scenarios for performing a designated task are expected to be implemented. Based on this contract, our tool can automatically monitor the program execution for checking important properties related to these scenarios. This capability can help testers to determine whether the scenarios have been implemented correctly. Our tool can also collect test coverage information w.r.t. the scenarios modeled by a behavior contract. Such information can be used to direct the testing efforts towards the less-covered scenarios, and to determine whether the implementation of these scenarios has been adequately tested. Therefore, using this tool should improve both the efficiency and effectiveness of testing OO systems

title: Debugging object-oriented programs with behavior views
abstract: A complex software system may perform many program tasks during execution to provide the required functionalities. To detect and localize bugs related to the implementation of these tasks, the software developers must be able to monitor the progress of the tasks during execution and check whether the actions for these tasks have been performed correctly. This paper presents a debugger to facilitate this monitoring. The debugger introduces a new kind of abstraction, the behavior views, that can be used to specify how the actions for a program task are expected to occur in various scenarios. Enhanced with statements that can check properties at various steps during the progress of the task, a behavior view can be used to monitor whether the actions for the tasks have been performed at the right time, on the right set of data, and with the right effects on the program states. Our initial case study indicates that the debugger can be useful for localizing bugs.

title: Gene Specific Co-regulation Discovery: An Improved Approach
abstract: Discovering gene co-regulatory relationships is a new but important research problem in DNA microarray data analysis. The problem of gene specific co-regulation discovery is to, for a particular gene of interest, called the target gene , identify its strongly co-regulated genes and the condition subsets where such strong gene co-regulations are observed. The study on this problem can contribute to a better understanding and characterization of the target gene. The existing method, using the genetic algorithm (GA), is slow due to its expensive fitness evaluation and long individual representation. In this paper, we propose an improved method for finding gene specific co-regulations. Compared with the current method, our method features a notably improved efficiency. We employ k NN Search Table to substantially speed up fitness evaluation in the GA. We also propose a more compact representation scheme for encoding individuals in the GA, which contributes to faster crossover and mutation operations. Experimental results with a real-life gene microarray data set demonstrate the improved efficiency of our technique compared with the current method.

title: GraphScape: integrated multivariate network visualization
abstract: In this paper, we introduce a new method, GraphScape, to visualize multivariate networks, i.e., graphs with multivariate data associated with their nodes. GraphScape adopts a landscape metaphor with network structure displayed on a 2D plane and the surface height in the third dimension represents node attribute. More than one attribute can be visualized simultaneously by using multiple surfaces. In addition, GraphScape can be easily combined with existing methods to further increase the total number of attributes visualized. One of the major goals of GraphScape is to reveal multivariate graph clustering, which is based on both network structure and node attributes. This is achieved by a new layout algorithm and an innovative way of constructing attribute surface, which also allows visual clustering at different scales through interaction. A simplified attribute surface model is also proposed to reduce computation requirement when visualizing large networks. GraphScape is applied to networks of three different size (20, 100, and 1500) to demonstrate its effectiveness.

title: Visualization and analysis of email networks
abstract: This paper presents various methods for visualization and analysis of email networks; visualization on the surface of a sphere to reveal communication patterns between different groups, a hierarchical drawing displaying the centrality analysis of nodes to emphasize important nodes, a 2.5D visualization for temporal email networks to analyze the evolution of email relationships changing over time, and an ambient display for finding social circles derived from the email network. Each method was evaluated with various data sets from a research organization. We also extended our method for visual analysis of an email virus network.

title: An adaptive octree textures painting algorithm
abstract: Traditional Texturing using a set of two dimensional image maps is an established and widespread practice. However, it is difficult to parameterize a model in texture space, particularly with representations such as implicit surfaces, subdivision surfaces, and very dense or detailed polygonal meshes. Based on an adaptive octree textures definition, this paper proposes a direct reverse-projecting pixel-level painting approach which has less storage requirements to general octree textures maps. In addition, it depends on texture lookup in the GPU, which particularly lookup faster than the non-GPU program.

title: GEOMI: GEOmetry for Maximum Insight
abstract: This paper describes the GEOMI system, a visual analysis tool for the visualisation and analysis of large and complex networks. GEOMI provides a collection of network analysis methods, graph layout algorithms and several graph navigation and interaction methods. GEOMI is part of a new generation of visual analysis tools combining graph visualisation techniques with network analysis methods. GEOMI is available from