Gregg Evan Rothermel | |
---|---|
Born | 1959 |
Nationality | American |
Education | B.A., Philosophy M.S., Computer Science Ph.D., Computer Science |
Alma mater | Reed College State University of New York at Albany Clemson University |
Occupation(s) | Computer scientist, software engineer and academic |
Awards | CAREER Award, National Science Foundation ACM Distinguished Scientist, Association for Computing Machinery Fellow, Institute of Electrical and Electronics Engineers (IEEE) |
Scientific career | |
Institutions | North Carolina State University |
Gregg Evan Rothermel is an American computer scientist, software engineer and academic. He is Professor and Head of the Department of Computer Science at North Carolina State University. [1]
Rothermel’s research has focused on software engineering and program analysis, with a particular emphasis on the applications of program analysis techniques to problems in the context of software maintenance and testing, end-user software engineering, and empirical studies. He co-founded the ESQuaReD Laboratory at the University of Nebraska-Lincoln, and the Software-Artifact Infrastructure Repository (SIR). [2] He also co-founded the EUSES Consortium, a group of researchers who, with National Science Foundation's support, have led end-user software engineering research. [3]
Rothermel is an IEEE Fellow and an ACM Distinguished Scientist. [4]
Rothermel earned a B.A. in Philosophy from Reed College in 1983, and an M.S. in Computer Science from the State University of New York at Albany in 1986. He then enrolled at Clemson University and received his Ph.D. degree in Computer Science, under the supervision of Mary Jean Harrold, in 1996. [5]
Rothermel began his academic career as a Teaching Assistant of Computer Science at State University of New York at Albany in 1985. In 1991, he joined Clemson University as a Teaching Assistant in the Department of Computer Science, and became a Research Assistant the following year. He then held a brief appointment at the Ohio State University as a Senior Research Associate in the Department of Computer and Information Science through 1996, before joining Oregon State University as an Assistant Professor of Computer Science. In 2001, he was promoted to Associate Professor at Oregon State. From 2004 through 2018, he served on the faculty of the Department of Computer Science and Engineering at the University of Nebraska – Lincoln as Professor and Jensen Chair of Software Engineering. Since 2018, he has been serving as Professor and Head of the Department of Computer Science at North Carolina State University. [1]
Rothermel has published over 230 articles, has been cited over 24,000 times, and has a Google Scholar H-index of 75. He holds two U.S. Patents [6] [7]
Rothermel has received recognition for his pioneering contributions in developing and empirically evaluating regression testing techniques. He was among the first researchers to propose and empirically study test case prioritization techniques. [8] [9] He also published a paper highlighting the issues regarding regression test selection techniques, and used these issues as the basis for a framework within which to evaluate the techniques. [10]
Rothermel has also worked on "end-user software engineering". [11] His research is concerned with enabling non-professional programmers to create more dependable systems while developing programs such as spreadsheets, web macros, and web mashups. In 2001, he introduced and explored a methodology to adapt data flow adequacy criteria and coverage monitoring to the task of testing spreadsheets. [12]
Code review is a software quality assurance activity in which one or more people check a program, mainly by viewing and reading parts of its source code, either after implementation or as an interruption of implementation. At least one of the persons must not have authored the code. The persons performing the checking, excluding the author, are called "reviewers".
Jack Joseph Dongarra is an American computer scientist and mathematician. He is a University Distinguished Professor of Computer Science in the Electrical Engineering and Computer Science Department at the University of Tennessee. He holds the position of a Distinguished Research Staff member in the Computer Science and Mathematics Division at Oak Ridge National Laboratory, Turing Fellowship in the School of Mathematics at the University of Manchester, and is an adjunct professor and teacher in the Computer Science Department at Rice University. He served as a faculty fellow at the Texas A&M University Institute for Advanced Study (2014–2018). Dongarra is the founding director of the Innovative Computing Laboratory at the University of Tennessee. He was the recipient of the Turing Award in 2021.
Peter Pin-Shan Chen is a Taiwanese American computer scientist. He is a (retired) distinguished career scientist and faculty member at Carnegie Mellon University and Distinguished Chair Professor Emeritus at LSU. He is known for the development of the entity–relationship model in 1976.
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.
Harlan D. Mills was professor of computer science at the Florida Institute of Technology and founder of Software Engineering Technology, Inc. of Vero Beach, Florida. Mills' contributions to software engineering have had a profound and enduring effect on education and industrial practice. Since earning his Ph.D. in Mathematics at Iowa State University in 1952, Mills led a distinguished career.
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.
Virgil Dorin Gligor is a Romanian-American professor of electrical and computer engineering who specializes in the research of network security and applied cryptography.
Elaine Jessica Weyuker is an ACM Fellow, an IEEE Fellow, and an AT&T Fellow at Bell Labs for research in software metrics and testing as well as elected to the National Academy of Engineering. She is the author of over 130 papers in journals and refereed conference proceedings.
In computer science, empirical algorithmics is the practice of using empirical methods to study the behavior of algorithms. The practice combines algorithm development and experimentation: algorithms are not just designed, but also implemented and tested in a variety of situations. In this process, an initial design of an algorithm is analyzed so that the algorithm may be developed in a stepwise manner.
Carlo Ghezzi is an emeritus professor and former chair of software engineering at the Politecnico di Milano, Italy, and an adjunct professor at the Università della Svizzera italiana (USI), Switzerland. At the Politecnico, he has been the Rector's Delegate for research, department chair, head of the PhD program, and member of the academic senate and of the board of governors of Politecnico.
Metamorphic testing (MT) is a property-based software testing technique, which can be an effective approach for addressing the test oracle problem and test case generation problem. The test oracle problem is the difficulty of determining the expected outcomes of selected test cases or to determine whether the actual outputs agree with the expected outcomes.
T.H. Tse is a Hong Kong academic who is a professor and researcher in program testing and debugging. He is ranked internationally as the second most prolific author in metamorphic testing. According to Bruel et al., "Research on integrated formal and informal techniques can trace its roots to the work of T.H. Tse in the mid-eighties." The application areas of his research include object-oriented software, services computing, pervasive computing, concurrent systems, imaging software, and numerical programs. In addition, he creates graphic designs for non-government organizations.
Axel van Lamsweerde is a Belgian computer scientist and Professor of Computing Science at the Universite catholique de Louvain, known for his work on requirements engineering and the development of the KAOS goal-oriented modeling language.
Alan F. Blackwell is a New Zealand-British cognition scientist and professor at the Computer Laboratory, University of Cambridge, known for his work on diagrammatic representation, on data and language modelling, investment modelling, and end-user software engineering.
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.
Tore Dybå is a Norwegian scientist and software engineer in the fields of information systems and computer science. He has been a Chief Scientist at SINTEF ICT since 2003.
David Notkin was an American software engineer and professor of computer science.
Tsong Yueh Chen is an Australian academic at the Swinburne University of Technology who is a professor and researcher in program testing and debugging. He is ranked internationally as the most prolific author in metamorphic testing.