Using Run-Time Data for Program Comprehension

نویسندگان

  • Thomas Gschwind
  • Johann Oberleitner
  • Martin Pinzger
چکیده

Traditional approaches for program comprehension use static program analysis or dynamic program analysis in the form of execution traces. Our approach, however, makes use of runtime-data such as parameter and object values. Compared to traditional program comprehension techniques, this approach enables fundamentally new ways of program analysis which we have not seen so far. Reflection analysis which allows engineers to understand programs making use of reflective (dynamic) method invocations is one such analysis. Another is object tracing which allows engineers to trace and track the use of a given instance of a class within the program to be understood. In this paper, we present these techniques along with a case study to which we have applied them.

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

ثبت نام

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

منابع مشابه

Applicability of Program Comprehension to Sparse Matrix Computations

Space{eecient data structures for sparse matrices typically yield programs in which not all data dependencies can be determined at compile time. Automatic pa-rallelization of such codes is usually done at run time, e.g. by applying the inspector{ executor technique, incurring tremendous overhead. | Program comprehension techniques have been shown to improve automatic parallelization of dense ma...

متن کامل

Measurement of Complexity and Comprehension of a Program Through a Cognitive Approach

The inherent complexity of the software systems creates problems in the software engineering industry. Numerous techniques have been designed to comprehend the fundamental characteristics of software systems. To understand the software, it is necessary to know about the complexity level of the source code. Cognitive informatics perform an important role for better understanding the complexity o...

متن کامل

Usefulness of the Run-time Structure during Coding Tasks

Diagrams can help with program understanding and code modification tasks. Today, many tools extract diagrams of packages, classes, associations and dependencies. However, during coding activities, developers often ask questions about objects and relations between objects, i.e., the run-time structure. Most tools that display the run-time structure show only partial views based on running the sy...

متن کامل

Predicting Runtime Data Dependences for Slice Inspection Prioritization

Data dependences are building blocks for techniques such as program slicing and, thus, are useful for program comprehension and debugging. Unfortunately, static analysis identifies many data dependences that are infeasible or unlikely to occur at runtime. Dynamic analysis, in contrast, does not identify all data dependences that can occur in a program. To address this inaccuracy, we present a n...

متن کامل

Debugging into Examples Leveraging Tests for Program Comprehension

Enhancing and maintaining a complex software system requires detailed understanding of the underlying source code. Gaining this understanding by reading source code is difficult. Since software systems are inherently dynamic, it is complex and time consuming to imagine, for example, the effects of a method’s source code at run-time. The inspection of software systems during execution, as encour...

متن کامل

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


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

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

ثبت نام

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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2003