Experimental Software Engineering
Encyclopedia
Experimental software engineering is a sub-domain of software engineering
focusing on experiment
s on software system
s (software products, processes, and resources). It is interested in devising experiments on software, in collecting data from these experiments, and in devising laws and theories from this data. Proponents of experimental software engineering advocate that experimentation is an important method in contributing to accumulation of knowledge in software engineering.
Empirical software engineering is a related concept, sometimes used synonymously with experimental software engineering. Empirical software engineering is a field of research that emphasizes the use of empirical studies of all kinds to accumulate knowledge. Methods used include experiments, variety of case studies, surveys, and statistical analyses.
suggests a cycle of observations, laws, and theories to advance science. Experimental software engineering applies this method to software.
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
focusing on experiment
Experiment
An experiment is a methodical procedure carried out with the goal of verifying, falsifying, or establishing the validity of a hypothesis. Experiments vary greatly in their goal and scale, but always rely on repeatable procedure and logical analysis of the results...
s on software system
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...
s (software products, processes, and resources). It is interested in devising experiments on software, in collecting data from these experiments, and in devising laws and theories from this data. Proponents of experimental software engineering advocate that experimentation is an important method in contributing to accumulation of knowledge in software engineering.
Empirical software engineering is a related concept, sometimes used synonymously with experimental software engineering. Empirical software engineering is a field of research that emphasizes the use of empirical studies of all kinds to accumulate knowledge. Methods used include experiments, variety of case studies, surveys, and statistical analyses.
Rationale
The scientific methodScientific method
Scientific method refers to a body of techniques for investigating phenomena, acquiring new knowledge, or correcting and integrating previous knowledge. To be termed scientific, a method of inquiry must be based on gathering empirical and measurable evidence subject to specific principles of...
suggests a cycle of observations, laws, and theories to advance science. Experimental software engineering applies this method to software.
Research Labs
There are a number of labs at Universities, research institutes, and in industry that specialise in empirical software engineering, these include:- International Software Engineering Research Network (ISERN)
- Fraunhofer Institute for Experimental Software Engineering (IESE)
- Sheffield Software Engineering ObservatorySheffield Software Engineering ObservatoryThe Sheffield Software Engineering Observatory was founded in 2005 by an EPSRC grant at the University of Sheffield. The Observatory is a multi-disciplinary collaboration between the and the at the University of Sheffield.- Overview :...
- Simula Research Laboratory
- COPPE/UFRJ Experimental Software Engineering Group
- University of Oslo