^

Case study: Pioneering Pedagogy: The Impact of Software Tools on Degree Programs at the University of Alabama in Huntsville


The Client

The University of Alabama in Huntsville Department of Electrical and Computer Engineering is proud to be a leader in cyber physical system technologies, providing specialized graduate and undergraduate degree programs designed to equip students with the skills and knowledge needed to excel in this rapidly evolving field. These programs feature a comprehensive curriculum covering a range of topics, including hardware design, software development, embedded systems, operating systems, networking, and cybersecurity.

The Project

There are several obstacles for curriculum designers developing courses to teach such rapidly evolving technologies. By the time a course is developed and implemented, the technology it covers may already be outdated, leading to a misalignment between the curriculum and the current industry needs. Secondly, universities often struggle to allocate sufficient resources to continuously update and maintain course content. Both points are exacerbated by a lack of well established best practices and standards for new technologies, making it challenging for educators to develop comprehensive and effective teaching materials and methodologies.

Dr. David Coe, Associate Professor in the Department of Electrical and Computer Engineering, knows these challenges well. “It is all too easy for cutting edge technology courses to wind up with syllabi that teach how things used to be done” he said. “Connecting with industry is an ideal way to avoid that scenario and employing the tools currently used by industry helps us to do that.

Embracing the challenges by using commercial software tooling

Among the courses in its curriculum, the university offers three courses that leverage the LDRA tool suite: Software Design and Engineering, Secure Software Development, and Advanced Cybersecurity Engineering. The first course is a foundational course that the other two courses build upon.

Software Design and Engineering

In the Software Design and Engineering course, students work in teams to develop a networked, multiplayer, real-time video game in C++. Students must first complete hands-on skill-building laboratory assignments which provide individual instruction on the use of LDRA static and dynamic analysis tools. Student project teams are then required to perform static and dynamic analysis of their video game product. The static analysis and dynamic analysis reports provide information on potential coding rules violations and test plan code coverage. 

Secure Software Development

In the Secure Software Development course, students build upon their knowledge and experience of performing static and dynamic analysis. The team project involves the development of a custom C-language application, and students must produce reports to demonstrate the high quality of their code, including reports from LDRA tools showing no violations of mandatory CERT-C: 2016 coding rules, helping ensure the code as written is following strong secure coding guidelines which prevents vulnerabilities from entering the code.

Using a coding standard ensures consistency and maintainability in software development, making code easier to read, understand, and update” observed Dr Coe. “It also enhances collaboration and efficiency within development teams by providing a uniform structure that streamlines code reviews and reduces misunderstandings.” Students are also required to document 100% code coverage testing to show that all possible states and transitions in their project has been tested, with the aim of enhancing the reliability and robustness of the software.

 

Advanced Cybersecurity Engineering

Advanced Cybersecurity Engineering is an advanced ethical hacking course that includes two zero-day discovery, hands-on laboratory assignments. One of those exercises requires students to analyze an anonymized application with one or more known CVEs (Common Vulnerabilities and Exposures) documented in the National CVE Database. Students leverage LDRA static analysis with industry coding standards such as Secure C, MISRA C:2012, and CERT-C 2016 to identify the vulnerable code in the unknown application. “The assignment is more impactful when students learn after the fact that they just utilized static analysis to discover real-world vulnerabilities previously reported by cybersecurity researchers.” “We focus on real world applications rather than purely teaching theory” Dr. Coe states. “This approach allows the students to gain a better understanding of cybersecurity concepts and provides experience with the application of cybersecurity tools and best practices in a commercial environment.



“Using a coding standard ensures consistency and
maintainability in software development, making code
easier to read, understand, and update”

 


 

Looking forward with LDRA

Dr Coe is delighted with the benefits of using the LDRA tool suite in the course. “Utilizing LDRA’s
state-of-the-art tooling that is widely used in industry, our programs provide the ideal skills and knowledge that graduating students need to be successful” he said. “There is no better way to demonstrate how software engineering theories and principles are put into practice. Not only does this reinforce the relevance of what the students are taught. It also ensures that our graduates are as industry ready as they can be for today’s competitive employment market.

The LDRA tool suite is a comprehensive software development and verification solution that helps ensure high standards of software quality, safety, and security. It is designed to help meet the stringent safety and security critical regulatory standards in markets such as aerospace, automotive, medical devices, and industrial automation. It offers robust capabilities for static and dynamic code analysis, helping developers identify and correct issues early in the development process. It also supports a wide range of programming languages and integrates with various development environments, enhancing productivity and reducing time-to-market. Additionally, LDRA’s tools are certified for compliance with industry-specific standards like DO-178C, ISO 26262, and IEC 62304, providing developers with the confidence that their software meets rigorous safety and security requirements.


“Utilizing LDRA’s state-of-the-art tooling that is widely used in industry, our programs provide the ideal skills and knowledge that graduating students need to be successful”


 


FREE 30 Day
TRIAL

Email Us

Email: info@ldra.com

Call Us

EMEA: +44 (0)151 649 9300

USA: +1 (855) 855 5372

INDIA: +91 80 4080 8707

Connect with LDRA