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

Rupak Majumdar - One of the best experts on this subject based on the ideXlab platform.

  • the software model checker blast applications to software engineering
    International Journal on Software Tools for Technology Transfer, 2007
    Co-Authors: Dirk Beyer, Ranjit Jhala, Thomas A Henzinger, Rupak Majumdar
    Abstract:

    Blast is an automatic verification tool for checking temporal safety properties of C programs. Given a C program and a temporal safety property, Blast either statically proves that the program satisfies the safety property, or provides an Execution Path that exhibits a violation of the property (or, since the problem is undecidable, does not terminate). Blast constructs, explores, and refines abstractions of the program state space based on lazy predicate abstraction and interpolation-based predicate discovery. This paper gives an introduction to Blast and demonstrates, through two case studies, how it can be applied to program verification and test-case generation. In the first case study, we use Blast to statically prove memory safety for C programs. We use CCured, a type-based memory-safety analyzer, to annotate a program with run-time assertions that check for safe memory operations. Then, we use Blast to remove as many of the run-time checks as possible (by proving that these checks never fail), and to generate Execution scenarios that violate the assertions for the remaining run-time checks. In our second case study, we use Blast to automatically generate test suites that guarantee full coverage with respect to a given predicate. Given a C program and a target predicate p, Blast determines the program locations q for which there exists a program Execution that reaches q with p true, and automatically generates a set of test vectors that cause such Executions. Our experiments show that Blast can provide automated, precise, and scalable analysis for C programs.

  • the software model checker b last applications to software engineering
    International Journal on Software Tools for Technology Transfer (STTT) archive, 2007
    Co-Authors: Dirk Beyer, Ranjit Jhala, Thomas A Henzinger, Rupak Majumdar
    Abstract:

    Blast is an automatic verification tool for checking temporal safety properties of C programs. Given a C program and a temporal safety property, Blast either statically proves that the program satisfies the safety property, or provides an Execution Path that exhibits a violation of the property (or, since the problem is undecidable, does not terminate). Blast constructs, explores, and refines abstractions of the program state space based on lazy predicate abstraction and interpolation-based predicate discovery. This paper gives an introduction to Blast and demonstrates, through two case studies, how it can be applied to program verification and test-case generation. In the first case study, we use Blast to statically prove memory safety for C programs. We use CCured, a type-based memory-safety analyzer, to annotate a program with run-time assertions that check for safe memory operations. Then, we use Blast to remove as many of the run-time checks as possible (by proving that these checks never fail), and to generate Execution scenarios that violate the assertions for the remaining run-time checks. In our second case study, we use Blast to automatically generate test suites that guarantee full coverage with respect to a given predicate. Given a C program and a target predicate p, Blast determines the program locations q for which there exists a program Execution that reaches q with p true, and automatically generates a set of test vectors that cause such Executions. Our experiments show that Blast can provide automated, precise, and scalable analysis for C programs.

Matteo Signorini - One of the best experts on this subject based on the ideXlab platform.

  • CloRExPa: Cloud resilience via Execution Path analysis
    Future Generation Computer Systems, 2014
    Co-Authors: Roberto Di Pietro, Flavio Lombardi, Matteo Signorini
    Abstract:

    Despite the increasing interest around cloud concepts, current cloud technologies and services related to security are not mature enough to enable a more widespread industrial acceptance of cloud systems. Providing an adequate level of resilience to cloud services is a challenging problem due to the complexity of the environment as well as the need for efficient solutions that could preserve cloud benefits over other solutions. In this paper we provide the architectural design, implementation details, and performance results for a customizable resilience service solution for cloud guests. This solution leverages Execution Path analysis. In particular, we propose an architecture that can trace, analyze and control live virtual machine activity as well as intervened code and data modifications-possibly due to either malicious attacks or software faults. Execution Path analysis allows the virtual machine manager (VMM) to trace the VM state and to prevent such a guest from reaching faulty states. We evaluated the effectiveness and performance trade-off of our prototype on a real cloud test bed. Experimental results support the viability of the proposed solution.

Barbara Pernici - One of the best experts on this subject based on the ideXlab platform.

  • global and local qos guarantee in web service selection
    Lecture Notes in Computer Science, 2006
    Co-Authors: Danilo Ardagna, Barbara Pernici
    Abstract:

    In Service Oriented systems, complex applications can be composed from a variety of functionally equivalent Web services which may differ for quality parameters. Under this scenario, applications are defined as high level business processes and service composition can be implemented dynamically by identifying the best set of services available at run time. In this paper, we model the service composition problem as a mixed integer linear problem where local constraints, i.e., constraints for component Web services, and global constraints, i.e., constraints for the whole application, can be specified. Our approach proposes the formulation of the optimization problem as a global optimization, not optimizing separately each possible Execution Path as in other approaches. Experimental results demonstrate the effectiveness of our approach.

Dirk Beyer - One of the best experts on this subject based on the ideXlab platform.

  • the software model checker blast applications to software engineering
    International Journal on Software Tools for Technology Transfer, 2007
    Co-Authors: Dirk Beyer, Ranjit Jhala, Thomas A Henzinger, Rupak Majumdar
    Abstract:

    Blast is an automatic verification tool for checking temporal safety properties of C programs. Given a C program and a temporal safety property, Blast either statically proves that the program satisfies the safety property, or provides an Execution Path that exhibits a violation of the property (or, since the problem is undecidable, does not terminate). Blast constructs, explores, and refines abstractions of the program state space based on lazy predicate abstraction and interpolation-based predicate discovery. This paper gives an introduction to Blast and demonstrates, through two case studies, how it can be applied to program verification and test-case generation. In the first case study, we use Blast to statically prove memory safety for C programs. We use CCured, a type-based memory-safety analyzer, to annotate a program with run-time assertions that check for safe memory operations. Then, we use Blast to remove as many of the run-time checks as possible (by proving that these checks never fail), and to generate Execution scenarios that violate the assertions for the remaining run-time checks. In our second case study, we use Blast to automatically generate test suites that guarantee full coverage with respect to a given predicate. Given a C program and a target predicate p, Blast determines the program locations q for which there exists a program Execution that reaches q with p true, and automatically generates a set of test vectors that cause such Executions. Our experiments show that Blast can provide automated, precise, and scalable analysis for C programs.

  • the software model checker b last applications to software engineering
    International Journal on Software Tools for Technology Transfer (STTT) archive, 2007
    Co-Authors: Dirk Beyer, Ranjit Jhala, Thomas A Henzinger, Rupak Majumdar
    Abstract:

    Blast is an automatic verification tool for checking temporal safety properties of C programs. Given a C program and a temporal safety property, Blast either statically proves that the program satisfies the safety property, or provides an Execution Path that exhibits a violation of the property (or, since the problem is undecidable, does not terminate). Blast constructs, explores, and refines abstractions of the program state space based on lazy predicate abstraction and interpolation-based predicate discovery. This paper gives an introduction to Blast and demonstrates, through two case studies, how it can be applied to program verification and test-case generation. In the first case study, we use Blast to statically prove memory safety for C programs. We use CCured, a type-based memory-safety analyzer, to annotate a program with run-time assertions that check for safe memory operations. Then, we use Blast to remove as many of the run-time checks as possible (by proving that these checks never fail), and to generate Execution scenarios that violate the assertions for the remaining run-time checks. In our second case study, we use Blast to automatically generate test suites that guarantee full coverage with respect to a given predicate. Given a C program and a target predicate p, Blast determines the program locations q for which there exists a program Execution that reaches q with p true, and automatically generates a set of test vectors that cause such Executions. Our experiments show that Blast can provide automated, precise, and scalable analysis for C programs.

Roberto Di Pietro - One of the best experts on this subject based on the ideXlab platform.

  • CloRExPa: Cloud resilience via Execution Path analysis
    Future Generation Computer Systems, 2014
    Co-Authors: Roberto Di Pietro, Flavio Lombardi, Matteo Signorini
    Abstract:

    Despite the increasing interest around cloud concepts, current cloud technologies and services related to security are not mature enough to enable a more widespread industrial acceptance of cloud systems. Providing an adequate level of resilience to cloud services is a challenging problem due to the complexity of the environment as well as the need for efficient solutions that could preserve cloud benefits over other solutions. In this paper we provide the architectural design, implementation details, and performance results for a customizable resilience service solution for cloud guests. This solution leverages Execution Path analysis. In particular, we propose an architecture that can trace, analyze and control live virtual machine activity as well as intervened code and data modifications-possibly due to either malicious attacks or software faults. Execution Path analysis allows the virtual machine manager (VMM) to trace the VM state and to prevent such a guest from reaching faulty states. We evaluated the effectiveness and performance trade-off of our prototype on a real cloud test bed. Experimental results support the viability of the proposed solution.