Kendra M.L. Cooper
The University of Texas at Dallas



Dr. Cooper is an Associate Professor in Computer Science at the University of Texas at Dallas. She holds a B.A.Sc., M.A.Sc. and a Ph.D, all in Electrical and Computer Engineering from The University of British Columbia, Canada. Her research interests include the use of COTS components, metrics, empirical analysis, and formal methods in requirements engineering and software architecture. Dr. Cooper also has industrial experience in the requirements specification and architectural design of complex, large scale, software intensive systems. Before joining UTD, she worked as a senior systems engineer on Motorola's GPRS core network project developing system requirements and extending the product architecture.

Dr. Cooper's graduate studies have focused on the requirements specification phase in the software engineering lifecycle. In her Master's research, Dr. Cooper developed a new Petri net model, Time Stream Petri Nets with User Interactions (TSPNUI), which supports the specification of user interaction and jitter requirements for multimedia applications. Continuing in the area of requirements engineering for her Ph.D. research, she developed a requirements specification language, the Stimulus Response Requirements Specification Notation (SRRS), that looks like natural language text yet is amenable to automated tool support (e.g., typechecking, translation to high order logic, generation of test specifications, etc.). As part of this research, an experimental evaluation demonstrated that using this notation reduces the costs of developing software requirements specifications by 39% and reduces the number of defects detected in peer reviews by 81%. Tool support for the notation had been developed for the language using lex, yacc, and C (approximately 20 KSLOC).

At the University of Texas at Dallas, Dr. Cooper is a member of the Software Engineering Group and the Embedded Software Center. Her research is focussed on topics in requirements engineering and software architecture. Dr. Cooper has been working on fascinating projects in three paradigms: component-based software engineering (CBSE), aspect-oriented software development (AOSD) and, most recently, product-line engineering (PLE) methodologies. A common theme in these projects is the systematic modularization and re-use of software engineering artifacts. Although the re-usable artifacts are specific to each approach (e.g., components in CBSE, aspects in AOSD, core assets in PLE), they share key characteristics: 1) the re-usable artifacts may be at multiple levels of abstraction (requirements, design, code); 2) the behavior of the artifacts needs to be rigorously represented (both functional and quality/non-functional); 3) techniques are needed to systematically reason about the artifacts.