Towards Dynamic Reverse Engineering Visual Contracts from Java

نویسندگان

  • Abdullah M. Alshanqiti
  • Reiko Heckel
چکیده

Visual contracts provide a concise and intuitive representation of preand postconditions for operations in object-oriented or component-based systems, which can be used for documentation, testing, or simulation. However, defining visual contracts to correctly describe the behaviour of existing classes or components requires a deep understanding of their data model and behaviour. We propose an approach to automatically extract instantiated versions of visual contracts, or contract instances, by observing the changes an operation performs on the objects in a system. We describe and evaluate the approach and tool to extract contract instances using the case study of Java-based DOM implementation NanoXML.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extracting Visual Contracts from Java Programs

Visual contracts model the operations of components or services by preand post-conditions formalised as graph transformation rules. They provide a precise intuitive notation to support testing, understanding and analysis of software. However, due to their detailed specification of data states and transformations, modelling real applications is an error-prone process. In this paper we propose a ...

متن کامل

Recovering Activity Diagrams from Object Oriented Code: an MDA-based Approach

The success of system modernization depends on the existence of technical frameworks for information integration and tool interoperation like the Model Driven Architecture (MDA). Reverse engineering techniques play a crucial role in system modernization. This paper describes how to reverse engineering activity diagrams from object oriented code in the MDA context focusing on transformations at ...

متن کامل

A Software Change Contracts

Software errors often originate from incorrect changes, including incorrect program fixes, incorrect feature updates and so on. Capturing the intended program behavior explicitly via contracts is thus an attractive proposition. In our recent work, we had espoused the notion of “change contracts” to express the intended program behavior changes across program versions. Change contracts differ fr...

متن کامل

Chava: Reverse Engineering and Tracking of Java Applets

Java applets have been used increasingly on web sites to perform client-side processing and provide dynamic content. While many web site analysis tools are available, their focus has been on static HTML content and most ignore applet code completely. This paper presents Chava, a system that analyzes and tracks changes in Java applets. The tool extracts information from applet code about classes...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • ECEASST

دوره 67  شماره 

صفحات  -

تاریخ انتشار 2014