Refactoring SPIN for Safety

نویسندگان

  • Robert Palmer
  • Ganesh Gopalakrishnan
چکیده

We show how to refactor SPIN for safety model checking resulting in a compact model checker occupying less than 200 lines of code without appreciable loss of performance while reusing much of SPIN’s front-end facilities. In addition to being far easier to understand and being eminently suitable as a basis for extensions by the researcher and developer community, the resulting model checker is also eminently suitable for distributed model checking—a project that is underway. We also show that employing graphical means of visualizing the asynchronous product graph can be very valuable in debugging a model checker—a facility we implemented and extensively employed in both understanding the original SPIN and discovering three subtle flaws in it.

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

ثبت نام

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

منابع مشابه

TAPE Test Code Adaptation Plug-in for Eclipse

Refactoring improves the design of software and makes it easier to maintain by eliminating code smells. As manual refactoring is often error-prone and time-consuming, automated refactoring is considered a better choice. Refactoring tools are available in almost all major object oriented programming languages like java, C++, C# etc and provide varying degree of automation. The problem with these...

متن کامل

Efficiently Refactoring Java Applications to Use Generic Libraries

Java 1.5 generics enable the creation of reusable container classes with compiler-enforced type-safe usage. This eliminates the need for potentially unsafe down-casts when retrieving elements from containers. We present a refactoring that replaces raw references to generic library classes with parameterized references. The refactoring infers actual type parameters for allocation sites and decla...

متن کامل

A Metric Based Evaluation of Unit Tests as Specialized Clients in Refactoring

In the context of refactoring, a unit test significantly differs from an ordinary client. A unit test is the only safety net available to verify the impact of refactoring. In addition, tight coupling and stronger association with the refactored class are its key discriminating characteristics. Hence, any change in the code readily affects the behavior and quality of the test code. But if test c...

متن کامل

Empirical evaluation of syntactic and semantic defects introduced by refactoring support

Software maintenance is a major source of expense in software projects. A proper evolution process is a critical ingredient in the cost-efficient development of high-quality software. A special case of software evolution is refactoring that cannot change the external behaviour of the software system yet should improve the internal structure of the code. Hence, there is always a need to verify a...

متن کامل

Code Search API, Base of Parallel Code Refactoring System For Safety Standards Compliance

New technologies of multi-core and massively parallel processors are becoming common parts of today’s desktop computers. These state-of-the-art technologies allow programming of parallel applications and systems, however, creating parallel applications puts higher demands on programmers’ skills, project maintenance and modification of existing source codes. Program flaws entered on source codes...

متن کامل

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


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

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

ثبت نام

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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2005