SlideShare a Scribd company logo
1 of 25
Download to read offline
What’s New in Helix QAC?
2019.1 RELEASE | MAY 2019
perforce.com
Presenter
Richard Bellairs
Product Marketing Manager
Richard has 20+ years of experience across a wide range of industries. He
held electronics and software engineering positions in the manufacturing,
defense, and test and measurement industries in the nineties and early
noughties before moving to product management and product marketing.
He now champions Perforce’s market-leading code quality management
solution.
perforce.com
Here’s What We’ll Cover Today
1
2
3
New Features in Helix QAC 2019.1
Recent Features From Our 2018 Releases
How to Get Started With the Latest Version
perforce.com
2016 - 2017 2018 - 20191995 - 2015
Perforce was
Founded as a
Version Control
System.
New
Management
and Investor
Team Join
Perforce.
Acquisition:
Seapine
Software
Acquisition:
Deveo
and
Hansoft
Clearlake
Invests in
Perforce.
Acquisition:
PRQA
Acquisition:
Perfecto
Acquisition:
Rogue Wave
Version Control Only New Management Team / Expansion into Agile Planning Mobile, Web and More
The Perforce Family
perforce.com
Perforce Product Categories
Agile Planning
• Visual planning and
collaboration software.
• Enterprise agile project
planning.
• Mixed-mode project
management.
• Requirements and test
case management.
• Integrated issue
management.
Software Assurance
• Ensure safe, secure,
reliable code.
• Identify code defects or
rule violations against
custom and industry
standards.
• Compliance modules.
• Supports most compilers.
• Static, continuous, and
mobile availability.
• Tools to build, deploy,
secure, optimize, and
extend enterprise
applications.
• Open Source Support that
provides expertise on
technology stacks.
• API development,
governance, security, and
management.
Operations
Tools
• Provide scalable,
enterprise developer
components.
• Large dataset and
complex visualization.
• Platform independent
code building blocks.
• Robust statistical analysis.
Embedded
Components
Code
Management &
Collaboration
• Git and File Based
Versioning.
• Versioning for code,
design files, and artwork.
• Distributed
options/proxies.
• Supports multi-repository
build for CI/CD.
• Tool that improves
developer productivity in
executing Java code
changes.
perforce.com
Helix QAC Versions and Naming
May 2018 October 2018 May 2019 Fall 2019
QA Framework 2.3 QA Framework 2.4 Helix QAC 2019.1
Helix QAC 2019.2
QAC 9.4.1 QAC 9.5 QAC 9.6
QAC++ 4.2.1 QAC++ 4.3 QAC++ 4.4
QA Verify 2.2.2 QA Verify 2.3 QAC
Dashboard
2.4
perforce.com
Helix QAC Product Strategy
•Widest and deepest coverage for supported coding standards.
•Comprehensive coverage of ISO-specified language features.
•Tool certification and qualification for functional safety standards.
Compliance
•Analysis speed, accuracy, and precision.Performance
•User experience.
•Tool integrations.
•Ease of setup and configuration.
Productivity
perforce.com
Strategic Theme QA Framework 2.4 (October 2018) Helix QAC 2019.1 (May 2019)
Compliance
Improved breadth and depth for CERT, MISRA, and AUTOSAR
Concurrency and multithreading defect detection
New CWE C++ Compliance Module Updated AUTOSAR (2018.10) support
Support for C11 Complete C++14 support
Dataflow enhancements for secure coding
Performance
Improved accuracy and precision — reduced false positives/negatives
Faster CLI report generation
Faster Cross Module Analysis
(in memory processing)
Reduced disk storage
Faster desktop to server project transfer
(typical 50% improvement)
Productivity
Framework GUI improvements
Desktop/Dashboard rule synchronization
Named macro suppressions
Searchable help
Recent Key Feature Additions
perforce.com
Improved Breadth and Depth for CERT, MISRA, and AUTOSAR COMPLIANCE
Coding Standard
Helix QAC 2019.1
Enforceable Rule Coverage
MISRA C 100%
MISRA C++ 97%
CERT C 87%
CERT C++ 68%
AUTOSAR 84%
perforce.com
Concurrency and Multithreading Defect Detection
• Intra-thread checks include:
• Incorrect use of mutexes/critical
sections.
• Race condition when using fork
and file descriptors.
• Call to non-re-entrant function
outside critical section.
• Inter-thread checks include:
• Deadlock.
• Violation of lock hierarchy.
• Data race (shared object and
adjacent shared object).
Supported threading APIs
• POSIX
• Windows
• C++
COMPLIANCE
perforce.com
pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;
int x;
void * thread1 (void * arg)
{
pthread_mutex_lock(&m1);
pthread_mutex_lock(&m2);
++x;
pthread_mutex_unlock(&m2);
pthread_mutex_unlock(&m1);
}
void * thread2 (void * arg)
{
pthread_mutex_lock(&m2);
pthread_mutex_lock(&m1);
++x;
pthread_mutex_unlock(&m1);
pthread_mutex_unlock(&m2);
}
thread1
thread2
m1 m2
Example Deadlock Detection
• Deadlock (T25809)
COMPLIANCE
perforce.com
• Deadlock (T25809)
Example Deadlock Detection COMPLIANCE
perforce.com
• Data race for the same shared object (T25278):
Example Data Race Detection
• 1765 Definite: data race for object.
• 1766 Apparent: data race for object.
• 1770 Definite: data race for a volatile object.
• 1771 Definite: data race for a mutable object.
COMPLIANCE
perforce.com
• New product option.
• CWE = “Common Weakness Enumeration”.
• Important to remember: CWE is not a coding standard.
• CWE is a community developed list of security weaknesses.
• Maps QAC++ diagnostic messages to CWE list entries.
• Even though our Compliance Module is focused on “Weaknesses in Software Written in C++”, it
does cover some weaknesses that also apply to other languages.
CWE C++ Compliance Module COMPLIANCE
perforce.com
• AUTOSAR Compliance Module supports AUTOSAR Coding Guidelines 18-10.
• Market leading breadth and depth of coverage.
• 297/353 Enforceable Rules.
• MISRA C++ and AUTOSAR will be integrated in the future.
Updated AUTOSAR Support COMPLIANCE
perforce.com
• C:
•C11 Support
•Compiler Extensions
Support for C11 and C++14
• C++:
•Modern C++ Features:
• constexpr
• __has_include
• thread_local
• designated initializers
(as proposed for C++ ‘2x)
COMPLIANCE
perforce.com
Example Tainted Data Check:
• Tainted object used as a format string (T25167):
• 4916 Definite: Using a tainted variable as format string.
• 4917 Apparent: Using a tainted variable as format string.
• 4918 Suspicious: Using a tainted variable as format string.
• 4919 Possible: Using a tainted variable as format string.
• CERT C FIO30 (Exclude user input from format strings) is now
reported due to implementing this check.
Dataflow Enhancements for Secure Coding COMPLIANCE
perforce.com
• Continual improvements in accuracy (defects found/defects present) and precision
(true positives/defects found).
• Improved analysis speed and incremental Cross Module Analysis.
• Unified project transfer speed optimization – typical 50% improvement (project dependent).
Performance Improvements
Spring ’18
(PRQA Framework 2.3)
Spring ’19
(Helix QAC 2019.1)
Analysis time 5:40 3:17
(2nd run with 1 changed file: 0:26)
Example large test project (c. 2k C files):
COMPLIANCE
perforce.com
Framework GUI Improvements
• The severity filter now functions without an apply button.
• Improved responsiveness of file tree.
• File tree displays the correct folder structure for header files.
• Option to hide source and header files with zero diagnostics.
• Optional sorting order (same as Dashboard).
perforce.com
• Changes to the rule configuration can be made in the Framework GUI
(no need to use ‘ConfigGUI’ utility).
• Baseline configuration is included in Unify project information.
Desktop to Dashboard Synchronization
perforce.com
• Suppress instances of messages generated against code expanded from a macro.
• Justification comment can be added.
• Syntax is identical to existing comment annotations with “MS NAME” instead of “S”.
Named Macro Suppressions
perforce.com
Searchable Help
Support for Boolean search
operators – similar to
search engine.
perforce.com
Helix QAC Roadmap
C a t e g o r y S p r i n g 2 0 1 9 F a l l 2 0 1 9 2 0 2 0
C Language Features Complete ISO C11 Language Features
C Compliance Modules
MISRA C Coverage Accuracy Enhancements MISRA C11 Compliance Module Complete CERT C Coverage
MISRA C90/C99 switch
CERT C Coverage Enhancements
C++ Language Features Complete ISO C++11/14 Language Features ISO C++17 Language Feature Coverage Complete ISO C++17 Language Features
C++ Compliance Modules AUTOSAR Update to 18.10 AUTOSAR Coverage Enhancements Complete AUTOSAR Coverage
Productivity
Desktop/Centralized Sync. (‘Unified’) Eclipse v4.12 Support API access to analysis data
Searchable Help Visual Studio ‘19 Support
Performance
Cross Module Analysis Speed Improvement Improved Analysis and Reporting Speed
QA Verify Upload Speed Improvement Reduced Disk Usage
Note: This information outlines some of our current product plans. It does not represent a
binding commitment. The development, release, and timing of any products, features or
functionality remain at the discretion of Perforce, and are subject to change.
perforce.com
Upgrade to the Latest Version
Check Out the What’s New Page
https://www.perforce.com/products/helix-qac/whats-new-helix-qac
Request Support
https://www.perforce.com/support/request-support
Questions?

More Related Content

What's hot

AWSインスタンス設定手順書
AWSインスタンス設定手順書AWSインスタンス設定手順書
AWSインスタンス設定手順書iret, Inc.
 
ARM IoT Firmware Emulation Workshop
ARM IoT Firmware Emulation WorkshopARM IoT Firmware Emulation Workshop
ARM IoT Firmware Emulation WorkshopSaumil Shah
 
3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed Diskのしくみ3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed DiskのしくみToru Makabe
 
Volatile memory analysis
Volatile memory analysisVolatile memory analysis
Volatile memory analysisHimanshu0734
 
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...Edureka!
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Keroles karam khalil
 
Oracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications ConsiderationsOracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications ConsiderationsMarkus Michalewicz
 
EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22MichaelM85042
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートオラクルエンジニア通信
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIAnne Nicolas
 
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentBeyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentZach Pfeffer
 
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Alexander Nyßen
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor LF Events
 
آموزش سیستم های عامل - بخش هفتم
آموزش سیستم های عامل - بخش هفتمآموزش سیستم های عامل - بخش هفتم
آموزش سیستم های عامل - بخش هفتمfaradars
 

What's hot (20)

Oracle AFD
Oracle AFDOracle AFD
Oracle AFD
 
Firebirdの障害対策
Firebirdの障害対策Firebirdの障害対策
Firebirdの障害対策
 
AWSインスタンス設定手順書
AWSインスタンス設定手順書AWSインスタンス設定手順書
AWSインスタンス設定手順書
 
ARM IoT Firmware Emulation Workshop
ARM IoT Firmware Emulation WorkshopARM IoT Firmware Emulation Workshop
ARM IoT Firmware Emulation Workshop
 
3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed Diskのしくみ3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed Diskのしくみ
 
Volatile memory analysis
Volatile memory analysisVolatile memory analysis
Volatile memory analysis
 
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
 
Free FreeRTOS Course-Task Management
Free FreeRTOS Course-Task ManagementFree FreeRTOS Course-Task Management
Free FreeRTOS Course-Task Management
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1
 
Oracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications ConsiderationsOracle MAA Best Practices - Applications Considerations
Oracle MAA Best Practices - Applications Considerations
 
EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
 
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentBeyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
 
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor
 
آموزش سیستم های عامل - بخش هفتم
آموزش سیستم های عامل - بخش هفتمآموزش سیستم های عامل - بخش هفتم
آموزش سیستم های عامل - بخش هفتم
 
Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
 
Toolchain
ToolchainToolchain
Toolchain
 

Similar to What's New in Helix QAC 2019.1

Introduction to Adaptive and 3DEXPERIENCE Cloud
Introduction to Adaptive and 3DEXPERIENCE CloudIntroduction to Adaptive and 3DEXPERIENCE Cloud
Introduction to Adaptive and 3DEXPERIENCE CloudAdaptive Corporation
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrewLibbySchulze
 
IBM ALM for aviation safety compliance aerospace
IBM ALM for aviation safety compliance aerospaceIBM ALM for aviation safety compliance aerospace
IBM ALM for aviation safety compliance aerospaceImran Hashmi
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...VMware Tanzu
 
Improve Developer Experience with Developer Portal
Improve Developer Experience with Developer PortalImprove Developer Experience with Developer Portal
Improve Developer Experience with Developer PortalKumton Suttiraksiri
 
Resume_DharshanBM
Resume_DharshanBMResume_DharshanBM
Resume_DharshanBMDarshan Bm
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsWeaveworks
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsSonja Schweigert
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerAgile Impact Conference
 
Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Pavan Dikondkar
 
RAD Studio 2015 Roadmap
RAD Studio 2015 RoadmapRAD Studio 2015 Roadmap
RAD Studio 2015 Roadmapwww.embt.cz
 
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology RoadmapRad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology RoadmapJTatEmbarcaderoTechnologies
 
Helm summit 2019_handling large number of charts_sept 10
Helm summit 2019_handling large number of charts_sept 10Helm summit 2019_handling large number of charts_sept 10
Helm summit 2019_handling large number of charts_sept 10Shikha Srivastava
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glancekanimozhin
 

Similar to What's New in Helix QAC 2019.1 (20)

Introduction to Adaptive and 3DEXPERIENCE Cloud
Introduction to Adaptive and 3DEXPERIENCE CloudIntroduction to Adaptive and 3DEXPERIENCE Cloud
Introduction to Adaptive and 3DEXPERIENCE Cloud
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
 
IBM ALM for aviation safety compliance aerospace
IBM ALM for aviation safety compliance aerospaceIBM ALM for aviation safety compliance aerospace
IBM ALM for aviation safety compliance aerospace
 
Ramesh gupta cv
Ramesh gupta cvRamesh gupta cv
Ramesh gupta cv
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
 
Improve Developer Experience with Developer Portal
Improve Developer Experience with Developer PortalImprove Developer Experience with Developer Portal
Improve Developer Experience with Developer Portal
 
Resume_DharshanBM
Resume_DharshanBMResume_DharshanBM
Resume_DharshanBM
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Connect Bridge
Connect BridgeConnect Bridge
Connect Bridge
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by docker
 
Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018
 
Resume
ResumeResume
Resume
 
RAD Studio 2015 Roadmap
RAD Studio 2015 RoadmapRAD Studio 2015 Roadmap
RAD Studio 2015 Roadmap
 
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology RoadmapRad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap
Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap
 
Helm summit 2019_handling large number of charts_sept 10
Helm summit 2019_handling large number of charts_sept 10Helm summit 2019_handling large number of charts_sept 10
Helm summit 2019_handling large number of charts_sept 10
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glance
 

More from Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsPerforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsPerforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessPerforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsPerforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowPerforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldPerforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterprisePerforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMPerforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Perforce
 

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Recently uploaded

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

What's New in Helix QAC 2019.1

  • 1. What’s New in Helix QAC? 2019.1 RELEASE | MAY 2019
  • 2. perforce.com Presenter Richard Bellairs Product Marketing Manager Richard has 20+ years of experience across a wide range of industries. He held electronics and software engineering positions in the manufacturing, defense, and test and measurement industries in the nineties and early noughties before moving to product management and product marketing. He now champions Perforce’s market-leading code quality management solution.
  • 3. perforce.com Here’s What We’ll Cover Today 1 2 3 New Features in Helix QAC 2019.1 Recent Features From Our 2018 Releases How to Get Started With the Latest Version
  • 4. perforce.com 2016 - 2017 2018 - 20191995 - 2015 Perforce was Founded as a Version Control System. New Management and Investor Team Join Perforce. Acquisition: Seapine Software Acquisition: Deveo and Hansoft Clearlake Invests in Perforce. Acquisition: PRQA Acquisition: Perfecto Acquisition: Rogue Wave Version Control Only New Management Team / Expansion into Agile Planning Mobile, Web and More The Perforce Family
  • 5. perforce.com Perforce Product Categories Agile Planning • Visual planning and collaboration software. • Enterprise agile project planning. • Mixed-mode project management. • Requirements and test case management. • Integrated issue management. Software Assurance • Ensure safe, secure, reliable code. • Identify code defects or rule violations against custom and industry standards. • Compliance modules. • Supports most compilers. • Static, continuous, and mobile availability. • Tools to build, deploy, secure, optimize, and extend enterprise applications. • Open Source Support that provides expertise on technology stacks. • API development, governance, security, and management. Operations Tools • Provide scalable, enterprise developer components. • Large dataset and complex visualization. • Platform independent code building blocks. • Robust statistical analysis. Embedded Components Code Management & Collaboration • Git and File Based Versioning. • Versioning for code, design files, and artwork. • Distributed options/proxies. • Supports multi-repository build for CI/CD. • Tool that improves developer productivity in executing Java code changes.
  • 6. perforce.com Helix QAC Versions and Naming May 2018 October 2018 May 2019 Fall 2019 QA Framework 2.3 QA Framework 2.4 Helix QAC 2019.1 Helix QAC 2019.2 QAC 9.4.1 QAC 9.5 QAC 9.6 QAC++ 4.2.1 QAC++ 4.3 QAC++ 4.4 QA Verify 2.2.2 QA Verify 2.3 QAC Dashboard 2.4
  • 7. perforce.com Helix QAC Product Strategy •Widest and deepest coverage for supported coding standards. •Comprehensive coverage of ISO-specified language features. •Tool certification and qualification for functional safety standards. Compliance •Analysis speed, accuracy, and precision.Performance •User experience. •Tool integrations. •Ease of setup and configuration. Productivity
  • 8. perforce.com Strategic Theme QA Framework 2.4 (October 2018) Helix QAC 2019.1 (May 2019) Compliance Improved breadth and depth for CERT, MISRA, and AUTOSAR Concurrency and multithreading defect detection New CWE C++ Compliance Module Updated AUTOSAR (2018.10) support Support for C11 Complete C++14 support Dataflow enhancements for secure coding Performance Improved accuracy and precision — reduced false positives/negatives Faster CLI report generation Faster Cross Module Analysis (in memory processing) Reduced disk storage Faster desktop to server project transfer (typical 50% improvement) Productivity Framework GUI improvements Desktop/Dashboard rule synchronization Named macro suppressions Searchable help Recent Key Feature Additions
  • 9. perforce.com Improved Breadth and Depth for CERT, MISRA, and AUTOSAR COMPLIANCE Coding Standard Helix QAC 2019.1 Enforceable Rule Coverage MISRA C 100% MISRA C++ 97% CERT C 87% CERT C++ 68% AUTOSAR 84%
  • 10. perforce.com Concurrency and Multithreading Defect Detection • Intra-thread checks include: • Incorrect use of mutexes/critical sections. • Race condition when using fork and file descriptors. • Call to non-re-entrant function outside critical section. • Inter-thread checks include: • Deadlock. • Violation of lock hierarchy. • Data race (shared object and adjacent shared object). Supported threading APIs • POSIX • Windows • C++ COMPLIANCE
  • 11. perforce.com pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER; int x; void * thread1 (void * arg) { pthread_mutex_lock(&m1); pthread_mutex_lock(&m2); ++x; pthread_mutex_unlock(&m2); pthread_mutex_unlock(&m1); } void * thread2 (void * arg) { pthread_mutex_lock(&m2); pthread_mutex_lock(&m1); ++x; pthread_mutex_unlock(&m1); pthread_mutex_unlock(&m2); } thread1 thread2 m1 m2 Example Deadlock Detection • Deadlock (T25809) COMPLIANCE
  • 12. perforce.com • Deadlock (T25809) Example Deadlock Detection COMPLIANCE
  • 13. perforce.com • Data race for the same shared object (T25278): Example Data Race Detection • 1765 Definite: data race for object. • 1766 Apparent: data race for object. • 1770 Definite: data race for a volatile object. • 1771 Definite: data race for a mutable object. COMPLIANCE
  • 14. perforce.com • New product option. • CWE = “Common Weakness Enumeration”. • Important to remember: CWE is not a coding standard. • CWE is a community developed list of security weaknesses. • Maps QAC++ diagnostic messages to CWE list entries. • Even though our Compliance Module is focused on “Weaknesses in Software Written in C++”, it does cover some weaknesses that also apply to other languages. CWE C++ Compliance Module COMPLIANCE
  • 15. perforce.com • AUTOSAR Compliance Module supports AUTOSAR Coding Guidelines 18-10. • Market leading breadth and depth of coverage. • 297/353 Enforceable Rules. • MISRA C++ and AUTOSAR will be integrated in the future. Updated AUTOSAR Support COMPLIANCE
  • 16. perforce.com • C: •C11 Support •Compiler Extensions Support for C11 and C++14 • C++: •Modern C++ Features: • constexpr • __has_include • thread_local • designated initializers (as proposed for C++ ‘2x) COMPLIANCE
  • 17. perforce.com Example Tainted Data Check: • Tainted object used as a format string (T25167): • 4916 Definite: Using a tainted variable as format string. • 4917 Apparent: Using a tainted variable as format string. • 4918 Suspicious: Using a tainted variable as format string. • 4919 Possible: Using a tainted variable as format string. • CERT C FIO30 (Exclude user input from format strings) is now reported due to implementing this check. Dataflow Enhancements for Secure Coding COMPLIANCE
  • 18. perforce.com • Continual improvements in accuracy (defects found/defects present) and precision (true positives/defects found). • Improved analysis speed and incremental Cross Module Analysis. • Unified project transfer speed optimization – typical 50% improvement (project dependent). Performance Improvements Spring ’18 (PRQA Framework 2.3) Spring ’19 (Helix QAC 2019.1) Analysis time 5:40 3:17 (2nd run with 1 changed file: 0:26) Example large test project (c. 2k C files): COMPLIANCE
  • 19. perforce.com Framework GUI Improvements • The severity filter now functions without an apply button. • Improved responsiveness of file tree. • File tree displays the correct folder structure for header files. • Option to hide source and header files with zero diagnostics. • Optional sorting order (same as Dashboard).
  • 20. perforce.com • Changes to the rule configuration can be made in the Framework GUI (no need to use ‘ConfigGUI’ utility). • Baseline configuration is included in Unify project information. Desktop to Dashboard Synchronization
  • 21. perforce.com • Suppress instances of messages generated against code expanded from a macro. • Justification comment can be added. • Syntax is identical to existing comment annotations with “MS NAME” instead of “S”. Named Macro Suppressions
  • 22. perforce.com Searchable Help Support for Boolean search operators – similar to search engine.
  • 23. perforce.com Helix QAC Roadmap C a t e g o r y S p r i n g 2 0 1 9 F a l l 2 0 1 9 2 0 2 0 C Language Features Complete ISO C11 Language Features C Compliance Modules MISRA C Coverage Accuracy Enhancements MISRA C11 Compliance Module Complete CERT C Coverage MISRA C90/C99 switch CERT C Coverage Enhancements C++ Language Features Complete ISO C++11/14 Language Features ISO C++17 Language Feature Coverage Complete ISO C++17 Language Features C++ Compliance Modules AUTOSAR Update to 18.10 AUTOSAR Coverage Enhancements Complete AUTOSAR Coverage Productivity Desktop/Centralized Sync. (‘Unified’) Eclipse v4.12 Support API access to analysis data Searchable Help Visual Studio ‘19 Support Performance Cross Module Analysis Speed Improvement Improved Analysis and Reporting Speed QA Verify Upload Speed Improvement Reduced Disk Usage Note: This information outlines some of our current product plans. It does not represent a binding commitment. The development, release, and timing of any products, features or functionality remain at the discretion of Perforce, and are subject to change.
  • 24. perforce.com Upgrade to the Latest Version Check Out the What’s New Page https://www.perforce.com/products/helix-qac/whats-new-helix-qac Request Support https://www.perforce.com/support/request-support