The document discusses testing embedded software and highlights several challenges and opportunities. It notes that while embedded systems are diverse, there are now many open hardware platforms like Arduino, TinyOS, Android and ROS that enable more academic research. However, properties to test for are difficult to define as embedded systems interact continuously with the physical world. The document advocates using tools like static analysis, contracts and model checking to test for stack overflow, interface correctness, memory safety and application-level distributed properties. Many bugs were found this way in existing systems like TinyOS.