17021 Combs Drive
King George, VA 22405
DVP term expires December 2013
Paul Croll is the current IEEE Computer Society Vice President for Technical and Conference Activities, and a Fellow in CSC’s Defense Group where he is responsible for researching, developing and deploying systems and software engineering practices, including practices for cybersecurity.
Paul has over thirty-five years experience in mission-critical systems and software engineering. His experience spans the full life cycle and includes requirements specification, architecture, design, development, verification, validation, test and evaluation, and sustainment for complex systems and systems-of-systems. He has brought his skills to high profile, cutting edge technology programs in areas as diverse as surface warfare, air traffic control, computerized adaptive testing, and nuclear power generation.
Paul has been an active Computer Society volunteer for over 25 years, working primarily to engage researchers, educators, and practitioners in advancing the state of the practice in software and systems engineering. He was most recently Chair of the Technical Council on Software Engineering and is also the current Chair of the IEEE Software and Systems Engineering Standards Committee. Paul is also the past Chair and current Vice Chair of the ISO/IEC JTC1/SC7 U.S. Technical Advisory Group (SC7 TAG).
Paul is also active in industry organizations and is the Industry Co-Chair for the National Defense Industrial Association (NDIA) Software and Systems Assurance Committees, and the Chair of the NDIA Software Industry Experts Panel. In addition, Paul is the Industry Co-Chair of DHS/DoD/NIST Software Assurance Forum Processes and Practices Working Group advancing cybersecurity awareness and practice.
Paul is a Senior Member of the IEEE and a member of the Computer Society’s Golden Core.
Where the Rubber Meets the Code – Static Code Analysis for Software Assurance in the Acquisition Life Cycle
Finding vulnerabilities in code through product testing is often too little, too late. Static code analysis addresses weaknesses in program code that might lead to vulnerabilities and affords the opportunity to uncover such weaknesses early in and throughout the life cycle. Such analysis may be manual, as in code inspections, or automated through the use of one or more tools. Automated static code analyzers typically check source code but there is a smaller set of analyzers that check byte code and binary code, especially useful when source code in not available (e.g for COTS components).
This presentation describes the current state of the practice in static code analysis for software assurance and makes recommendations regarding the use of static analysis methods and tools during the acquisition life cycle.
Architecting Systems to Meet Expectations - Managing Quality Attributes to Reduce Risk
If we are to be successful in delivering systems that meet stakeholder expectations, we must start as early as possible in the design process to understand the extent to which those expectations might be achieved. As candidate system architectures are developed and architecture trade-offs are performed, it is imperative that a set of quantifiable system characteristics is defined and used, against which we can measure success.
This presentation addresses the use of quality attributes as a mechanism for making objective decisions about architectural trade-offs and for providing reasonably accurate predictions about how well candidate architectures will meet stakeholder expectations.
The presentation describes some of the seminal work in the area of architecture definition, architectural tradeoffs, and quality attributes, as well as current standards addressing product quality and evaluation. It also discusses the implications for both the stakeholders and the system developer, of employing a quality-attribute-based approach to architecture definition and trade-off. Lastly, the relationship of such an approach to engineering processes and process maturity is discussed.
System and Software Assurance – Rationalizing Governance, Engineering Practice, and Engineering Economics
Engineering systems and systems of systems (SoSs) is about trade-offs. Generally such trade-offs focus on quality attributes associated with architecture, design, and implementation. From a system and software assurance perspective, the trade space is constrained by an often myriad of governance documents that may include public law, regulatory agency directives, both acquiring and supplying organizations’ policies and procedures, as well as standards and best practices. These numerous documents may in some cases be duplicative in their reporting requirements, or may even conflict with each other. They not only constrain trade-offs, but directly impact system cost.
In the U. S. Federal marketplace alone, there are over two hundred governance documents related to system and software assurance. A recent U. S. Congressional Budget Office review estimated the cost of implementing the Federal Information Security Act of 2008 (FISMA) alone, designed to improve information security throughout the federal government, at US $40 million in 2009 and about US $570 million over the 2009-2013 period.
This presentation discusses rationalizing governance, engineering practice, and engineering economics to produce conformant systems that meet their quality attribute targets for system and software assurance in an optimal, cost-effective fashion. It begins with a description of the governance landscape and addresses defining and trading off system quality characteristics, models for assessing the cost and value of software assurance, addressing multi-dimensional risk, and the delivery of value to the organization, its customers, and its stakeholders.