A brief overview of the contribution

Slides:



Advertisements
Similar presentations
Microsoft Windows NT Embedded 4.0
Advertisements

The following 10 questions test your knowledge of desired configuration management in Configuration Manager Configuration Manager Desired Configuration.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Programming Paradigms and languages
DT211/3 Internet Application Development
Microsoft Office Open XML Formats Brian Jones Lead Program Manager Microsoft Corporation.
Russell Taylor Lecturer in Computing & Business Studies.
Mapping Physical Formats to Logical Models to Extract Data and Metadata Tara Talbott IPAW ‘06.
ÆKOS: A new paradigm for discovery and access to complex ecological data David Turner, Paul Chinnick, Andrew Graham, Matt Schneider, Craig Walker Logos.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Tahir Nawaz Visual Programming C# Week 2. What is C#? C# (pronounced "C sharp") is an object- oriented language that is used to build applications for.
Learning Resource iNterchange
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Microsoft Dynamics.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
2005 Adobe Systems Incorporated. All Rights Reserved. 1 Ontolog Forum Gunar Penikis Sr. Product Manager Adobe Systems.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Addressing Metadata in the MPEG-21 and PDF-A ISO Standards NISO Workshop: Metadata on the Cutting Edge May 2004 William G. LeFurgy U.S. Library of Congress.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Hans-Peter Plag October 16, 2014 Session 3 Programming Languages Data Types and Variables Expressions and Operators Flow Control.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
Web Programming : Building Internet Applications Chris Bates CSE :
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
Microsoft Sync Framework Content flow for the enterprise.
© 2007 IBM Corporation SOA on your terms and our expertise Software WebSphere Process Server and Portal Integration Overview.
JavaScript Tutorial 1 - Introduction to JavaScript1 Tutorial 1 Introduction to JavaScript Section A – Programming, HTML, and JavaScript.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Interop SC 02/03/2016. Agenda Jacques feedbacks Contribution process improvements proposal 2.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Architecture Review 10/11/2004
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
Building Enterprise Applications Using Visual Studio®
Introduction to .NET framework
J. Gutleber, L. Orsini, 2005 March 15
Muen Policy & Toolchain
UML Diagrams By Daniel Damaris Novarianto S..
IoT at the Edge Technical guidance deck.
XML QUESTIONS AND ANSWERS
Introduction to .NET Framework Ch2 – Deitel’s Book
Threat Management Gateway
Michael Mast Senior Architect
UML Diagrams Jung Woo.
Microsoft Dynamics.
Migrating Oracle Forms Using Oracle Application Express
Eclipse 20-Sep-18.
IoT at the Edge Technical guidance deck.
A BRIEF INTRODUCTION TO UNIX OPERATING SYSTEM
Web Development Using ASP .NET
Microsoft Graph- Permissions and Consent
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Metadata The metadata contains
Eagle: Maturation and Evolution
Martin MSBuild Martin
Use Cases Simple Machine Translation (using Rainbow)
OPeNDAP/Hyrax Interfaces
Web Programming : Building Internet Applications Chris Bates CSE :
Lecture 2 Lecturer: awdang aziz MS access
Palestinian Central Bureau of Statistics
DevOps for Desktop Apps
Presentation transcript:

A brief overview of the contribution SARIF A brief overview of the contribution

Purpose Make developers more productive by enabling them to interact with results from multiple analysis tools in a uniform way. Enable uniform viewing experiences (e.g., IDE integrations) Enable uniform storage in and retrieval from a back end (“result management systems”)

Design goals Comprehensively capture the range of data produced by commonly used static analysis tools. Be a useful format for analysis tools to emit directly, and also an effective interchange format into which the output of any analysis tool can be converted. Be suitable for use in a variety of scenarios related to analysis result management, and be extensible for use in new scenarios. Reduce the cost and complexity of aggregating the results of various analysis tools into common workflows. Capture information that is useful for assessing a project’s compliance with corporate policy or conformance to certification standards. Adopt a widely used serialization format that can be parsed by readily available tools. Represent analysis results for all kinds of programming artifacts, including source code and object code. Represent the logical construct against which a result is produced, such as a function, class, or namespace. Represent the physical location at which a result is produced, including problems that are detected in nested files (such as a source file within a compressed container).

History 2013: Originated in Microsoft’s security organization to unify results produced by several security-related static analysis tools. Developed “in the open”: https://github.com/sarif-standard/sarif-spec Open issues in the repo will be filed in OASIS for resolution by TC – including concepts from related formats such as SATE and SWAMP/SCARF. Supported by latest Microsoft C#/VB/C++ compilers, a variety of publicly available Microsoft tools, as well as tools from …..

Example { "version": "1.0.0", "runs": [ { "tool": { "name": "CodeScanner", "semanticVersion": "2.1.0" }, "files": { "file:///user/builder/work/src/collections/list.cpp": { "mimeType": "text/x-c" } }, "results": [ { "ruleId": "C2001", "message": "Variable \"count\" was used without being initialized.", "locations": [ { "analysisTarget": { "uri": "file:///user/builder/work/src/collections/list.cpp", "region": { "startLine": 15 } }, "fullyQualifiedLogicalName": "collections::list:add" } ] } ], "rules": { "C2001": { "id": "C2001", "fullDescription": "A variable was used without being initialized. This can result in runtime errors such as null reference exceptions." } } } ] }

Features (a partial list) Multiple runs per file Tool information Run/invocation information Rich description of “results” including: “Physical” and “logical” locations Multiple locations per result Code flows Stacks Fixes Rule metadata File metadata Hashes MIME type Embedded contents Support for both text and binary files Support for “nested” files Tool notifications (e.g. capture tool console output) Support for “baselining"

Other applications Dynamic analysis tools (code flow support with location.kind) Web scanning tools (analysis targets expressed as URLs)

Resources Specification contribution: https://rawgit.com/sarif-standard/sarif- spec/master/Static%20Analysis%20Results%20Interchange%20Forma t%20(SARIF).html SARIF home page: http://sarifweb.azurewebsites.net SARIF .NET SDK NuGet package: https://www.nuget.org/packages/Sarif.Sdk/ … and source code: http://github.com/Microsoft/sarif-sdk