Browsing by Author "Xu, Kai"
Now showing 1 - 5 of 5
- Results Per Page
- Sort Options
Item A Monitoring Profile for UML Sequence Diagrams(2006-07-24) Xu, Kai; Liang, DonglinUML sequence diagrams are widely used during requirements analysis and design for specifying the expected behaviors of a system. In this paper, we present a monitoring profile that extends sequence diagrams to facilitate the comparison between the actual behaviors and expected behaviors of a system. With the profile, the developers can precisely specify the runtime objects to be monitored, the expected sequences of message exchanges among these objects, and the monitoring actions to be performed when the message exchanges are observed. Supported by the tools that we develop, the monitoring actions can inspect program states, verify assertions, record coverage information, and visualize the computation during the progress of various scenarios. These tools allow software developers to effectively use their design knowledge to detect and localize bugs during testing and debugging.Item Debugging Object-Oriented Programs with Behavior Views(2005-04-06) Liang, Donglin; Xu, KaiA 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.Item Monitoring with Behavior View Diagrams for Scenario-Driven Debugging(2005-06-08) Liang, Donglin; Xu, KaiUML sequence diagrams have been 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, the software developers can precisely specify the runtime objects whose behaviors will be monitored during debugging. The software developers can also specify the important message exchanges that are expected to be observed among these objects in 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 can be useful for detecting and localizing bugs.Item Program Execution Monitoring with Scenario Implementation Models(2004-09-29) Liang, Donglin; Xu, KaiScenarios have become an important concept for understanding and specifying the required behaviors for a system and its components. To gain confidence for the correctness of the implementation, software developers must compare the scenarios identified during requirements analysis and software design with the behaviors observed during execution. This paper presents an execution monitoring framework that facilitates such a comparison. The framework allows the software developers to specify, in scenario implementation models, how the scenarios are expected to be implemented and used in the program. Enhanced with statements that check properties of the scenarios or visualize the progress of the scenarios, these models can be used to check at runtime whether the scenarios have been implemented and used correctly. Our initial case study indicates that the framework can be useful for uncovering bugs.Item Supporting Scenario-Driven Debugging with Behavior View Diagrams(2006-02-09) Liang, Donglin; Xu, KaiSoftware developers often must use their knowledge about the expected behaviors of software and its components to guide debugging. This paper presents a debugging technique that supports the effective use of higher level knowledge of software behaviors in bug investigation. Our technique provides behavior view diagrams (BVDs) as a new type of abstraction for users to specify their expectations of the software behavior based on scenarios. Our technique also provides an algorithm that automatically monitors the program execution based on BVDs. The algorithm can detect and track the important message exchanges that are required for implementing the scenarios. The algorithm can also inspect the program states at various points of time to check whether the scenarios progress as intended. Therefore, our technique can help software developers to uncover and locate bugs by utilizing their knowledge of the scenarios.