tailieunhanh - Understanding Object-Oriented Programs with Declarative Event Analysis

Link Cross-Testbed experimentation. Multiple closed distributed systems that run in parallel can offer unique resources such as access to specific scientific equipment. One can imagine a physics researcher will- ing to provide access to their Beowulf cluster [16] but wishing to consume resources produced by data collec- tors at a CERN [17] on a completely separate network. Linked market-based mechanisms could be used to quantify the value of the cluster time sold in one network and the value of a CERN resource purchased in another network in a manner similar to how real economies are linked through a a currency exchange. Ongoing research into exchange mechanisms for computational systems could make this vision. | Understanding Object-Oriented Programs with Declarative Event Analysis Tamar Richner Stephane Ducasse Software Composition Group Universitat Bern Roel Wuyts Programming Technology Lab Vrije Universiteit Brussel Abstract Understanding how components in an application interact to ensure a certain functionality is an essential aspect of understanding a software application. To obtain this kind of information an analysis of the dynamic behavior of an application is more appropriate than a static analysis of the code. Understanding dynamic behavior through event analysis is a challenge because of the large amount of data gathered through program executions. In this paper we show how we define declarative queries that allow us to filter the event data collected and to define new abstractions which aid in program understanding. 1 Program Understanding through Queries and Views Program understanding is an important aspect of software engineering. It is essential in the maintainance and reengineering of a system and especially critical for extending and using frameworks. While documentation should address the program understanding problem it is often not up-to-date or missing altogether and in general does not cover all aspects of an application and as such may not at all address the particular aspect an engineer is interested in. The best remedy for this lack of appropriate documentation is to allow an engineer to extract documentation from the application for the particular aspect of interest. We believe that a good tool for program understanding should allow an engineer to formulate hypotheses about the structure of the software and to confirm or reject hypotheses based on evidence from the source code. One such tool is described by Murphy in MN97 . It allows an engineer to define a high-level model of the software system and a mapping of the source-code onto this model. A reflexion model is then computed which slows how close the high-level model comes to describing the

TỪ KHÓA LIÊN QUAN