Engineer Guest Post: Four Best Practices for Quality Assurance of Safety Critical Software in Aviation