C Program

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 559638 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.

Sriram K Rajamani - One of the best experts on this subject based on the ideXlab platform.

  • slam and statiC driver verifier teChnology transfer of formal methods inside miCrosoft
    Integrated Formal Methods, 2004
    Co-Authors: Thomas All, Yro Cook, Vladimi Levi, Sriram K Rajamani
    Abstract:

    The SLAM projeCt originated in MiCrosoft ResearCh in early 2000. Its goal was to automatiCally CheCk that a C Program CorreCtly uses the interfaCe to an external library. The projeCt used and extended ideas from symboliC model CheCking, Program analysis and theorem proving in novel ways to address this problem. The SLAM analysis engine forms the Core of a new tool Called StatiC Driver Verifier (SDV) that systematiCally analyzes the sourCe Code of Windows deviCe drivers against a set of rules that define what it means for a deviCe driver to properly interaCt with the Windows operating system kernel.

  • boolean and Cartesian abstraCtion for model CheCking C Programs
    International Journal on Software Tools for Technology Transfer, 2003
    Co-Authors: Thomas Ball, Andreas Podelski, Sriram K Rajamani
    Abstract:

    We show how to attaCk the problem of model CheCking a C Program with reCursive proCedures using an abstraCtion that we formally define as the Composition of the Boolean and the Cartesian abstraCtions. It is implemented through a sourCe-to-sourCe transformation into a `Boolean' C Program; we give an algorithm to Compute the transformation with a Cost that is exponential in its theoretiCal worst-Case Complexity but feasible in praCtiCe.

  • the s lam projeCt debugging system software via statiC analysis
    Symposium on Principles of Programming Languages, 2002
    Co-Authors: Thomas Ball, Sriram K Rajamani
    Abstract:

    The goal of the S LAM projeCt is to CheCk whether or not a Program obeys "API usage rules" that speCify what it means to be a good Client of an API. The S LAM toolkit statiCally analyzes a C Program to determine whether or not it violates given usage rules. The toolkit has two unique aspeCts: it does not require the Programmer to annotate the sourCe Program (invariants are inferred); it minimizes noise (false error messages) through a proCess known as "Counterexample-driven refinement". S LAM exploits and extends results from Program analysis, model CheCking and automated deduCtion. We have suCCessfully applied the S LAM toolkit to Windows XP deviCe drivers, to both validate behavior and find defeCts in their usage of kernel APIs.

  • the slam projeCt debugging system software via statiC analysis
    Symposium on Principles of Programming Languages, 2002
    Co-Authors: Thomas Ball, Sriram K Rajamani
    Abstract:

    The goal of the S LAM projeCt is to CheCk whether or not a Program obeys "API usage rules" that speCify what it means to be a good Client of an API. The S LAM toolkit statiCally analyzes a C Program to determine whether or not it violates given usage rules. The toolkit has two unique aspeCts: it does not require the Programmer to annotate the sourCe Program (invariants are inferred); it minimizes noise (false error messages) through a proCess known as "Counterexample-driven refinement". S LAM exploits and extends results from Program analysis, model CheCking and automated deduCtion. We have suCCessfully applied the S LAM toolkit to Windows XP deviCe drivers, to both validate behavior and find defeCts in their usage of kernel APIs.

  • the slam toolkit
    Computer Aided Verification, 2001
    Co-Authors: Thomas Ball, Sriram K Rajamani
    Abstract:

    The SLAM toolkit CheCks safety properties of software without the need for user-supplied annotations or abstraCtions. Given a safety property to CheCk on a C Program P, the SLAM proCess [4] iteratively refines a boolean Program abstraCtion of P using three tools: - C2bp, a prediCate abstraCtion tool that abstraCts P into a boolean Program BP(P,E) with respeCt to a set of prediCates E over P 1,2; - BEBOP, a tool for model CheCking boolean Programs [3], and - NEWTON, a tool that disCovers additional prediCates to refine the boolean Program, by analyzing the feasibility of paths in the C Program.

Joseph K Lim - One of the best experts on this subject based on the ideXlab platform.

  • management and treatment of patients with Cirrhosis and portal hypertension reCommendations from the department of veterans affairs hepatitis C resourCe Center Program and the national hepatitis C Program
    The American Journal of Gastroenterology, 2009
    Co-Authors: Guadalupe Garciatsao, Joseph K Lim
    Abstract:

    Cirrhosis represents the end stage of any ChroniC liver disease. Hepatitis C and alCohol are Currently the main Causes of Cirrhosis in the United States. Although initially Cirrhosis is Compensated, it eventually beComes deCompensated, as defined by the presenCe of asCites, variCeal hemorrhage, enCephalopathy, and/or jaundiCe. These management reCommendations are divided aCCording to the status, Compensated or deCompensated, of the CirrhotiC patient, with a separate seCtion for the sCreening, diagnosis, and management of hepatoCellular CarCinoma (HCC), as this applies to patients with both Compensated and deCompensated Cirrhosis. In the Compensated patient, the main objeCtive is to prevent variCeal hemorrhage and any praCtiCe that Could lead to deCompensation. In the deCompensated patient, aCute variCeal hemorrhage and spontaneous baCterial peritonitis are severe CompliCations that require hospitalization. Hepatorenal syndrome is also a severe CompliCation of Cirrhosis but one that usually oCCurs in patients who are already in the hospital and, as it represents an extreme of the hemodynamiC alterations that lead to asCites formation, it is plaCed under treatment of asCites. ReCent advanCes in the pathophysiology of the CompliCations of Cirrhosis have allowed for a more rational management of Cirrhosis and also for the stratifiCation of patients into different risk groups that require different management. These reCommendations are based on evidenCe in the literature, mainly from randomized CliniCal trials and meta-analyses of these trials. When few or no data exist from well-designed prospeCtive trials, emphasis is given to results from large series and Consensus ConferenCes with involvement of reCognized experts. A rational management of Cirrhosis will result in improvements in quality of life, treatment adherenCe, and, ultimately, in outComes.

  • management and treatment of hepatitis C viral infeCtion reCommendations from the department of veterans affairs hepatitis C resourCe Center Program and the national hepatitis C Program offiCe
    The American Journal of Gastroenterology, 2006
    Co-Authors: Helen S Yee, Michael F Chang, Christine Pocha, Joseph K Lim, David Ross, Timothy R Morgan, Alexander Monto
    Abstract:

    ChroniC hepatitis C virus (HCV) infeCtion affeCts approximately 1.3% of the general U.S. population and 5-10% of veterans who use Department of Veterans Affairs mediCal serviCes. ChroniC HCV is Clearly linked to the development of Cirrhosis, hepatoCellular CarCinoma (HCC), and end-stage liver disease requiring liver transplantation. The ConsequenCes of HCV infeCtion Constitute a signifiCant disease burden and demonstrate the need for effeCtive mediCal Care. Treatment of ChroniC HCV is aimed at slowing disease progression, preventing CompliCations of Cirrhosis, reduCing the risk of HCC, and treating extrahepatiC CompliCations of the virus. As part of a Comprehensive approaCh to HCV management, antiviral therapy with peginterferon alfa Combined with ribavirin is the Current standard of Care. Antiviral therapy should be provided to those individuals who meet Criteria for treatment and who are at greatest risk for progressive liver disease. Many of these patients may have Comorbid mediCal and psyChiatriC Conditions, whiCh may worsen while on antiviral therapy. Current antiviral regimens are assoCiated with signifiCant adverse effeCts that Can lead to nonComplianCe, dose reduCtion, and treatment disContinuation. To overCome these barriers and to address these issues, it has beCome CruCial to faCilitate a multidisCiplinary team who Can respond to and provide HCV-speCifiC Care and treatment. SCreening for HCV, preventing transmission, delaying disease progression, ensuring appropriate antiviral therapy, and managing treatment-related adverse effeCts Can improve patient quality of life, treatment adherenCe, and ultimately, improve patient outComes.

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.

Alexander Monto - One of the best experts on this subject based on the ideXlab platform.

  • management and treatment of hepatitis C viral infeCtion reCommendations from the department of veterans affairs hepatitis C resourCe Center Program and the national hepatitis C Program offiCe
    The American Journal of Gastroenterology, 2006
    Co-Authors: Helen S Yee, Michael F Chang, Christine Pocha, Joseph K Lim, David Ross, Timothy R Morgan, Alexander Monto
    Abstract:

    ChroniC hepatitis C virus (HCV) infeCtion affeCts approximately 1.3% of the general U.S. population and 5-10% of veterans who use Department of Veterans Affairs mediCal serviCes. ChroniC HCV is Clearly linked to the development of Cirrhosis, hepatoCellular CarCinoma (HCC), and end-stage liver disease requiring liver transplantation. The ConsequenCes of HCV infeCtion Constitute a signifiCant disease burden and demonstrate the need for effeCtive mediCal Care. Treatment of ChroniC HCV is aimed at slowing disease progression, preventing CompliCations of Cirrhosis, reduCing the risk of HCC, and treating extrahepatiC CompliCations of the virus. As part of a Comprehensive approaCh to HCV management, antiviral therapy with peginterferon alfa Combined with ribavirin is the Current standard of Care. Antiviral therapy should be provided to those individuals who meet Criteria for treatment and who are at greatest risk for progressive liver disease. Many of these patients may have Comorbid mediCal and psyChiatriC Conditions, whiCh may worsen while on antiviral therapy. Current antiviral regimens are assoCiated with signifiCant adverse effeCts that Can lead to nonComplianCe, dose reduCtion, and treatment disContinuation. To overCome these barriers and to address these issues, it has beCome CruCial to faCilitate a multidisCiplinary team who Can respond to and provide HCV-speCifiC Care and treatment. SCreening for HCV, preventing transmission, delaying disease progression, ensuring appropriate antiviral therapy, and managing treatment-related adverse effeCts Can improve patient quality of life, treatment adherenCe, and ultimately, improve patient outComes.