Run-Time Assertion Checking of Data- and Protocol-Oriented Properties of Java Programs: An Industrial Case Study
نویسندگان
چکیده
Run-time assertion checking is one of the useful techniques for detecting faults, and can be applied during any program execution context, including debugging, testing, and production. In general, however, it is limited to checking state-based properties. We introduce SAGA, a general framework that provides a smooth integration of the specification and the run-time checking of both dataand protocoloriented properties of Java classes and interfaces. We evaluate SAGA, which combines several state of the art tools, by conducting an industrial case study from an eCommerce software company Fredhopper.
منابع مشابه
Combining Monitoring with Run-Time Assertion Checking
According to a study in 2002 commisioned by a US Department, software bugs annually costs the US economy an estimated $59 billion. A more recent study in 2013 by Cambridge University estimated that the global cost has risen to $312 billion globally. There exists various ways to prevent, isolate and fix software bugs, ranging from lightweight methods that are (semi)-automatic, to heavyweight met...
متن کاملJASSDA TRACE ASSERTIONS∗ Runtime Checking the Dynamic of Java Programs
Research into runtime checking of programs mainly concentrates on the Design by Contract concept, as proposed by Meyer for the programming language Eiffel. The goal is here to check whether a program fulfills certain conditions in certain states, i.e method entry and exit points. Jass (Java with assertions)[1] tries to extend this to behavioural properties by adding trace assertion for dynamica...
متن کاملChecking Strong Specifications Using an Extensible Software Model Checking Framework
The use of assertions to express correctness properties of programs is growing in practice. Assertions provide a form of checkable redundancy that can be very effective in finding defects in programs and in guiding developers to the cause of a defect. A wide variety of assertion languages and associated validation techniques have been developed, but run-time monitoring is commonly thought to be...
متن کاملSufficient Preconditions for Modular Assertion Checking
Assertion checking is the restriction of program verification to validity of program assertions. It encompasses safety checking, which is program verification of safety properties, like memory safety or absence of overflows. In this paper, we consider assertion checking of program parts instead of whole programs, which we call modular assertion checking. Classically, modular assertion checking ...
متن کاملOn the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Faults in Concurrent Object- Oriented Software
Design by Contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Trans. Aspect-Oriented Software Development
دوره 11 شماره
صفحات -
تاریخ انتشار 2014