The Experts below are selected from a list of 136413 Experts worldwide ranked by ideXlab platform
Sriram K. Rajamani - One of the best experts on this subject based on the ideXlab platform.
-
a decade of software model checking with slam
Communications of The ACM, 2011Co-Authors: Thomas Ball, Vladimir Levin, Sriram K. RajamaniAbstract:SLAM is a program-Analysis Engine used to check if clients of an API follow the API's stateful usage rules.
-
thorough static Analysis of device drivers
European Conference on Computer Systems, 2006Co-Authors: Thomas Ball, Sriram K. Rajamani, Vladimir Levin, Ella Bounimova, Byron Cook, Jakob Lichtenberg, Con Mcgarvey, Bohus Ondrusek, Abdullah UstunerAbstract:Bugs in kernel-level device drivers cause 85% of the system crashes in the Windows XP operating system [44]. One of the sources of these errors is the complexity of the Windows driver API itself: programmers must master a complex set of rules about how to use the driver API in order to create drivers that are good clients of the kernel. We have built a static Analysis Engine that finds API usage errors in C programs. The Static Driver Verifier tool (SDV) uses this Engine to find kernel API usage errors in a driver. SDV includes models of the OS and the environment of the device driver, and over sixty API usage rules. SDV is intended to be used by driver developers "out of the box." Thus, it has stringent requirements: (1) complete automation with no input from the user; (2) a low rate of false errors. We discuss the techniques used in SDV to meet these requirements, and empirical results from running SDV on over one hundred Windows device drivers.
-
slam and static driver verifier technology transfer of formal methods inside microsoft
Integrated Formal Methods, 2004Co-Authors: Thomas All, Yro Cook, Vladimi Levi, Sriram K. RajamaniAbstract: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.
Adam Lally - One of the best experts on this subject based on the ideXlab platform.
-
UIMA: An architectural approach to unstructured information processing in the corporate research environment
Natural Language Engineering, 2004Co-Authors: David Ferrucci, Adam LallyAbstract:IBM Research has over 200 people working on Unstructured Information Management (UIM) technologies with a strong focus on Natural Language Processing (NLP). These researchers are engaged in activities ranging from natural language dialog, information retrieval, topic-tracking, named-entity detection, document classification and machine translation to bioinformatics and open-domain question answering. An Analysis of these activities strongly suggested that improving the organization's ability to quickly discover each other's results and rapidly combine different technologies and approaches would accelerate scientific advance. Furthermore, the ability to reuse and combine results through a common architecture and a robust software framework would accelerate the transfer of research results in NLP into IBM's product platforms. Market analyses indicating a growing need to process unstructured information, specifically multilingual, natural language text, coupled with IBM Research's investment in NLP, led to the development of middleware architecture for processing unstructured information dubbed UIMA. At the heart of UIMA are powerful search capabilities and a data-driven framework for the development, composition and distributed deployment of Analysis Engines. In this paper we give a general introduction to UIMA focusing on the design points of its Analysis Engine architecture and we discuss how UIMA is helping to accelerate research and technology transfer.
-
accelerating corporate research in the development application and deployment of human language technologies
North American Chapter of the Association for Computational Linguistics, 2003Co-Authors: David A Ferrucci, Adam LallyAbstract:IBM Research has over 200 people working on Unstructured Information Management (UIM) technologies with a strong focus on HLT. Spread out over the globe they are engaged in activities ranging from natural language dialog to machine translation to bioinformatics to open-domain question answering. An Analysis of these activities strongly suggested that improving the organization's ability to quickly discover each other's results and rapidly combine different technologies and approaches would accelerate scientific advance. Furthermore, the ability to reuse and combine results through a common architecture and a robust software framework would accelerate the transfer of research results in HLT into IBM's product platforms. Market analyses indicating a growing need to process unstructured information, specifically multi-lingual, natural language text, coupled with IBM Research's investment in HLT, led to the development of middleware architecture for processing unstructured information dubbed UIMA. At the heart of UIMA are powerful search capabilities and a data-driven framework for the development, composition and distributed deployment of Analysis Engines. In this paper we give a general introduction to UIMA focusing on the design points of its Analysis Engine architecture and we discuss how UIMA is helping to accelerate research and technology transfer.
Jerome Rocheteau - One of the best experts on this subject based on the ideXlab platform.
-
Building a French-speaking community around UIMA, gathering research, education and industrial partners, mainly in Natural Language Processing and Speech Recognizing domains
2017Co-Authors: Nicolas Hernandez, Fabien Poulard, Matthieu Vernier, Jerome RocheteauAbstract:We report on the efforts the UN-LINA has made to build a UIMA French-speaking community both in Natural Language Processing and Speech Recognizing domains that would bring together researchers, industrials and educational interests. The intentions of building this community are twofold: to encourage the French-speaking academic and industrial organizations which have not yet adopt a middleware solution to use UIMA as a common development framework and middleware architecture for their research and Engineering projects; to improve the collaborative development of common UIMA-based NLP tools and components for processing French. We present the services we set up as well as the resources we distribute freely under open licences to accomplish this objective. Most of them are currently available on the uima-fr.org Web Portal. They consist of: A web portal to discuss and exchange information about UIMA; A bundle of scripts and resources for automatically installing the whole of the Apache UIMA SDK; A bundle of UIMA-based components including some French NLP preprocessing components, a type mapper and a semantic rule-based analyser; A bundle of UIMA tools including an Analysis Engine Apache Maven archetype and an advanced web rest server; Course and training materials.
-
building a french speaking community around uima gathering research education and industrial partners mainly in natural language processing and speech recognizing domains
LREC 2010 Workshop 'New Challenges for NLP Frameworks', 2010Co-Authors: Nicolas Hernandez, Fabien Poulard, Matthieu Vernier, Jerome RocheteauAbstract:We report on the efforts the UN-LINA has made to build a UIMA French-speaking community both in Natural Language Processing and Speech Recognizing domains that would bring together researchers, industrials and educational interests. The intentions of building this community are twofold: to encourage the French-speaking academic and industrial organizations which have not yet adopt a middleware solution to use UIMA as a common development framework and middleware architecture for their research and Engineering projects; and to improve the collaborative development of common UIMA-based NLP tools and components for processing French. We present the services we have set up as well as the resources we distribute freely under open licences to accomplish this objective. Most of them are currently available on the uima-fr.org Web Portal. They consist of: A web portal to discuss and exchange information about UIMA; A bundle of scripts and resources for automatically installing the whole of the Apache UIMA SDK; A bundle of UIMA-based components including some French NLP preprocessing components, a type mapper and a semantic rule-based analyser; A bundle of UIMA tools including an Analysis Engine Apache Maven archetype and an advanced web rest server; Course and training materials.
Thomas Ball - One of the best experts on this subject based on the ideXlab platform.
-
a decade of software model checking with slam
Communications of The ACM, 2011Co-Authors: Thomas Ball, Vladimir Levin, Sriram K. RajamaniAbstract:SLAM is a program-Analysis Engine used to check if clients of an API follow the API's stateful usage rules.
-
SLAM2: Static driver verification with under 4% false alarms
Formal Methods in Computer Aided Design, 2010Co-Authors: Thomas Ball, Ella Bounimova, Rahul Kumar, Vladimir LevinAbstract:In theory, counterexample-guided abstraction refinement (CEGAR) uses spurious counterexamples to refine overapproximations so as to eliminate provably false alarms. In practice, CEGAR can report false alarms because: (1) the underlying problem CEGAR is trying to solve is undecidable; (2) approximations introduced for optimization purposes may cause CEGAR to be unable to eliminate a false alarm; (3) CEGAR has no termination guarantee - if it runs out of time or memory then the last counterexample generated is provably a false alarm. We report on advances in the SLAM Analysis Engine, which implements CEGAR for C programs using predicate abstraction, that greatly reduce the false alarm rate. SLAM is used by the Static Driver Verifier (SDV) tool. Compared to the first version of SLAM (SLAM1, shipped in SDV 1.6), the improved version (SLAM2, shipped in SDV 2.0) reduces the percentage of false alarms from 25.7% to under 4% for the WDM class of device drivers. For the KMDF class of device drivers, SLAM2 has under 0.05% false alarms. The variety and the volume of our experiments of SDV with SLAM2, significantly exceed those performed for other CEGAR-based model checkers. These results made it possible for SDV 2.0 to be applied as an automatic and required quality gate for Windows 7 device drivers.
-
thorough static Analysis of device drivers
European Conference on Computer Systems, 2006Co-Authors: Thomas Ball, Sriram K. Rajamani, Vladimir Levin, Ella Bounimova, Byron Cook, Jakob Lichtenberg, Con Mcgarvey, Bohus Ondrusek, Abdullah UstunerAbstract:Bugs in kernel-level device drivers cause 85% of the system crashes in the Windows XP operating system [44]. One of the sources of these errors is the complexity of the Windows driver API itself: programmers must master a complex set of rules about how to use the driver API in order to create drivers that are good clients of the kernel. We have built a static Analysis Engine that finds API usage errors in C programs. The Static Driver Verifier tool (SDV) uses this Engine to find kernel API usage errors in a driver. SDV includes models of the OS and the environment of the device driver, and over sixty API usage rules. SDV is intended to be used by driver developers "out of the box." Thus, it has stringent requirements: (1) complete automation with no input from the user; (2) a low rate of false errors. We discuss the techniques used in SDV to meet these requirements, and empirical results from running SDV on over one hundred Windows device drivers.
Ryan Berg - One of the best experts on this subject based on the ideXlab platform.
-
f4f taint Analysis of framework based web applications
Conference on Object-Oriented Programming Systems Languages and Applications, 2011Co-Authors: Manu Sridharan, Omer Tripp, Marco Pistoia, Shay Artzi, Salvatore A Guarnieri, Ryan BergAbstract:This paper presents F4F (Framework For Frameworks), a system for effective taint Analysis of framework-based web applications. Most modern web applications utilize one or more web frameworks, which provide useful abstractions for common functionality. Due to extensive use of reflective language constructs in framework implementations, existing static taint analyses are often ineffective when applied to framework-based applications. While previous work has included ad hoc support for certain framework constructs, adding support for a large number of frameworks in this manner does not scale from an Engineering standpoint.F4F employs an initial Analysis pass in which both application code and configuration files are processed to generate a specification of framework-related behaviors. A taint Analysis Engine can leverage these specifications to perform a much deeper, more precise Analysis of framework-based applications. Our specification language has only a small number of simple but powerful constructs, easing Analysis Engine integration. With this architecture, new frameworks can be handled with no changes to the core Analysis Engine, yielding significant Engineering benefits.We implemented specification generators for several web frameworks and added F4F support to a state-of-the-art taint-Analysis Engine. In an experimental evaluation, the taint Analysis enhanced with F4F discovered 525 new issues across nine benchmarks, a harmonic mean of 2.10X more issues per benchmark. Furthermore, manual inspection of a subset of the new issues showed that many were exploitable or reflected bad security practice.