  The quality and correct functioning of software components embedded in
electronic systems are of utmost concern especially for safety and
mission-critical systems. Model-based testing and formal verification
techniques can be employed to enhance the reliability of software systems.
Formal models form the basis and are prerequisite for the application of these
techniques. An emerging and promising model learning technique can complement
testing and verification techniques by providing learned models of black box
systems fully automatically. This paper surveys one such state of the art
technique called model learning which recently has attracted much attention of
researchers especially from the domains of testing and verification. This
survey paper reviews and provides comparison summaries highlighting the merits
and shortcomings of learning techniques, algorithms, and tools which form the
basis of model learning. This paper also surveys the successful applications of
model learning technique in multidisciplinary fields making it promising for
testing and verification of realistic systems.
