The Experts below are selected from a list of 4863 Experts worldwide ranked by ideXlab platform

Karsten Sohr - One of the best experts on this subject based on the ideXlab platform.

  • verifying access control properties with Design by Contract framework and lessons learned
    Computer Software and Applications Conference, 2013
    Co-Authors: Carlos E Rubiomedrano, Gailjoon Ahn, Karsten Sohr
    Abstract:

    Ensuring the correctness of high-level security properties including access control policies in mission-critical applications is indispensable. Recent literature has shown how immaturity of such properties has caused serious security vulnerabilities, which are likely to be exploited by malicious parties for compromising a given application. This situation gets aggravated by the fact that modern applications are mostly built on previously developed reusable software modules and any failures in security properties in these reusable modules may lead to vulnerabilities across associated applications. In this paper, we propose a framework to address this issue by adopting Design by Contract (DBC) features. Our framework accommodates security properties in each application focusing on access control requirements. We demonstrate how access control requirements based on ANSI RBAC standard model can be specified and verified at the source code level.

  • COMPSAC - Verifying Access Control Properties with Design by Contract: Framework and Lessons Learned
    2013 IEEE 37th Annual Computer Software and Applications Conference, 2013
    Co-Authors: Carlos E. Rubio-medrano, Gailjoon Ahn, Karsten Sohr
    Abstract:

    Ensuring the correctness of high-level security properties including access control policies in mission-critical applications is indispensable. Recent literature has shown how immaturity of such properties has caused serious security vulnerabilities, which are likely to be exploited by malicious parties for compromising a given application. This situation gets aggravated by the fact that modern applications are mostly built on previously developed reusable software modules and any failures in security properties in these reusable modules may lead to vulnerabilities across associated applications. In this paper, we propose a framework to address this issue by adopting Design by Contract (DBC) features. Our framework accommodates security properties in each application focusing on access control requirements. We demonstrate how access control requirements based on ANSI RBAC standard model can be specified and verified at the source code level.

Murat Karaorman - One of the best experts on this subject based on the ideXlab platform.

  • jContractor: Introducing Design-by-Contract to Java Using Reflective bytecode Instrumentation
    Formal Methods in System Design, 2005
    Co-Authors: Murat Karaorman, Parker Abercrombie
    Abstract:

    Design by Contract is a software engineering practice that allows semantic information to be added to a class or interface to precisely specify the conditions that are required for its correct operation. The basic constructs of Design by Contract are method preconditions and postconditions, and class invariants. This paper presents a detailed Design and implementation overview of jContractor, a freely available tool that allows programmers to write “Contracts'' as standard Java methods following an intuitive naming convention. Preconditions, postconditions, and invariants can be associated with, or inherited by, any class or interface. jContractor performs on-the-fly bytecode instrumentation to detect violation of the Contract specification during a program's execution. jContractor's bytecode engineering technique allows it to specify and check Contracts even when source code is not available. jContractor is a pure Java library providing a rich set of syntactic constructs for expressing Contracts without extending the Java language or runtime environment. These constructs include support for predicate logic expressions, and referencing entry values of attributes and return values of methods. Fine grain control over the level of monitoring is possible at runtime. Since Contract methods are allowed to use unconstrained Java expressions, in addition to runtime verification they can perform additional runtime monitoring, logging, and analysis.

  • jContractor: bytecode Instrumentation Techniques for Implementing Design by Contract in Java
    Electronic Notes in Theoretical Computer Science, 2002
    Co-Authors: Parker Abercrombie, Murat Karaorman
    Abstract:

    Abstract Design by Contract is a software engineering practice that allows semantic information to be added to a class or interface to precisely specify the conditions that are required for its correct operation. The basic constructs of Design by Contract are method preconditions and postconditions, and class invariants. This paper presents a detailed Design and implementation overview of jContractor, a freely available tool that allows programmers to write “Contracts” as standard Java methods following an intuitive naming convention. Preconditions, postconditions, and invariants can be associated with, or inherited by, any class or interface. jContractor performs on-the-fly bytecode instrumentation to detect violation of the Contract specification during a program's execution. jContractor's bytecode engineering technique allows it to specify and check Contracts even when source code is not available. jContractor is a pure Java library providing a rich set of syntactic constructs for expressing Contracts without extending the Java language or runtime environment. These constructs include support for predicate logic expressions, and referencing entry values of attributes and return values of methods. Fine grain control over the level of monitoring is possible at runtime. Since Contract methods are allowed to use unconstrained Java expressions, in addition to runtime verification they can perform additional runtime monitoring, logging, and testing.

  • jContractor a reflective java library to support Design by Contract
    Lecture Notes in Computer Science, 1999
    Co-Authors: Murat Karaorman, Urs Holzle, John Bruno
    Abstract:

    jContractor is a purely library based approach to support Design by Contract specifications such as preconditions, postconditions, class invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design by Contract constructs. The Designer of a class specifies a Contract by providing Contract methods following jContractor naming conventions. jContractor uses Java Reflection to synthesize an instrumented version of a Java class by incorporating code that enforces the present jContractor Contract specifications. Programmers enable the run-time enforcement of Contracts by either engaging the jContractor class loader or by explicitly instantiating objects using the jContractor object factory. Programmers can use exactly the same syntax for invoking methods and passing object references regardless of whether Contracts are present or not. Since jContractor is purely library-based, it requires no special tools such as modified compilers, modified JVMs, or pre-processors.

  • Reflection - jContractor: A Reflective Java Library to Support Design by Contract
    Meta-Level Architectures and Reflection, 1999
    Co-Authors: Murat Karaorman, Urs Holzle, John Bruno
    Abstract:

    jContractor is a purely library based approach to support Design by Contract specifications such as preconditions, postconditions, class invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design by Contract constructs. The Designer of a class specifies a Contract by providing Contract methods following jContractor naming conventions. jContractor uses Java Reflection to synthesize an instrumented version of a Java class by incorporating code that enforces the present jContractor Contract specifications. Programmers enable the run-time enforcement of Contracts by either engaging the jContractor class loader or by explicitly instantiating objects using the jContractor object factory. Programmers can use exactly the same syntax for invoking methods and passing object references regardless of whether Contracts are present or not. Since jContractor is purely library-based, it requires no special tools such as modified compilers, modified JVMs, or pre-processors.

Bertrand Meyer - One of the best experts on this subject based on the ideXlab platform.

  • TOOLS (34) - Design by Contract and the Component Revolution
    2000
    Co-Authors: Bertrand Meyer
    Abstract:

    Design by Contract tackles head-on the issue of software reliability, by taking a holistic approach to the construction of systems so that they will work correctly the first time around. Based on a simple yet powerful metaphor — software systems as collections of components that interact through Contracts, similar to those between people or companies — it has a profound effect on almost every aspect of software development, from analysis and Design to implementation, documentation, debugging, quality assurance, maintenance, and project management.

  • Design by Contract and the component revolution
    Technology of Object-Oriented Languages and Systems, 2000
    Co-Authors: Bertrand Meyer
    Abstract:

    Design by Contract tackles head-on the issue of software reliability, by taking a holistic approach to the construction of systems so that they will work correctly the first time around. Based on a simple yet powerful metaphor — software systems as collections of components that interact through Contracts, similar to those between people or companies — it has a profound effect on almost every aspect of software development, from analysis and Design to implementation, documentation, debugging, quality assurance, maintenance, and project management.

  • TOOLS (26) - Design by Contract. The Eiffel Method
    Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176), 1998
    Co-Authors: Bertrand Meyer
    Abstract:

    It is indeed possible to use object-oriented technology to produce, almost routinely, software systems that reach a degree of reliability without any equivalent in conventional methods, languages and tools. This requires a strict application of pure object-oriented concepts, in particular seamlessness (the use of a consistent method and notation throughout the software lifecycle), information hiding, automatic garbage collection, static typing, and the combination of static typing and dynamic binding. Another key component of this approach is the notion of Design by Contract, which leads to the production of system whose correctness is built-in rather than ensured ex post facto.

  • Design by Contract the eiffel method
    Technology of Object-Oriented Languages and Systems, 1998
    Co-Authors: Bertrand Meyer
    Abstract:

    It is indeed possible to use object-oriented technology to produce, almost routinely, software systems that reach a degree of reliability without any equivalent in conventional methods, languages and tools. This requires a strict application of pure object-oriented concepts, in particular seamlessness (the use of a consistent method and notation throughout the software lifecycle), information hiding, automatic garbage collection, static typing, and the combination of static typing and dynamic binding. Another key component of this approach is the notion of Design by Contract, which leads to the production of system whose correctness is built-in rather than ensured ex post facto.

  • TOOLS (25) - Design by Contract: Making Object-Oriented Programs that Work
    Proceedings. Technology of Object-Oriented Languages and Systems TOOLS 25 (Cat. No.97TB100239), 1997
    Co-Authors: Bertrand Meyer
    Abstract:

    To deliver on its promises, object-oriented technology must be able to produce systems that are reliable (correct and robust). Only under these conditions will the other quality factors advertised for the method, in particular the increase in reusability and extendibility, yield the expected benefits for software practitioners. It is indeed possible to use object-oriented technology to produce, almost routinely, software systems that reach a degree of reliability without any equivalent in conventional methods, languages and tools. This requires a strict application of pure object-oriented concepts, in particular, seamlessness (the use of a consistent method and notation throughout the software life-cycle), information hiding, automatic garbage collection, static typing, and the combination of static typing and dynamic binding. Another key component of this approach is the notion of Design by Contract, which leads to the production of systems whose correctness is built-in rather than ensured ex post facto.

Gailjoon Ahn - One of the best experts on this subject based on the ideXlab platform.

  • verifying access control properties with Design by Contract framework and lessons learned
    Computer Software and Applications Conference, 2013
    Co-Authors: Carlos E Rubiomedrano, Gailjoon Ahn, Karsten Sohr
    Abstract:

    Ensuring the correctness of high-level security properties including access control policies in mission-critical applications is indispensable. Recent literature has shown how immaturity of such properties has caused serious security vulnerabilities, which are likely to be exploited by malicious parties for compromising a given application. This situation gets aggravated by the fact that modern applications are mostly built on previously developed reusable software modules and any failures in security properties in these reusable modules may lead to vulnerabilities across associated applications. In this paper, we propose a framework to address this issue by adopting Design by Contract (DBC) features. Our framework accommodates security properties in each application focusing on access control requirements. We demonstrate how access control requirements based on ANSI RBAC standard model can be specified and verified at the source code level.

  • COMPSAC - Verifying Access Control Properties with Design by Contract: Framework and Lessons Learned
    2013 IEEE 37th Annual Computer Software and Applications Conference, 2013
    Co-Authors: Carlos E. Rubio-medrano, Gailjoon Ahn, Karsten Sohr
    Abstract:

    Ensuring the correctness of high-level security properties including access control policies in mission-critical applications is indispensable. Recent literature has shown how immaturity of such properties has caused serious security vulnerabilities, which are likely to be exploited by malicious parties for compromising a given application. This situation gets aggravated by the fact that modern applications are mostly built on previously developed reusable software modules and any failures in security properties in these reusable modules may lead to vulnerabilities across associated applications. In this paper, we propose a framework to address this issue by adopting Design by Contract (DBC) features. Our framework accommodates security properties in each application focusing on access control requirements. We demonstrate how access control requirements based on ANSI RBAC standard model can be specified and verified at the source code level.

John Bruno - One of the best experts on this subject based on the ideXlab platform.

  • jContractor a reflective java library to support Design by Contract
    Lecture Notes in Computer Science, 1999
    Co-Authors: Murat Karaorman, Urs Holzle, John Bruno
    Abstract:

    jContractor is a purely library based approach to support Design by Contract specifications such as preconditions, postconditions, class invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design by Contract constructs. The Designer of a class specifies a Contract by providing Contract methods following jContractor naming conventions. jContractor uses Java Reflection to synthesize an instrumented version of a Java class by incorporating code that enforces the present jContractor Contract specifications. Programmers enable the run-time enforcement of Contracts by either engaging the jContractor class loader or by explicitly instantiating objects using the jContractor object factory. Programmers can use exactly the same syntax for invoking methods and passing object references regardless of whether Contracts are present or not. Since jContractor is purely library-based, it requires no special tools such as modified compilers, modified JVMs, or pre-processors.

  • Reflection - jContractor: A Reflective Java Library to Support Design by Contract
    Meta-Level Architectures and Reflection, 1999
    Co-Authors: Murat Karaorman, Urs Holzle, John Bruno
    Abstract:

    jContractor is a purely library based approach to support Design by Contract specifications such as preconditions, postconditions, class invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design by Contract constructs. The Designer of a class specifies a Contract by providing Contract methods following jContractor naming conventions. jContractor uses Java Reflection to synthesize an instrumented version of a Java class by incorporating code that enforces the present jContractor Contract specifications. Programmers enable the run-time enforcement of Contracts by either engaging the jContractor class loader or by explicitly instantiating objects using the jContractor object factory. Programmers can use exactly the same syntax for invoking methods and passing object references regardless of whether Contracts are present or not. Since jContractor is purely library-based, it requires no special tools such as modified compilers, modified JVMs, or pre-processors.