Jeff Offutt

Last updated
Jeff Offutt
JeffOffutt-small.jpg
Offutt in 2002
Born (1961-04-30) April 30, 1961 (age 62)
Lexington, Kentucky, U.S.
Alma mater Georgia Institute of Technology [1]
Scientific career
Fields Software engineering, computer science
Institutions George Mason University, Clemson University
Thesis Automatic Test Data Generation  (1988)
Doctoral advisor Richard DeMillo
Website cs.gmu.edu/~offutt/

Jeff Offutt is a professor of Software Engineering at the University at Albany, SUNY [2] . [1] His primary interests are software testing and analysis, web software engineering, and software evolution and change-impact analysis. [3]

He is the author of Introduction to Software Testing with Paul Ammann published by Cambridge University Press. He is the editor-in-chief of Software Testing, Verification and Reliability with Robert M. Hierons. He also helped create the IEEE International Conference on Software Testing, Verification, and Reliability and was the first chair of its steering committee.

In 2019, Offutt received the Outstanding Faculty Award from the State Council of Higher Education for Virginia, the highest honor for faculty at Virginia's public and private colleges and universities. The award recognizes accomplishments in teaching, research, and public service. [4] He won the Teaching Excellence Award, Teaching with Technology, from George Mason University in 2013. [5]

Offutt is known for many fundamental contributions to the field of software testing, in particular mutation testing, [6] [7] model-based testing, [8] bypass testing of web applications, [9] and automatic test data generation. [10] [11]

Dr. Offutt received his undergraduate degree in mathematics and data processing in 1982 (double major) from Morehead State University, and master's (1985) and PhD (1988) in computer science from the Georgia Institute of Technology. He was on the faculty of Clemson University before joining George Mason in 1992.

He is the son of Andrew J. Offutt and brother of Chris Offutt. He is married to Jian and has three children, Stephanie, Joyce, and Andrew.

Related Research Articles

<span class="mw-page-title-main">Fred Brooks</span> American computer scientist (1931–2022)

Frederick Phillips Brooks Jr. was an American computer architect, software engineer, and computer scientist, best known for managing the development of IBM's System/360 family of computers and the OS/360 software support package, then later writing candidly about those experiences in his seminal book The Mythical Man-Month.

<span class="mw-page-title-main">Model-based testing</span>

Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), or to represent testing strategies and a test environment. The picture on the right depicts the former approach.

In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks. Typically, fuzzers are used to test programs that take structured inputs. This structure is specified, e.g., in a file format or protocol and distinguishes valid from invalid input. An effective fuzzer generates semi-valid inputs that are "valid enough" in that they are not directly rejected by the parser, but do create unexpected behaviors deeper in the program and are "invalid enough" to expose corner cases that have not been properly dealt with.

Mutation testing is used to design new software tests and evaluate the quality of existing software tests. Mutation testing involves modifying a program in small ways. Each mutated version is called a mutant and tests detect and reject mutants by causing the behaviour of the original version to differ from the mutant. This is called killing the mutant. Test suites are measured by the percentage of mutants that they kill. New tests can be designed to kill additional mutants. Mutants are based on well-defined mutation operators that either mimic typical programming errors or force the creation of valuable tests. The purpose is to help the tester develop effective tests or locate weaknesses in the test data used for the program or in sections of the code that are seldom or never accessed during execution. Mutation testing is a form of white-box testing.

The cleanroom software engineering process is a software development process intended to produce software with a certifiable level of reliability. The central principles are software development based on formal methods, incremental implementation under statistical quality control, and statistically sound testing.

Paul Alexander Desmond de Maine was a leading figure in the early development of computer-based automatic indexing and information retrieval and one of the founders of academic computer science in the 1960s.

A software regression is a type of software bug where a feature that has worked before stops working. This may happen after changes are applied to the software's source code, including the addition of new features and bug fixes. They may also be introduced by changes to the environment in which the software is running, such as system upgrades, system patching or a change to daylight saving time. A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before. Various types of software regressions have been identified in practice, including the following:

Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.

In software engineering, software aging is the tendency for software to fail or cause a system failure after running continuously for a certain time, or because of ongoing changes in systems surrounding the software. Software aging has several causes, including the inability of old software to adapt to changing needs or changing technology platforms, and the tendency of software patches to introduce further errors. As the software gets older it becomes less well-suited to its purpose and will eventually stop functioning as it should. Rebooting or reinstalling the software can act as a short-term fix. A proactive fault management method to deal with the software aging incident is software rejuvenation. This method can be classified as an environment diversity technique that usually is implemented through software rejuvenation agents (SRA).

Jeff S. Shamma is an American control theorist. He is the Department Head and Professor of Industrial and Enterprise Systems Engineering at the University of Illinois Urbana-Champaign. Formerly, he was a Professor of Electrical engineering at the King Abdullah University of Science and Technology. Before that, he held the Julian T. Hightower Chair in Systems & Control Systems and Controls at the Georgia Institute of Technology. He is known for his early work in nonlinear and adaptive control, particularly on gain scheduling, robust control, and more recently, distributed systems.

In computing, software engineering, and software testing, a test oracle is a mechanism for determining whether a test has passed or failed. The use of oracles involves comparing the output(s) of the system under test, for a given test-case input, to the output(s) that the oracle determines that product should have. The term "test oracle" was first introduced in a paper by William E. Howden. Additional work on different kinds of oracles was explored by Elaine Weyuker.

Software Testing, Verification, & Reliability is a peer-reviewed scientific journal in the field of software testing, verification, and reliability published by John Wiley & Sons.

<span class="mw-page-title-main">Roy Billinton</span>

Roy Billinton is a Canadian scholar and a Distinguished Emeritus Professor at the University of Saskatchewan, Saskatoon, Saskatchewan, Canada. In 2008, Billinton won the IEEE Canada Electric Power Medal for his research and application of reliability concepts in electric power system. In 2007, Billinton was elected a Foreign Associate of the United States National Academy of Engineering for "contributions to teaching, research and application of reliability engineering in electric power generation, transmission, and distribution systems."

<span class="mw-page-title-main">Bashir Al-Hashimi</span> Computer engineer

Bashir Mohammed Ali Al-Hashimi, CBE, FRS, FREng, FIEEE, FIET, FBCS is a recognised multidisciplinary global researcher with sustained and pioneering contributions to computer engineering and a prominent academic and higher education leader. He is Vice President and ARM Professor of Computer Engineering at King's College London in the United Kingdom. He was the co-founder and co-director of the ARM-ECS Research Centre, an industry-university collaboration partnership involving the University of Southampton and ARM. He is actively involved in promoting science and engineering for young people and regularly contributes to engineering higher education and skills national debates.

EvoSuite is a tool that automatically generates unit tests for Java software. EvoSuite uses an evolutionary algorithm to generate JUnit tests. EvoSuite can be run from the command line, and it also has plugins to integrate it in Maven, IntelliJ and Eclipse. EvoSuite has been used on more than a hundred open-source software and several industrial systems, finding thousands of potential bugs.

Automatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer. It is also commonly referred to as automatic patch generation, automatic bug repair, or automatic program repair. The typical goal of such techniques is to automatically generate correct patches to eliminate bugs in software programs without causing software regression.

<span class="mw-page-title-main">David Atienza</span> Spanish physicist and materials scientist

David Atienza Alonso is a Spanish/Swiss scientist in the disciplines of computer and electrical engineering. His research focuses on hardware‐software co‐design and management for energy‐efficient and thermal-aware computing systems, always starting from a system‐level perspective to the actual electronic design. He is a full professor of electrical and computer engineering at the Swiss Federal Institute of Technology in Lausanne (EPFL) and the head of the Embedded Systems Laboratory (ESL). He is an IEEE Fellow (2016), and an ACM Fellow (2022).

Abdul Khalek is a Bangladeshi art director and production manager. He won Bangladesh National Film Award for Best Art Direction for the film Agaman (1988).

<span class="mw-page-title-main">Sergiy Vilkomir</span> Ukrainian-born computer scientist (1956–2020)

Sergiy A. Vilkomir was a Ukrainian-born computer scientist.

Gregg Evan Rothermel is an American computer scientist, software engineer and academic born in 1959 living in Apex, North Carolina. He is Professor and Head of the Department of Computer Science at North Carolina State University.

References

  1. 1 2 "People: Jeff Offutt". Volgenau School of Engineering. Archived from the original on 5 June 2010. Retrieved 8 March 2012.
  2. "Jeff Offutt | University at Albany". www.albany.edu. Retrieved 2023-11-29.
  3. "Computer Science Department Faculty". George Mason University. Retrieved March 7, 2012.
  4. "2019 Outstanding Faculty Awards". State Council of Higher Education for Virginia. Retrieved May 29, 2019.
  5. "2013 Teaching Excellence Awards". George Mason University, Mason News. Retrieved May 1, 2013.
  6. DeMillo, Rich; Jeff Offutt (September 1991). "Constraint-Based Automatic Test Data Generation". IEEE Transactions on Software Engineering. 17 (9): 900–910. CiteSeerX   10.1.1.118.8072 . doi:10.1109/32.92910.
  7. Offutt, Jeff (2011). "A Mutation Carol: Past, Present and Future". Information & Software Technology. 53 (10): 1098–1107. CiteSeerX   10.1.1.360.8045 . doi:10.1016/j.infsof.2011.03.007.
  8. Offutt, Jeff; Aynur Abdurazik (October 1999). "Generating Tests from UML Specifications". Second International Conference on the Unified Modeling Language (UML99): 416–429.
  9. Offutt, Jeff; Ye Wu; Xiaochen Du; Hong Huang (November 2004). Bypass Testing of Web Applications. IEEE Proceedings of the 15th International Symposium on Software Reliability Engineering (ISSRE). pp. 187–197. doi:10.1109/ISSRE.2004.13.
  10. Offutt, Jeff; Zhenyi Jin; Jie Pan (January 1999). "The Dynamic Domain Reduction Approach to Test Data Generation". Software: Practice and Experience. 29 (2): 167–193. doi:10.1002/(sici)1097-024x(199902)29:2<167::aid-spe225>3.3.co;2-m.
  11. Offutt, Jeff (August 1988). Automatic Test Data Generation (Ph.D.). Georgia Institute of Technology.