SEI Documents List
[2007] [2006] [2005] [2004] [2003] [2002] [2001] [2000] [1999] [1998] [1997] [1996] [1995] [1994] [1993] [1992] [1991] [1990] [1989] [1988] [1987] [1986] [PDF]
2005 Reports
Handbooks
CMU/SEI-2005-HB-006,
ADA446910
Software Acquisition Planning Guidelines
Novak, W.; Cohen, J.; Lattanze, A.; Levine, L.; Place, P.; Williams, R.; & Woody, C.
Guidance about acquisition planning and strategy is scattered by topic throughout many different books, reports, presentations, and Web sites. This handbook presents guidance for acquisition planning and strategy topics in a condensed form, and references the primary resources available for each topic.
The topics for the guidelines in this handbook represent selected areas in which the SEI has conducted significant research. The guidelines are organized by the acquisition strategy considerations categories from the Defense Acquisition University's Defense Acquisition Guidebook that describe the principal areas of consideration for planning an acquisition strategy. Guidance is offered on 13 topics, including open systems approach, commercial off-the-shelf (COTS)-based systems, software architecture, software sustainment, requirements development, requirements management, operational information assurance, information assurance for COTS sustainment, information asset protection, software testing, software risk management, software metrics, and software-based award fees.
This handbook is intended to provide program managers and project management office staffs with recommendations and resources for addressing different aspects of their acquisition strategy. It illustrates acquisition challenges with program scenarios, suggests actions that should be taken, and identifies danger signs to look for when evaluating progress. A basic knowledge of both software development and acquisition practices is assumed.
http://www.sei.cmu.edu/publications/documents/05.reports/05hb006.html
CMU/SEI-2005-HB-004,
ADA441817
Designing an Effective Survey
Kasunic, M.
A survey can characterize the knowledge, attitudes, and behaviors of a large group of people through the study of a subset of them. However, to protect the validity of conclusions drawn from a survey, certain procedures must be followed throughout the process of designing, developing, and distributing the survey questionnaire.
Surveys are used extensively by software and systems engineering organizations to provide insight into complex issues, assist with problem solving, and support effective decision making.
This document presents a seven-stage, end-to-end process for conducting a survey.
http://www.sei.cmu.edu/publications/documents/05.reports/05hb004.html
CMU/SEI-2005-HB-001,
ADA443137
First Responders Guide to Computer Forensics
Nolan, R.; O'Sullivan, C.; Branson, J.; & Waits, C.
This handbook is for technical staff members charged with administering and securing information systems and networks. It targets a critical training gap in the fields of information security, computer forensics, and incident response: performing basic forensic data collection. The first module describes cyber laws and their impact on incident response. The second module builds understanding of file systems and outlines a best practice methodology for creating a trusted first responder tool kit for investigating potential incidents. The third module reviews some best practices, techniques, and tools for collecting volatile data from live Windows and Linux systems. It also explains the importance of collecting volatile data before it is lost or changed. The fourth module reviews techniques for capturing persistent data in a forensically sound manner and describes the location of common persistent data types. Each module ends with a summary and a set of review questions to help clarify understanding.
This handbook was developed as part of a larger project. The incorporated slides are from the five day hands-on course Forensics Guide to Incident Response for Technical Staff developed at the SEI. The focus is on providing system and network administrators with methodologies, tools, and procedures for applying fundamental computer forensics when collecting data on both a live and a powered off machine. A live machine is a machine that is currently running and could be connected to the network. The target audience includes system and network administrators, law enforcement, and any information security practitioners who may find themselves in the role of first responder. The handbook should help the target audience to
- understand the essential laws that govern their actions
- understand key data types residing on live machines
- evaluate and create a trusted set of tools for the collection of data
- collect, preserve, and protect data from live and powered off machines
- learn methodologies for collecting information that are forensically sound (i.e., able to withstand the scrutiny of the courts)
http://www.sei.cmu.edu/publications/documents/05.reports/05hb001.html
CMU/SEI-2005-HB-003,
ADA443137
First Responders Guide to Computer Forensics: Advanced Topics
Nolan, R.; Baker, M.; Branson, J.; Hammerstein, J.; Rush, K.; Waits, C.; &
Schweinsberg, E.
This handbook expands on the technical material presented in SEI handbook CMU/SEI-2005-HB-001, First Responders Guide to Computer Forensics. While the latter presented techniques for forensically sound collection of data and explained the fundamentals of admissibility pertaining to electronic files, this handbook covers more advanced technical operations such as process characterization and spoofed email. It describes advanced methodologies, tools, and procedures for applying computer forensics when performing routine log file reviews, network alert verifications, and other routine interactions with systems and networks. The material will help system and network professionals to safely preserve technical information related to network alerts and other security issues.
http://www.sei.cmu.edu/publications/documents/05.reports/05hb003.html
CMU/SEI-2005-HB-005,
ADA443682
Handbook for Conducting Standard CMMI Appraisal Method for Process Improvement (SCAMPI) B and C Appraisals, Version 1.1
Hayes, W.; Miluk, G.; Ming, L.; Glover, M.; Members of the SCAMPI B and C
Project
The Standard CMMI Appraisal Method for Process Improvement (SCAMPI) provides a well defined, publicly available set of methodologies for providing appraisals relative to Capability Maturity Model Integration (CMMI) models. It is applicable to a wide range of appraisal usage modes, including both internal process improvement and external capability determinations. With the publication of this handbook, the method is embodied in three standard variants based on the class structure defined in the Appraisal Requirements for CMMI (ARC V1.1). As a set, the SCAMPI methods provide a variety of solutions to accommodate the needs of appraisers who play a variety of different roles. The internal change agent, the professional consultant, and the external auditor all have needs that lead to specific sets of tailoring decisions in the use of process appraisals. Guidance for these needs is provided for each applicable process description. This document defines the boundaries of tailoring and provides guidance for the application of the SCAMPI B and SCAMPI C methods.
http://www.sei.cmu.edu/publications/documents/05.reports/05hb005.html
Special Reports
CMU/SEI-2005-SR-009,
ADA441832
Building Information Assurance Educational Capacity: Pilot Efforts to Date
Sledge, C.
This report describes efforts by the Software Engineering Institute (SEI) to increase the capacity of institutions of higher education to offer information assurance (IA) and information security (IS) courses, to expand existing IA and IS offerings, and to include IA and IS topics and perspectives, as appropriate, in other courses.
To accomplish these goals, the SEI transitions courseware, materials, and a survivability and information assurance curriculum to various departments at institutions of higher education, participates in NSF-funded faculty capacity- building programs, creates partnerships with key regional educational institutions, and offers IA symposia, among other efforts. While the SEI works with all institutions of higher education, there is a particular focus on minority-serving institutions.
Rather than build a new infrastructure to accomplish this, the SEI utilizes partnerships that leverage the strengths of the SEI and the strengths of the partner educational institutions and builds upon existing trusted relationships and infrastructure, and sustains the incorporation of new and evolving materials. Leveraging other complementary programs, events, and organizations broadens the offering and makes it more cost effective to all parties concerned.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr009.html
CMU/SEI-2005-SR-012,
ADA456872
Case Study: Accelerating Process Improvement by Integrating the TSP and CMMI
Wall, D.; McHale, J.; Pomeroy-Huff, M.
This report describes how two U.S. Naval Air Systems Command (NAVAIR) organizations integrated the use of the Software Engineering Institute's (SEI) Team Software Process methodology and the Capability Maturity Modeling framework to progress from Maturity Level 1 to Maturity Level 4 in 30 months. This is less than half of the average time it has taken other organizations to accomplish the same maturity level progression. This case study describes the process improvement efforts of both NAVAIR divisions and how they integrated the two SEI technologies to accelerate process improvement within their organizations. Finally, the report presents the key factors that allowed NAVAIR to achieve these rapid results.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr012.html
CMU/SEI-2005-SR-001,
ADA431063
Interpreting SCAMPISM for a People CMM Appraisal at Tata Consultancy Services
Radice, R.
Tata Consultancy Services (TCS) is a large information technology consulting, services, and business process outsourcing organization interested in reducing the costs of conducting process improvement appraisals at its multiple locations. TCS initiated a pilot to determine whether appraisals could be performed at the enterprise level instead of at each location or center while preserving the integrity of the Standard CMMI® Appraisal Method for Process Improvement V1.1 (SCAMPISM V1.1). The pilot was also used to determine whether a single type of appraisal could be effective in an organization compliant with multiple models.
A pilot Class A SCAMPI appraisal for the People Capability Maturity Model® (People CMM®) was performed jointly with a Class A SCAMPI appraisal for Capability Maturity Model Integration (CMMI) across TCS in 2004. This report includes the draft interpretation guide used for four mini-appraisal pilots and the final enterprise-wide Class A appraisal at TCS. The information in this report could serve as an example for other organizations and is fully applicable to any size SCAMPI appraisal with People CMM.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr001.html
CMU/SEI-2005-SR-003,
ADA441905
Personal Software Process (PSP) Body of Knowledge, Version 1.0, The
Pomeroy-Huff, M.; Mullaney, J.; Cannon, R.; & Sebern, M.
As the profession of software engineering evolves and matures, it must achieve some of the critical elements needed for recognition as a bona fide discipline. Among these elements are the establishment of a recognized body of knowledge (BOK) and certification of professional practitioners.
The body of knowledge contained in this report is designed to complement the IEEE Computer Society's Software Engineering Body of Knowledge (SWEBOK) by delineating the key skills and concepts that compose the knowledge areas and competencies of a proven-effective process improvement method, the Personal Software Process (PSP). As adoption of the PSP methodology continues to grow, it becomes crucial to document the fundamental knowledge and skills that set PSP practitioners apart from other software engineers. The PSP BOK serves this purpose and more. It helps individual practitioners to assess and improve their own skills; provides employers with an objective baseline for assessing the personal process skills and capabilities of their engineers and product development teams; and guides academic institutions that want to incorporate PSP into their software and other engineering courses or curricula. The PSP BOK also facilitates the development of PSP certification programs that are based on a well-established, standard set of knowledge and skills.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr003.html
CMU/SEI-2005-SR-007,
ADA441807
Report on Annual Regional Information Assurance Symposia
Sledge, C.
The Networked Systems Survivability Program at the Carnegie Mellon Software Engineering Institute (SEI) seeks to transition information assurance and information security courseware to institutions of higher education within the United States, with a particular focus on minority-serving institutions. Rather than build an infrastructure to accomplish this, the SEI utilizes partnerships, through Regional Collaborative Clusters, that leverage the strengths of the SEI and the strengths of the partner educational institutions. The SEI builds upon the partner's existing trusted relationships and infrastructure, creating an environment that sustains the incorporation of new and evolving materials, and is more cost-effective for all parties. The annual Regional Information Assurance Symposia are a key transition component of the Regional Collaborative Clusters.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr007.html
CMU/SEI-2005-SR-005,
ADA441304
System Quality Requirements Engineering (SQUARE): Case Study on Asset Management System, Phase II
Gordon, D.; Stehney, T.; Wattas, N.; Vu, E.; & Mead, N.
This report describes the second phase of an application of the System Quality Requirements Engineering (SQUARE) Methodology developed by the Software Engineering Institute's Networked Systems Survivability Program on an asset management system. An overview of the SQUARE process and the vendor is presented, followed by a description of the system under study. The research completed on Steps 4 through 9 of this nine-step process is then explained and feedback on its implementation is provided. The report concludes with a summary of findings and gives recommendations for future considerations of SQUARE testing.
This report is one of a series of reports resulting from research conducted by the SQUARE team as part of an independent research and development project of the Software Engineering Institute.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr005.html
CMU/SEI-2005-SR-014
U.S. Army Acquisition - The Program Office Perspective
Keeler, K.
The U.S. Army Strategic Software Improvement Program (ASSIP) is a multiyear effort to improve the way the Army acquires software-intensive systems. As part of the ASSIP, the Carnegie Mellon Software Engineering Institute (SEI) examined 12 of the Army's Acquisition Category 1 programs, using a method called Bench-marking for Improvement (BFI). The purpose of conducting the BFI engagements was to define the current state of the acquisition practices across the Army, to discover best practices currently in use by Army program offices, and to identify the software challenges that extend across Army programs. As part of the BFI process, the program management office and SEI interview teams worked together to identify Department of Army best practices and shortcomings in the overall acquisition process, as well as potential solutions and recommendations. In addition, the SEI team provided each program manager with an independent view of program-level activities and made specific recommendations for improvement. A briefing provided to each program manager documented these recommendations.
This report documents the results of the interviews conducted during BFI engagements. These results are of interest to Program Executive Office staffs, Program Management Office staffs, and Department of Army staffs that are involved in acquisition.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr014.html
CMU/SEI-2005-SR-002,
ADA441246
U.S. Army Acquisition-The Program Executive Officer Perspective
Blanchette, S.
The U.S. Army Strategic Software Improvement Program (ASSIP) is a multi-year effort to improve the way the Army acquires software-intensive systems. As part of the ASSIP, the Carnegie Mellon Software Engineering Institute interviewed the Army's Program Executive Officers (PEOs) to get their perspectives on the state of Army acquisition of software-intensive systems. The PEOs are senior acquisition professionals with a wealth of experience in Army acquisition and the attempts to improve it in the past.
This report documents the results of the PEO interviews. The PEOs identified shortcomings and some interesting potential solutions in various aspects of the acquisition function, including skills and training, policy, the acquisition organization, metrics, process, commercial off-the-shelf (COTS) products, and facilities and tools.
http://www.sei.cmu.edu/publications/documents/05.reports/05sr002.html
Technical Notes
CMU/SEI-2005-TN-047,
ADA442865
CERT Function Extraction Experiment: Quantifying FX Impact on Software Comprehension and Verification, The
Collins, R.; Hevner, A.; Walton, G.; & Linger, R.
Function Extraction (FX) is a new, theory-based technology for automated calculation of the functional behavior of software. The CERT Function Extraction experiment was conducted so as to better understand the impact of FX on human comprehension and verification of software and to rigorously quantify the business case for FX technology. This report describes the results of the controlled experiment that was performed to compare traditional manual methods of comprehension with automated behavior computation using an FX prototype. The results of the experiment show a substantial increase in human capabilities for software comprehension and verification using FX technology.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn047.html
CMU/SEI-2005-TN-017,
ADA441291
Comparing the SEI's Views and Beyond Approach for Documenting Software Architectures with ANSI-IEEE 1471-2000
Clements, P.
Architecture documentation has emerged as an important architecture-related practice. In 2002, researchers at the Carnegie Mellon Software Engineering Institute completed _Documenting Software Architectures: Views and Beyond_ (V&B), an approach that holds that documenting a software architecture is a matter of choosing a set of relevant views of the architecture, documenting each of those views, and then documenting information that applies to more than one view or to the set of views as a whole. Details of the approach include a method for choosing the most relevant views, standard templates for documenting views and the information beyond them, and definitions of the templates' content. At about the same time, the Institute of Electrical and Electronics Engineers (IEEE) was developing a recommended best practice for describing architectures for software-intensive systems--ANSI/IEEE Std. 1471-2000. Like V&B, that standard takes a multi-view approach to the task of architecture documentation, and it establishes a conceptual framework for architectural description and defines the content of an architectural description.
This technical note summarizes the two approaches and shows how a software architecture document prepared using the V&B approach can be made compliant with Std. 1471-2000.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn017.html
CMU/SEI-2005-TN-030,
ADA442866
Elements of a Usability Reasoning Framework
Lee, J. & Bass, L.
This technical note brings together two different threads of work: (1) investigating the relationship between usability and software architecture that has generated a number of usability scenarios with implications for software architecture and (2) developing an architecture design assistant, Architecture Expert (ArchE). One key element of ArchE is that quality attribute knowledge can be encapsulated into reasoning frameworks, and a Carnegie Mellon University Master of Software Engineering project team has developed an ArchE reasoning language (ARL) with which to specify the actions of reasoning frameworks within ArchE.
This note describes an ARL implementation of two usability scenarios: (1) displaying progress feedback and (2) allowing cancel. These implementations begin to provide ArchE with the ability to reason about aspects of usability that have software architecture implications.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn030.html
CMU/SEI-2005-TN-010,
ADA441310
Eliciting and Analyzing Quality Requirements: Management Influences on Software Quality Requirements
Woody, C.
Early in the literature review for the Independent Research and Development Project for Eliciting and Analyzing Quality Requirements, the potential conflict of quality efforts (perceived as time consuming) with organizational management direction (driven by time-to-market and cost considerations) was identified. Quality attributes are influenced by the selection and development of components that make up a system, as well as the development environment in which the system is created. A variety of information sources, including conferences, workshops, pilot projects, and technical assessments, was tapped to identify specific management barriers to the adoption of improved elicitation approaches and appropriate organizational behaviors that facilitated the use of improved mechanisms for the elicitation and analysis of quality requirements. This report documents the ways in which the organizational and project management environment for system development can support or reject improved quality requirements elicitation mechanisms. In addition, this report identifies specific activities as promoting improved quality requirements elicitation when they are embedded into the system development life-cycle structure.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn010.html
CMU/SEI-2005-TN-041,
ADA446186
Experience Using the Web-Based Tool Wiki for Architecture Documentation
Bachmann, F. & Merson, P.
In an organization that uses an architecture-centric development approach, it is the purpose of the software architecture, especially the product documentation, to guide all stakeholders who contribute in one way or another to the development of the product(s). Unfortunately, in many organizations, this documentation ends up on the shelves, unused and collecting dust. This happens in part because it is difficult to keep the architecture documentation current, hard for nondevelopers to understand what the documents describe, and challenging for nondevelopers to use the tools necessary to access the documentation.
This technical note discusses the benefits and challenges of using a wiki-based collaborative environment to create software architecture documentation. The findings are based on two experiences. The first was that of a team of Carnegie Mellon University Master of Software Engineering (MSE) program students that used the wiki tool in a real- world software project. For its customer, the team had to produce and document the architecture of a system that will be developed by many geographically distributed teams. The second experience was a study conducted by another MSE student to reconstruct and document the architecture of a multitier enterprise application using the wiki tool and UML 2.0.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn041.html
CMU/SEI-2005-TN-042,
ADA443482
Exploring Programmatic Interoperability: Army Future Force Workshop
Smith II, J. & Meyers, B.
This report documents the proceedings of the Future Force Workshop held at the Software Engineering Institute on October 13-14, 2004. It describes the background and motivation for the workshop, provides a brief overview of the workshop activities, and highlights the key observations and conclusions obtained through the course of the workshop and post-workshop analyses. In addition, a set of recommended next steps is described.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn042.html
CMU/SEI-2005-TN-023,
ADA441250
Governing for Enterprise Security
Allen, J.
Governing for enterprise security means viewing adequate security as a non-negotiable requirement of being in business. If an organizations management--including boards of directors, senior executives, and all managers--does not establish and reinforce the business need for effective enterprise security, the organizations desired state of security will not be articulated, achieved, or sustained. To achieve a sustainable capability, organizations must make enterprise security the responsibility of leaders at a governance level, not of other organizational roles that lack the authority, accountability, and resources to act and enforce compliance.
This technical report examines governance thinking, principles, and approaches and applies them to the subject of enterprise security. Its primary intent is to increase awareness and understanding of the issues, opportunities, and possible approaches related to treating security as a governance concern. In addition, this report identifies resources for enterprise security that leaders can use both within their organizations and with their networked partners, suppliers, and customers.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn023.html
CMU/SEI-2005-TN-021,
ADA441305
Information Asset Profiling
Stevens, J.
The steadily increasing technical and environmental complexity of today's globally networked economy presents many obstacles to organizations as they attempt to protect their information assets. Information assets are constantly processed and combined to form new information assets. The line between ownership and custodianship of information assets blurs as information freely flows throughout an organization and often crosses outside organizational boundaries to other entities such as partners, customers, and suppliers. The CERT Survivable Enterprise Management group at the Software Engineering Institute developed the Information Asset Profiling (IAP) process as a tool to help organizations begin to address these security challenges.
The authors describe IAP, a documented and repeatable process for developing consistent asset profiles. They also explain how the development of an information asset inventory using the IAP process provides a strong basis for organizations to begin to identify and address their information security needs.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn021.html
CMU/SEI-2005-TN-035,
ADA441306
Integrated Diagnostics: Operational Missions, Diagnostic Types, Characteristics, and Capability Gaps
Marz, T.
The Acquisition Support Program at the Carnegie Mellon Software Engineering Institute assists organizations that develop Department of Defense hardware/software hybrid systems by participating in technical reviews and other validation activities. During recent customer engagements, it has been noted that some development teams do not demonstrate a consistent understanding of integrated diagnostic system needs. In particular, software engineers seem to lack the experience needed in this area. Since software engineers frequently derive the low-level requirements for developing diagnostic systems, a lack of knowledge about deployed testing environments can have significant impact. Failure to adequately address the integrated testing needs of a system profoundly impacts its supportability and, consequently, the cost of that system throughout its life cycle.
This report attempts to fill in these gaps in knowledge and experience by presenting an overview of the operational diagnostic life cycle of a system. In addition, it outlines how a system's operational profile impacts diagnostic tradeoffs.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn035.html
CMU/SEI-2005-TN-039,
ADA443503
Lessons Learned Model Checking an Industrial Communications Library
Ivers, J.
Model checking is a fully automated formal verification technology that can be used to determine whether models of software satisfy behavioral requirements in such areas as safety, reliability, and security. This report explores the packaging of model checking technology in a reasoning framework. The goal of a reasoning framework is to simplify the analysis of software designs by nonexperts. This report describes the application of such a reasoning framework to the design of an industrial communications library and the problems that were found. This report also notes the tasks that were unreasonably complex or time-consuming and concludes with thoughts on techniques that could be used to develop a model checking reasoning framework that better supports use by nonexperts.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn039.html
CMU/SEI-2005-TN-032,
ADA441906
Mission Assurance Analysis Protocol (MAAP): Assessing Risk in Complex Environments
Alberts, C. & Dorofee, A.
The global business environment continues to grow in complexity. The typical business process is no longer under a single point of management control. Instead, it has become common for management of a work process to be shared among multiple groups. The permanent enterprise, defined by an organizational chart, has been replaced by the virtual enterprise, defined by the mission being pursued. Activities today are rarely supported by dedicated, stand-alone technologies. Rather, interoperable, networked technologies form the backbone of our information infrastructures. Today, managers must deal with interrelationships and dependencies among technologies, data, tasks, activities, processes, and people that were unimaginable just a few short years ago. Unfortunately, conventional risk analysis techniques have proven inadequate for characterizing risk in today's complex operational environments, so it was necessary to develop new and innovative approaches. The Mission Assurance Analysis Protocol (MAAP) defines an advanced, systematic approach for analyzing operational risk and gauging mission assurance in complex work processes. This report presents the concepts and underlying theories behind the MAAP, highlights results from early piloting of the technique, and outlines future research directions.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn032.html
CMU/SEI-2005-TN-022,
ADA441294
Model Problems in Technologies for Interoperability: Model-Driven Architecture
Lewis, G. & Wrage, L.
Model-driven architecture (MDA) is a technology produced and maintained by the Object Management Group (OMG), an open membership, not-for-profit consortium that produces and maintains computer industry specifications for interoperable enterprise applications. This technical note examines two claims regarding the benefits of MDA, namely, that it (1) reduces development time, and (2) allows the developer to focus on business logic rather than on details about the target platform and architecture. Such advantages would greatly benefit interoperability; as target platforms and underlying infrastructure change, deployment of applications would be quick and easy. This note presents the results of applying the model problem approach to verify these claims.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn022.html
CMU/SEI-2005-TN-001,
ADA441815
Pin Component Technology (V1.0) and Its C Interface
Hissam, S.; Ivers, J.; Plakosh, D.; & Wallnau, K.
Pin is a basic, simple component technology suitable for building embedded software applications. Pin implements the container idiom for software components. Containers provide a prefabricated "shell" in which custom code executes and through which all interactions between custom code and its external environment are mediated. Pin is a component technology for pure assembly-systems are assembled by selecting components and connecting their interfaces (which are composed of communication channels called pins).
This report describes the main concepts of Pin and documents the C-language interface to Pin V1.0.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn001.html
CMU/SEI-2005-TN-037,
ADA442575
Proceedings of the First Software Architecture Technology User Network (SATURN) Workshop
Nord, R.; Bass, L.; Clements, P.; Northrop, L.; Tomayko, J.
The first Carnegie Mellon Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop was held on April 6-7, 2005, at the SEI in Pittsburgh, Pennsylvania. Software systems engineers, architects, technical managers, and product managers exchanged best practices and lessons learned in applying SEI software architecture technology in an architecture-driven development or acquisition project. In the closing session, workshop participants noted the following highlights: peer collaboration, shared understanding, SEI technical staff presence, developing metrics that measure benefits, exploring case studies that highlight how to apply architecture- centric methods, learning what's new in software architecture, learning about the acquisition support available for software architecture, and agreeing that software architecture technology has reached the early majority.
This report describes the workshop format, discussion, and results, as well as plans for future SATURN workshops.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn037.html
CMU/SEI-2005-TN-025,
ADA441251
Process for Context-Based Technology Evaluation, A
Lewis, G. & Wrage, L.
In order to determine a fit between systems and technology, it is necessary to evaluate technologies within the contexts that they will be used. This report describes a process called context-based evaluation that determines the fitness of a technology within a specific context. It includes hands-on experimentation with the technology for a greater understanding of its implications, as well as early competence development of the people conducting the experiments. An integral part of the process is the development of model problems; these are prototypes, situated in a specific context, with the goal of satisfying evaluation criteria.
The focus of this report is on evaluation of software technologies, such as Web services, database systems, or architectural frameworks and development tools. The report also includes a case study of the use of this process for the evaluation of Web service technology.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn025.html
CMU/SEI-2005-TN-028,
ADA441309
Product Line Adoption in a CMMI Environment
Jones, L. & Northrop, L.
Many organizations with an existing process improvement initiative are also considering software product line adoption. Managers and technical leaders in these organizations often ask how they can build on their process improvement work and reconcile these two significant change initiatives.
This technical note addresses product line adoption in the context of an organization that is using the Capability Maturity Model Integration (CMMI) models to guide its process improvement effort. Details are provided to show how selected CMMI process areas provide a basis for certain important software product line practices.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn028.html
CMU/SEI-2005-TN-005,
ADA444454
Relationships Between CMMI and Six Sigma
Siviy, J.; Penn, M.; & Harper, E.
Organizations that endeavor to improve their processes often find themselves juggling many approaches to achieve that improvement. To be most effective, all improvement initiatives selected should be implemented in an integrated fashion, not as layered or stovepiped efforts. This document focuses on the joint use of two popular improvement initiatives: Capability Maturity Model Integration (CMMI) and Six Sigma.
Successfully implementing CMMI and Six Sigma together requires an understanding of the relationships between the two. This report contains a brief summary of each initiative and then outlines the connections between frameworks commonly used in Six Sigma and the CMMI process areas. Coupling this knowledge with a conscious strategy enables an organization to create tactical plans and specific mappings to support implementation. Example strategies and tactics that organizations have used to integrate these initiatives are also provided.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn005.html
CMU/SEI-2005-TN-015,
ADA441308
Robustness Testing of Software-Intensive Systems: Explanation and Guide
Cohen, J.; Plakosh, D.; & Keeler, K.
Many Department of Defense (DoD) programs engage in what has been called "happy-path testing" (that is, testing that is only meant to show that the system meets its functional requirements). While testing to ensure that requirements are met is necessary, often tests aimed at ensuring that the system handles errors and failures appropriately are neglected. Robustness has been defined by the Food and Drug Administration as "the degree to which a software system or component can function correctly in the presence of invalid inputs or stressful environmental conditions." This technical note provides guidance and procedures for performing robustness testing as part of DoD or federal acquisition programs that have a software component. It includes background on the need for robustness testing and describes how robustness testing fits into DoD acquisition, including source selection issues, development issues, and developmental and operational testing issues.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn015.html
CMU/SEI-2005-TN-011,
ADA442856
Safety-Critical Systems and the TSP
Humphrey, W.
Because the Team Software Process (TSP) has proven effective for developing high-quality software applications, a brief review of the safety-critical systems field has been conducted to determine whether the TSP could be usefully extended into this area. This technical note provides a brief overview of recent work in software safety, discusses the problems and implications of using the TSP for developing safety-critical systems, and presents some conclusions. This information is relevant to software developers and acquirers of safety-critical software-intensive systems.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn011.html
CMU/SEI-2005-TN-024,
ADA447047
Secure Software Development Life Cycle Processes: A Technology Scouting Report
Davis, N.
As the use of the Internet and networked systems become more pervasive, the importance of developing secure software increases. The purpose of this technical note is to present overview information about existing processes, standards, life cycle models, frameworks, and methodologies that support or could support secure software development. Where applicable and possible, some evaluation or judgment is provided.
The target audience for this technical note includes software engineering process group (SEPG) members, software developers, and managers seeking information about existing software development life cycle (SDLC) processes that address security.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn024.html
CMU/SEI-2005-TN-004,
ADA377385
Self-Assessment and the CMMI-AM--A Guide for Government Program Managers
Blanchette, S. & Keeler, K.
Use of capability maturity models has become commonplace among software development organizations, especially defense contractors. Government program offices, however, have lagged behind contractors in implementing their own process improvement programs. The difference in relative maturity between program offices and contractors sometimes makes it difficult for program offices to adequately gauge the state of their programs. In 2004, the Office of the Secretary of Defense announced the creation of the CMMI Acquisition Module (CMMI-AM). The module aids program offices in developing a level of parity with their suppliers in terms of process maturity.
The first step in any process improvement endeavor is to determine the baseline state. A program office can undergo an external appraisal, but generally that is not a cost-effective solution for an organization that is still a novice in process improvement. For organizations with little process improvement experience, a better choice is to begin with a self-assessment.
This guide provides program managers with general information about the CMMI-AM, details a bout the self- assessment technique, and the questions used in a self-assessment. After reading this guide, program managers can evaluate whether a self-assessment fits their needs, and if so, conduct one.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn004.html
CMU/SEI-2005-TN-029,
ADA441900
SMART: The Service-Oriented Migration and Reuse Technique
Lewis, G.; Morris, E.; O'Brien, L.; Smith, D.; & Wrage, L.
This report describes the Service-Oriented Migration and Reuse Technique (SMART). SMART is a technique that helps organizations analyze legacy systems to determine whether their functionality, or subsets of it, can be reasonably exposed as services in a Service-Oriented Architecture (SOA). Converting legacy components to services allows systems to remain largely unchanged while exposing functionality to a large number of clients through well-defined service interfaces. The U.S. Department of Defense (DoD) is adopting this approach by defining SOAs that include a set of infrastructure common services on which organizations can build additional domain services or applications. SMART considers the specific interactions that will be required by the target SOA and any changes that must be made to the legacy components. An early version of SMART was applied with good success to assist a DoD organization in evaluating the potential for converting components of an existing system into services that would run in a new and tightly constrained DoD SOA environment.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn029.html
CMU/SEI-2005-TN-019,
ADA443494
Software Architecture in DoD Acquisition: An Approach and Language for a Software Development Plan
Bergey, J. & Clements, P.
The right software architecture is essential for a software-intensive system. Meeting behavioral requirements and providing quality attributes such as real-time performance, reliability, and maintainability are essential architectural drivers. Because an architecture comprises the earliest, most important, and most far-reaching design decisions, making sure that the architecture will be fit for purpose is one of the most powerful, technical risk mitigation strategies available to a program office. This technical note covers one avenue of exercising architectural control--the Software Development Plan (SDP). The report provides an example approach and corresponding SDP language that enable software architecture to play a central role in the technical and organizational management of a software development effort. The example is drawn from an actual SDP written by a major U.S. Department of Defense contractor in a weapon-system procurement. The intent is to provide an example for other acquisition organizations to use (and adapt as appropriate) in their own procurements. While the example is based on a contracting approach with a lead system integrator, it can serve as a model for using an architecture-centric approach effectively to unify and manage software development across multiple suppliers, as found in the conventional prime-with-subcontractors acquisition context.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn019.html
CMU/SEI-2005-TN-020,
ADA441292
Software Architecture in DoD Acquisition: A Reference Standard for a Software Architecture Document
Bergey, J. & Clements, P.
The right software architecture is essential for a software-intensive system to meet its functional requirements as well as its quality requirements that govern real-time performance, reliability, maintainability, and a host of other quality attributes. Because an architecture comprises the earliest, most important, and most far-reaching design decisions, it is important for an acquisition organization to exercise its oversight prerogatives with respect to software architecture. Having the right software architecture documentation is a prerequisite for managing and guiding a software development effort and conducting in situ software architecture evaluations. Conducting an architecture evaluation to determine the software architecture's fitness for purpose is one of the most powerful, technical risk mitigation strategies available to a program office.
This report provides an example reference standard for a Software Architecture Document (SAD). An acquisition organization can use this standard to contractually acquire the documentation needed for communicating the software architecture design and conducting software architecture evaluations. The example used in this report is drawn from an actual SAD written by a major U.S. Department of Defense contractor in a weapon system acquisition. The intent of this report is to provide an example for other acquisition efforts to use (and adapt as appropriate) in their own procurements.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn020.html
CMU/SEI-2005-TN-033,
ADA441828
Some Current Approaches to Interoperability
Carney, D.; Fisher, D.; Morris, E.; & Place, P.
This technical note examines some of the complexities of interoperability and some recent research approaches to achieving it. There are many reasons why achieving interoperability between complex, heterogeneous systems is difficult. These include the problem of semantics; the differences between hardware and software; the difference between bounded and unbounded software systems; the need for trust, trustworthiness, and security in software systems; and the difficulty of quantifying interoperability. Many research efforts currently underway are aimed at finding improvements in both technologies and procedures to achieving interoperability more easily. These efforts include work in ontologies, service-oriented architectures, emergent methods, and new approaches to security. While these efforts show many signs of promise, a considerable amount of work will be needed to bring these to a mature state.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn033.html
CMU/SEI-2005-TN-003,
ADA430968
Structured Approach to Classifying Security Vulnerabilities, A
Seacord, R. & Householder, A.
Understanding vulnerabilities is critical to understanding the threats they represent. Vulnerabilities classification enables collection of frequency data; trend analysis of vulnerabilities; correlation with incidents, exploits, and artifacts; and evaluation of the effectiveness of countermeasures. Existing classification schemes are based on vulnerability reports and not on an engineering analysis of the problem domain. In this report a classification scheme that uses attribute- value pairs to provide a multidimensional view of vulnerabilities is proposed. Attributes and values are selected based on engineering distinctions that allow vulnerabilities to be exploited by a given technique or determine which countermeasures are effective. Successful classification of vulnerabilities should lead to greater automation in analyzing code vulnerabilities and supporting effective communication between geographically remote vulnerability handling teams and vendors.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn003.html
CMU/SEI-2005-TN-046,
ADA447053
Topics in Interoperability: Concepts of Ownership and Their Significance in Systems of Systems
Carney, D.; Anderson, W.; & Place, P.
This technical note is a brief examination of the concept of ownership and the ways in which it might apply to systems of systems. It first analyzes ownership itself from a number of perspectives and then describes how ownership is generally understood in the context of computer systems. Next, the note outlines some implications that different notions of ownership will pose for large-scale, complex systems of systems, particularly such systems as those envisioned in network-centric warfare. The note describes several real-world examples of ownership issues that exist in existing systems of systems and posits some areas in which research is necessary.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn046.html
CMU/SEI-2005-TN-031,
ADA444901
Topics in Interoperability: Infrastructure Replacement in a System of Systems
Carney, D.; Smith, J.; & Place, P.
This technical note examines the Common Operations System (COS), a large aggregation of independently developed systems, and the risks posed to it by an infrastructure upgrade. Many large organizations involved in various critical government roles depend on the COS for planning their business operations. When such a large number of applications rely on a complex infrastructure, an attempt to upgrade raises many interoperability issues. The risks involved, and their observed mitigations, are examined in several areas: system interfaces, organizational responsibilities, requirements and functionality, developing an integration process, and testing.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn031.html
CMU/SEI-2005-TN-002,
ADA441303
Topics in Interoperability: System-of-Systems Evolution
Carney, D.; Fisher, D.; & Place, P.
This report examines how interoperable systems of systems evolve. It first considers several ways in which interoperability can be defined and then examines the notion of software evolution itself. Next, it considers how evolution occurs in interoperable systems of systems by discussing issues such as the motivation for and outcome of evolution. Finally, it proposes several properties of evolution that directly affect interoperability-in particular, how interoperability can be maintained as the individual systems evolve.
This report is the first in a series of reports on interoperability. This series will consider the various properties and attributes of interoperability in an effort to determine how to measure the ability of a system to interoperate with other systems; predict the resources needed for successful interoperation; and discover techniques useful to achieving interoperability.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn002.html
CMU/SEI-2005-TN-036,
ADA442689
Taxonomy of Operational Risks, A
Gallagher, B.; Case, P.; Creel, R.; Kushner, S.; & Williams, R.
In 1993, the Carnegie Mellon Software Engineering Institute (SEI) developed a taxonomy-based method for facilitating the systematic and repeatable identification of risks associated with the development of a software-dependent project. Since then, this method has also been used in the Software Risk Evaluation process to identify risks associated with the development of software-intensive systems.
Recently, organizations that employ software-intensive systems have requested that the SEI help identify a baseline set of risks associated with missions performed at operational sites (e.g., satellite ground stations, military units, customer service units). While the concepts embodied in the software-based taxonomy apply in this context, the taxonomy presented in this report has been constructed to better suit an operational environment.
This report presents a taxonomy-based method for identifying and classifying risks to operational aspects of an enterprise. It defines the key sources of risk associated with the mission, work processes, and constraints of an operational organization and establishes a structure for representing operational risks by grouping them into distinct classes, elements, and attributes. In addition, the appendix of this report contains a short taxonomy-based questionnaire that can be used by personnel at operational sites to identify and categorize risks.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn036.html
CMU/SEI-2005-TN-040,
ADA445164
Using Containers to Enforce Smart Constraints for Performance in Industrial Systems
Hissam, S.; Moreno, G.; & Wallnau, K.
Today, software engineering is concerned less with individual programs than with large-scale networks of interacting programs. For large-scale networks, engineering problems emerge that go well beyond functional correctness (the purview of programming) and encompass equally crucial nonfunctional qualities such as security, performance, availability, and fault tolerance. A pivotal challenge, then, is to provide techniques to routinely construct systems that have predictable nonfunctional quality. These techniques impose constraints on the problem being solved and on the form solutions can take. This technical note shows how smart constraints can be embedded in software infrastructure, so that systems conforming to those constraints are predictable by construction.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn040.html
CMU/SEI-2005-TN-016,
ADA441247
Using Earned Value Management (EVM) in Spiral Development
Brownsword, L. & Smith, J.
Earned Value Management (EVM) helps managers to plan, monitor, and control the development and evolution of custom developed software-intensive systems. EVM assumes a waterfall development model. However, to meet the demands for today's complex, dynamic systems, certain trends have emerged. First, projects no longer develop all components of a system as custom components. Instead, projects use pre-existing, off-the-shelf packages, components, or entire systems, potentially with custom components. A second trend is a realization that often requirements are not known in detail at the start of a project and must evolve efficiently in response to changing needs and technology. A further trend (often in response to the first two trends) is the move to other development models, such as spiral or iterative development processes. Spiral development processes can better support 1) the required discovery of what users want and 2) negotiation to reconcile what engineers can quickly and reasonably assemble from pre-existing and custom components.
While projects have applied EVM to spiral development projects, the results have not been uniformly satisfying. This report explores the fundamental challenges in using EVM with spiral development processes and proposes adaptations to some EVM principles to render it more suitable for today's software-intensive systems.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn016.html
CMU/SEI-2005-TN-027,
ADA447001
Using the SEI Architecture Tradeoff Analysis Method to Evaluate WIN-T: A Case Study
Clements, P.; Bergey, J.; & Mason, D.
The software architecture of a software-intensive system greatly determines system quality. Evaluating that architecture for fitness of purpose before the system is implemented or undergoes a major modification is a cost-effective approach to uncovering deficiencies early and reducing risk. When used appropriately, software architecture evaluations can have a favorable effect on a delivered or modified government system.
This technical note describes the application of the SEI Architecture Tradeoff Analysis Method (ATAM) to the U.S. Army's Warfighter Information Network-Tactical (WIN-T) system. The WIN-T system is being developed by a government-contractor team headquartered at the U.S. Army's Communications and Electronics Command (CECOM) in Ft. Monmouth, New Jersey. This technical note presents the WIN-T program context, the definition of software architecture, and the background of the WIN-T organization and system being evaluated. It also provides a general overview of the ATAM process, describes the application of the ATAM to the WIN-T system, presents important results, and summarizes the benefits the program received.
http://www.sei.cmu.edu/publications/documents/05.reports/05tn027.html
Technical Reports
CMU/SEI-2005-TR-021,
ADA444917
Categorizing Business Goals for Software Architectures
Kazman, R. & Bass, L.
Business goals are the foundation on which software systems are justified, analyzed, and built. Software systems are constructed to realize business or mission goals. Software architecture is the bridge between the business goals and the realized system. Those claims about business goals underlie many methods for designing and analyzing software architectures. However, precisely eliciting and characterizing business goals has always been problematic. Business goals come in many forms and at many levels of abstraction, and the stakeholders of the system are usually not accustomed to making goals explicit.
This report provides a categorization of possible business goals, so that stakeholders can have guidance in the goals' creation, expression, and documentation. The categorization was derived by mining a set of 190 distinct business goals elicited in 25 Architecture Tradeoff Analysis Method (ATAM) evaluations and then by performing an affinity diagram process to group the business goals into categories. For each goal, example scenarios are provided to illustrate how the goal might impact a system. Finally, this report shows how the architecture business cycle (ABC) may be extended by the business goal categorization.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr021.html
CMU/SEI-2005-TR-011,
ADA441245
CMMI Acquisition Module (CMMI-AM), Version 1.1
Bernard, T.; Gallagher, B.; Bate, R.; Wilson, H.
Building on relevant best practices extracted from the Capability Maturity Model Integration (CMMI) framework, this report defines effective and efficient practices for acquisition projects. These best practices focus on the activities performed by acquisition professionals in the acquisition program office. They also address internal program office activities that support the monitoring and control of development contractors and suppliers. They provide a foundation for acquisition process discipline and rigor that enables product and service development to be repeatedly executed with high levels of ultimate acquisition success.
This report documents acquisition practices that should be performed by government acquisition projects acquiring systems or services. These practices, however, can also be used by non-government organizations to improve their acquisition practices. This report does not contain prescribed implementation approaches for achieving acquisition best practices. Instead, the proven content of the CMMI framework is used as a base, and amplifications that are specific to the acquisition process have been added.
The information in this report can also be used by acquisition organizations that manage several related acquisition projects (e.g., product centers, acquisition commands, Program Executive Officers, Service/Component acquisition executives) to establish an acquisition process improvement program, ensuring the success of projects in their purview.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr011.html
CMU/SEI-2005-TR-016,
ADA441903
Designing for Reuse of Configurable Logic
Elm, J.
Field-programmable gate arrays (FPGAs) offer electronic systems designers the opportunity to reduce development cost, reduce time-to-market, increase system performance, and improve system adaptability. As FPGAs become larger and more complex, the process of developing firmware for them has evolved to include similarities with the design of complex software subsystems. Reuse of FPGA firmware components can further reduce the system development cost and time-to-market, while also providing product quality improvements.
This technical report provides an overview of a generic FPGA firmware design process and identifies the resulting work products that may be suitable for reuse in future development efforts. It provides a brief summary of research done in the field of software reuse and highlights its applicability to FPGA firmware. This report also provides guidance to developers on the evaluation of firmware components to determine their suitability for reuse and discusses actions that can be taken by both acquirers and developers to produce reusable FPGA firmware.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr016.html
CMU/SEI-2005-TR-015,
ADA441893
Impact of Function Extraction Technology on Next-Generation Software Engineering, The
Hevner, A.; Linger, R.; Collins, R.; Pleszkoch, M.; Prowell, S.; & Walton, G.
Currently, software engineers lack practical means to determine the full functional behavior of complex programs. This gap in intellectual control is the source of many long-standing and intractable problems in security, software, and systems engineering. Function Extraction (FX) technology is directed to automated computation of full program behavior. FX is based on function-theoretic mathematical foundations of software that illuminate algorithmic methods for behavior computation. FX holds promise to replace resource-intensive, error-prone analysis of program behavior in human time scale with fast and correct analysis in computer time scale. The CERT organization of the Software Engineering Institute is conducting research and development in FX technology and is developing a Function Extraction for Malicious Code system to rapidly determine the behavior of malicious code expressed in Assembler Language. FX technology has the potential for transformational impact across the software engineering life cycle, from specification and design to implementation, testing, and evolution. This study investigates these impacts and, based on a survey of software professionals, defines a strategy for FX evolution that addresses high-leverage opportunities first. FX is an initial step in developing next-generation software engineering as a computational discipline.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr015.html
CMU/SEI-2005-TR-004,
ADA441244
Including Interoperability in the Acquisition Process
Meyers, B.; Monarch, I.; Levine, L.; & Smith, J.
This report explores achieving interoperability in the acquisition process. It asserts that interoperability applies to the management and construction of a system, as well as to its operation. This idea leads to a broader view of interoperability. Also presented is the idea that the essential character of interoperability-related to data models and operational semantics-is independent of a domain of application. This report lists a number of basic assertions that can help organizations achieve interoperability in the acquisition process. A number of related key issues are also examined. Ultimately, it is expected that achieving interoperability will depend on a formal specification of acquisition.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr004.html
CMU/SEI-2005-TR-017
Preparing for Automated Derivation of Products in a Software Product Line
McGregor, J.
Organizations that adopt a software product line strategy often have business goals that concern improving their ability to produce products by lowering product development costs, by reducing the time to bring a product to market, or through other production improvements. Business goals such as these make automated product derivation an appealing strategy to a software product line organization. Automating production requires up-front investment, including the creation of both the core assets that will be assembled as products and the core assets that will perform the assembly. A software product line provides the ability to amortize the cost of the infrastructure over a set of products. This report views the process for automating the production of products in the context of a product production system. The process begins with the decision to automate, proceeds to the selection of the automation approach, and continues with the operation and management of the automated production capability. The process is illustrated by a case study automating the production process in the Carnegie Mellon Software Engineering Institute's pedagogical product line.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr017.html
CMU/SEI-2005-TR-014,
ADA441307
QuARS: A Tool for Analyzing Requirements
Lami, G.
Numerous tools and techniques are available for managing requirements. Many are designed to define requirements, provide configuration management, and control distribution. However, there are few automatic tools to support the quality analysis of natural language (NL) requirements. Ambiguity analysis and consistency and completeness verification are usually carried out by human reviewers who read requirements documents and look for defects. This clerical activity is boring, time consuming, and often ineffective.
This report describes a disciplined method and a related automated tool that can be used for the analysis of NL requirements documents. The tool, called the Quality Analyzer for Requirements Specifications (QuARS), makes it easier to extract structured information and metrics for detecting linguistic inaccuracies and defects.
QuARS allows requirements engineers to perform an initial parsing of requirements by automatically detecting potential linguistic defects that can cause ambiguity problems at later stages of software product development. The tool also provides support for the consistency and completeness analysis of the requirements.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr014.html
CMU/SEI-2005-TR-020,
ADA449433
Results of SEI Independent Research and Development Projects and Report on Emerging Technologies and Technology Trends
Chaki; S.; Collins, R.; Feiler, P.; Goodenough, J.; Greenhouse, A.; Hansson, J.;
Hevner, A.; Hudak, J.; Jordan, A.; Kazman, R.; Linger, R.; Pleszkoch, M.; Prowell,
S.; Sharygina, N.; Wallnau, K.; Walton, G.; Weinstock, C.; & Wrage, L.
Each year, the Software Engineering Institute (SEI) undertakes several Independent Research and Development (IR&D) projects. These projects serve to (1) support feasibility studies investigating whether further work by the SEI would be of potential benefit, and (2) support further exploratory work to determine whether there is sufficient value in eventually funding the feasibility study work as an SEI initiative. Projects are chosen based on their potential to mature and/or transition software engineering practices, develop information that will help in deciding whether further work is worth funding, and set new directions for SEI work. This report describes the IR&D projects that were conducted during fiscal year 2005 (October 2004 through September 2005). In addition, this report provides information on what the SEI has learned in its role as a technology scout for developments over the past year in the field of software engineering.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr020.html
CMU/SEI-2005-TR-007,
ADA441248
Reasoning Frameworks
Bass, L.; Ivers, J.; Klein, M.; & Merson, P.
Determining whether a system will satisfy critical quality attribute requirements in areas such as performance, modifiability, and reliability is a complicated task that often requires the use of many complex theories and tools to arrive at reliable answers. This report describes a vehicle for encapsulating the quality attribute knowledge needed to understand a system's quality behavior as a reasoning framework that can be used by nonexperts. A reasoning framework includes the mechanisms needed to use sound analytic theories to analyze the behavior of a system with respect to some quality attribute. This report defines the elements of a reasoning framework and illustrates the reasoning framework concept by describing several reasoning frameworks and how they realize these elements.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr007.html
CMU/SEI-2005-TR-006,
ADA441311
SAT-Based Predicate Abstraction of Programs
Clarke, E.; Kroening, D.; Sharygina, N. & Yorav, K.
Component Formal Reasoning Technology, ComFoRT, is a model-checking-based approach for analysis of component- based software designs. ComFoRT is designed to be used in a prediction-enabled component technology (PECT). A PECT provides a means to reliably predict the runtime qualities (e.g., performance and reliability) of assemblies of components from their certifiable properties (e.g., execution time and behavioral descriptions). ComFoRT uses an abstraction-based approach to cope with the complexity of analysis by reducing the size of the program models to be analyzed. This note presents technical details of a SAT-based predicate abstraction technique used in ComFoRT. The main advantage of the SAT-based method over conventional predicate abstraction techniques is that it does not require an exponential number of theorem prover calls for computing an abstract model. Additionally, the SAT-based approach computes a more precise and safe abstraction compared to existing predicate abstraction methods.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr006.html
CMU/SEI-2005-TR-009,
ADA443493
Security Quality Requirements Engineering
Mead, N.; Hough, E.; & Stehney II, T.
Requirements engineering, a vital component in successful project development, often does not include sufficient attention to security concerns. Studies show that up-front attention to security can save the economy billions of dollars, yet security concerns are often treated as an afterthought to functional requirements. Industry can thus benefit from a model to examine security requirements in the development stages of the production life cycle.
This report presents the Security Quality Requirements (SQUARE) Methodology for eliciting and prioritizing security requirements in software development projects, which was developed by the Software Engineering Institute's Networked Systems Survivability (NSS) Program. The methodology's steps are explained, and results from its application in recent case studies are examined. The NSS Program continues to develop SQUARE, which has proven effective in helping organizations understand their security posture and produce products with verifiable security requirements.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr009.html
CMU/SEI-2005-TR-002,
ADA441885
Software Process Improvement Journey: IBM Australia Application Management Services
Nichols, R. & Connaughton, C.
IBM Global Services Application Management Services (AMS) Australia provides application development and support services, on an outsourcing basis, to a variety of clients. Typically, the organization delivers more than 3,000 work products in a year, with over 1,000 projects completed within overall schedule, budget, and productivity commitments. Client expectations of service standards increase year by year, requiring corresponding improvements in service delivery capability.
In July 1997, IBM Australia began providing application management services to a major client. Services were initially provided by over 2,500 staff members in 17 locations, servicing over 370 applications accessed by more than 55,000 users. Over the next six years, the service delivery teams were transformed into an organization whose practices have now been formally assessed at Capability Maturity Model Integration (CMMI) for Systems Engineering and Software Engineering, Version 1.1 (CMMI-SE/SW, V 1.1) maturity level 5.
Significant improvements to software practices led to improvements in cost, on-time delivery, on-budget delivery, and client satisfaction achievements. Over the same period, an application development productivity improvement of 76 percent delivered cost savings of A$412 million.
In May 2004, the Software Process Achievement Award Committee selected AMS Australia to receive a Software Process Achievement Award in recognition of those achievements. This report describes the history and experiences of the process improvement initiatives that transformed the AMS Australia organization.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr002.html
CMU/SEI-2005-TR-023,
ADA447059
Software Product Lines: Experience from the Eighth DoD Software Product Line Workshop
Bergey, J.; Cohen, S.; Donohoe, P.; & Jones, L.
The Carnegie Mellon Software Engineering Institute held the Eighth Department of Defense (DoD) Product Line Practice Workshop in September 2005. The workshop was a hands-on meeting to share DoD product line practices, experiences, and issues and to discuss ways in which specific product line practices are accomplished within the DoD. Participants reported encouraging progress on DoD software product lines. This report synthesizes the workshop presentations and discussions.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr023.html
CMU/SEI-2005-TR-001,
ADA441835
Software Product Lines: Experiences from the Seventh DoD Software Product Line Workshop
Bergey, J.; Cohen, S.; Donohoe, P.; Jones, L.
The Carnegie Mellon Software Engineering Institute held the Seventh Department of Defense (DoD) Product Line Practice Workshop in September 2004. The workshop was a hands-on meeting to share DoD product line practices, experiences, and issues and to discuss ways in which specific product line practices are accomplished within the DoD. Participants reported encouraging progress on DoD software product lines. This report synthesizes the workshop presentations and discussions.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr001.html
CMU/SEI-2005-TR-003,
ADA441881
Structured Intuitive Model for Product Line Economics (SIMPLE), The
Clements, P.; McGregor, J.; & Cohen, S.
Software product line practice is an effective strategy for developing families of software-intensive products. Business modeling is a fundamental practice that provides input into a number of decisions that are made by organizations using or considering using the product line strategy. This report presents the Structured Intuitive Model of Product Line Economics (SIMPLE), a general-purpose business model that supports the estimation of the costs and benefits in a product line development organization. The model supports decisions such as whether to use a product line strategy in a specific situation, the specific strategy to apply, and the appropriateness of acquiring or building specific assets. This report illustrates the model's scope by presenting several scenarios and its usefulness by integrating it into several product line practice patterns. The report ends with a description of future work aimed at making the model usable by product line practitioners.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr003.html
CMU/SEI-2005-TR-019,
ADA444361
U.S. Army's Common Avionics Architecture System (CAAS) Product Line: A Case Study, The
Clements, P. & Bergey, J.
This report is one in a series of Carnegie Mellon Software Engineering Institute case studies of organizations that have adopted a software product line approach for developing a family of software-intensive systems. The U.S. Army's Technical Applications Program Office (TAPO) has adopted a product line approach for the avionics software used for the Army's special operations helicopters. That software is based on Rockwell Collins' Common Avionics Architecture System (CAAS). The product line has evolved beyond its original scope and is now being adopted to include other Army aviation platforms such as cargo and utility helicopters.
This case study describes the acquisition context and organizations involved in the product line, the history behind the development and evolution of the product line, its application to the mission of the Army's special operations helicopters, the Army's motivation for adopting a product line, specifics of the product line approach, and the underlying CAAS system and software architecture. The case study also highlights the software product line accomplishments, examines the results and lessons learned from TAPO's and Rockwell Collins' perspective, and discusses future considerations.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr019.html
CMU/SEI-2005-TR-012,
ADA450337
Variability in Software Product Lines
Bachman, F. & Clements, P.
Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. The basis of the approach is that products are built from a core asset base, a collection of artifacts that have been designed specifically for use across the portfolio. To account for differences among the software products, some adaptations of the core assets are usually required. These adaptations should be planned before development and made easy for the product developers to use without jeopardizing existing properties of the core assets.
In a product line with a large number of products and core assets, as well as requirements to make fine-grained adjustments, managing variability can become problematic very quickly. Mismanagement may result in adding unnecessary variability, implementing variation mechanisms more than once, selecting incompatible or awkward variation mechanisms, and missing required variations. As the product line grows and evolves, the need for variability increases, and managing the variability grows increasingly difficult.
This report describes the concepts needed when creating core assets with included variability. These concepts provide guidelines to core asset creators on how to model the variability explicitly, so it is handled consistently throughout the product line and managing the variability becomes feasible.
http://www.sei.cmu.edu/publications/documents/05.reports/05tr012.html
[2007] [2006] [2005] [2004] [2003] [2002] [2001] [2000] [1999] [1998] [1997] [1996] [1995] [1994] [1993] [1992] [1991] [1990] [1989] [1988] [1987] [1986] [PDF]