Skip to content. Skip to main navigation.

avatar

Dennis Frailey

Name

[Frailey, Dennis]

Biography

Dennis has had a long career in computing, starting in 1962 as a software developer for the Ford Motor Company in Dearborn, Michigan. His technical specialties over the years have included compilers, operating systems, computer architecture, software process improvement, software project management, software measurement, software quality engineering, and cycle time reduction - he has publications in all of these areas and retains an interest in all of them.

He earned a BS in Mathematics at the University of Notre Dame in 1966 and went on to earn an MS (1968) and PhD (1971) in Computer Science from Purdue University. (His doctoral dissertation was on code optimization techniques that were independent of the language being compiled or the target machine.) He moved to the DFW area in 1971 to take a position of Assistant Professor in the new Department of Computer Science at SMU. Since that time his career has combined both academic and industrial positions. 

Dennis designed and taught much of the Computer Science and Engineering curriculum at SMU and was promoted to Associate Professor with Tenure in 1976. His work on operating system design for  real-time applications led to offers from industry and he left his full-time academic position in 1977 to work in engineering and research at Texas Instruments. However he continued teaching computer science as an adjunct professor.

In 1980 Dennis was transferred to TIs computer division in Austin, TX, where he helped design advanced computers and operating systems and taught as an adjunct professor at the University of  Texas at Austin. Returning to DFW in 1986, he resumed adjunct teaching at SMU and led several major software projects at TIs defense systems division in Lewisville and McKinney. He later became a  leader in efforts to improve engineering development processes.  

In 1996, Raytheon acquired TIs defense division, so Dennis continued on at Raytheon where he held  various management and technical leadership positions.  He was elevated to Fellow and, later, Principal Fellow at Raytheon.  He also became involved in engineering leadership activities, and was both the developer and instructor for several internal courses in software management and program management.

Dennis retired from Raytheon in 2010, but continues as a consultant for several engineering firms around the US and also continues to teach on an adjunct basis at SMU and UT Arlington.

Professionally, Dennis has been very active.  He was ACM regional representative for the South Central region in the 1980s and was later elected Vice President of the ACM and became an ACM Fellow. He has been involved throughout his career in ACM and IEEE committees, conferences and other activities.  Hes also been an ACM Distinguished Lecturer for over 30 years and has given talks at almost 200 ACM chapters. He was President of the DFW Association for Software Engineering Excellence in the 1990s, and  was a member of the IEEE Computer Societys Board of Governors from 2011-2016 as well as being a speaker in their Distinguished Visitor program. 

Dennis helped start the software engineering program at SMU in the 1990s and has taught in that program (as an adjunct professor) ever since. He has also taught in extension programs at UCLA and UT Austin, and he joined UT Arlington as an adjunct faculty member in 2014. Hes also been an ABET accreditation program evaluator since 1986. Hes a frequent contributor to blogs and newsgroups on computer science and software engineering education, often presenting the industry perspective on current topics. He was recipient of the 2008 ACM SIGCSE Lifetime Service Award in Computer Science Education and the 2013 IEEE Computer Society Nancy Mead Award for Contributions  to Software Engineering Education.

Professional Preparation

    • 1971 PhD in Computer SciencePurdue University, West Lafayette, IN
    • 1968 MS in Computer SciencePurdue University, West Lafayette, IN
    • 1966 BS in MathematicsUniversity of Notre Dame

Appointments

    • Jan 2011 to Dec 2016 Member of Board of Governors
      IEEE Computer Society
    • Sept 1992 to Aug 1993 Chairman
      Association for Software Engineering Excellence
    • June 1986 to May 1988 Vice President
      Association for Computing Machinery (ACM)

Memberships

  • Membership
    • June 1965 to Present Association for Computing Machinery (ACM)
  • Member
    • Sept 1990 to Present Association for Software Engineering Excellence
    • Jan 1976 to Present IEEE

Awards and Honors

    • May  2013 Namcy Mead Award for Contributions to Software Engineering Education sponsored by Conference on Software Engineering Education and TrainingIEEE Computer Society
      Achievements:

      Many contributions to the development and advancement of software engineering education including program formation, conference technical program chairmanships, conference steering committees, presentations, accreditation activities, contributions to bodies of knowledge and encyclopedias, teaching, and promotion as well as innumerable hours of committee work.

    • Mar  2008 Lifetime Achievement Award in Computer Science Education sponsored by ACM Special Interest Group in Computer Science Education
      Achievements:

      A long career of contributing to computer science education in both the academic and industrial environments and, especially, for contributing to cross fertilization between these two.

      Description:

      For 40 years of exceptional service in industry and academia that stimulated a combined synergy which promoted educational excellence in software engineering and computing education.

Courses

      • CSE 6329-002 Software Metrics and Quality Engineering

        Software is replacing hardware devices and human decision making in many modern applications. More and more of those applications are safety critical, intended for use in remote locations, intended to remain in use for long periods of time or have other characteristics that demand very high quality. There is also intense pressure to produce software quickly and efficiently. This course covers how to manage and improve the quality, productivity and speed of software development by applying quality engineering, measurement and other techniques to software development projects. The course presents modern methods of achieving high quality software, with emphasis on pragmatic issues and use of examples from real applications. The course focuses on the importance of process definition, measurement and continuous improvement as part of a discipline of quality engineering. Topics include software measurement (principles and practice), conducting and evaluating experiments, data analysis, causal techniques such as Bayesian networks, value-added analysis, cost-of-quality analysis, software reliability, six sigma and zero defects, statistical process control and quantitative process management, productivity measures and productivity improvement, selection of appropriate measures for improving the software development process and assessing/assuring quality, as well as methods of analyzing failures such as root cause analysis. Specific measures and their uses are discussed along with pitfalls and risks in using measurement. The course is designed to delve into measurement and quality topics beyond those covered in CSE5325 -- the prerequisite for this course.

        Fall - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 6329-002 Software Metrics and Quality Engineering

        Software is replacing hardware devices and human decision making in many modern applications. More and more of those applications are safety critical or have other characteristics that demand very high quality. There is also intense pressure to produce software quickly and efficiently. This course covers how to manage and improve the quality, productivity and speed of software development by applying quality engineering, measurement and other techniques to software development projects. The course presents modern methods of achieving high quality software, with emphasis on pragmatic issues and use of examples from real applications. The course focuses on the importance of process definition, measurement and continuous improvement as part of a discipline of quality engineering. Topics include software measurement (principles and practice), conducting and evaluating experiments, data analysis, causal techniques such as Bayesian networks, value-added analysis, cost-of-quality analysis, software reliability, six sigma and zero defects, statistical process control and quantitative process management, productivity measures and productivity improvement, selection of appropriate measures for improving the software development process and assessing/assuring quality, as well as methods of analyzing failures such as root cause analysis. Specific measures and their uses are discussed along with pitfalls and risks in using measurement. The course is designed to delve into measurement and quality topics beyond those covered in CSE5325 -- the prerequisite for this course. 

        Spring - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 6329-002 Software Metrics and Quality Engineering

        Software is replacing hardware devices and human decision making in many modern applications. More and more of those applications are safety critical or have other characteristics that demand very high quality. There is also intense pressure to produce software quickly and efficiently. This course covers how to manage and improve the quality, productivity and speed of software development by applying quality engineering, measurement and other techniques to software development projects. The course presents modern methods of achieving high quality software, with emphasis on pragmatic issues and use of examples from real applications. The course focuses on the importance of process definition, measurement and continuous improvement as part of a discipline of quality engineering. Topics include software measurement (theory and practice), value-added analysis, cost-of-quality analysis, software reliability, six sigma and zero defects, statistical process control, cycle time reduction (including critical chain analysis), productivity measures and productivity improvement, selection of appropriate measures for improving the software development process and assessing/assuring quality, root cause analysis, and quantitative process management. Specific measures and their uses are discussed along with pitfalls and risks in using measurement. The course is designed to delve into measurement and quality topics beyond those covered in CSE5325 -- the prerequisite for this course. 

        Fall - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5320-001 Techniques for Success with Large Software Projects

        As their careers advance, most software developers will take on responsibility for team leadership and will later progress to management of increasingly larger and more complex software development projects. This course is focused on the skills and techniques required for managing medium-to-large-sized software projects. The course delves into topics beyond those covered in CSE5324 and CSE5325 -- those courses and/or experience on realistic software development projects will provide helpful background but they are not prerequisites. Each student will have an opportunity to probe a software project management-related subject in depth, prepare a professional quality research tutorial report, develop an annotated bibliography on their topic, give a presentation on their work, and provide feedback on the presentations of other students. Students may work in teams of two for the presentation and report.

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours1 Document
      • CSE 5320-002 Special Topics in Software Engineering

        Techniques for Success with Large, Complex Software Projects

        This course is a supplement to CSE 5325, focusing on leadership and management topics of interest to those responsible for developing software on large, complex software projects.  The course requires each student to do research on a topic and report on that research to the class and the instructor. via a report and a presentation.

        Fall - Regular Academic Session - 2014 Download Syllabus Contact info & Office Hours1 Document

Service to the Profession

  • Elected
    • Jan 2012 to  Present Member, Board of Governors, IEEE Computer Society

      The Board of Governors is the governing body of the IEEE Computer Society.  Members are elected for three year terms. Dennis Frailey is in his second term as a member.

    • July 1986 to  June 1988 Vice President, ACM

      This is the second highest executive officer for the Association for Computing Machinery

    • July 1981 to  June 1986 Regional Representative on ACM Council (for South Central Region of ACM)

      Regional representatives are members of the ACM Council, the governing body of the ACM.  Dennis represented the South Central region (Texas, Oklahoma, New Mexico, Louisiana, Arkansas) for several years before being elected vice president of ACM in 1986.

  • Appointed
    • July 1986 to  Present Program Evaluator in Software Engineering, Computer Engineering and Computer Science for ABET

      ABET is the organization that accredits academic programs in engineering and related fields in the US and certain other countries.  A program evaluator is a member of the profession who visits programs to assess their compliance with the ABET criteria in their specific engineering disciplines.  Dennis Frailey has evaluated over 25 programs since 1986.

    • Jan 1985 to  Present Distinguished Lecturer for ACM and Distinguished Visitor for IEEE Computer Society

      These are individuals who give talks to local chapters of professional societies on topics of interest.  Dennis Frailey speaks on a variety of topics ranging from careers in computing to distance education to software engineering.

    • Jan 1996 to  Present Fellow of ACM

      ACM Fellows are distinguished by their contributions to the computing profession and to the goals of ACM. Dennis Frailey was recognized for advances in real-time operating systems, optimizing compilers and computer architecture, and for leadership in computer science education.

    • July 2002 to  June 2011 Member, and later Chair of industry Advisory Committee for Texas Board of Professional Engineers

      This committee advises the Texas Board of Professional Engineers on matters of concern to industry.  Duties include giving advice on proposed legislation and proposing changes to existing rules and procedures.  In particular, the Texas Board was the first in the US to recognize software engineering as a form of professional engineering and the Advisory Committee was a major factor in both promoting this and in advising the Board on specifics, such as how to properly evaluate competence in software engineering.