This course, "Introduction to Automated Analysis," is a comprehensive exploration of state-of-the-art techniques for automated analysis in software development. The course delves into the fundamental theory and applications of automated analysis techniques, covering various aspects such as automated test generation, static analysis, and effective automated verification. Learners will gain a solid understanding of how to apply automated analysis techniques to ensure software meets requirements and is free from common defects that can lead to program failures or security issues.
Throughout the course, learners will become familiar with the foundations of automated verification, distinguish the strengths and weaknesses of different analysis techniques, and use various state-of-the-art tools for automated verification. The course also covers creating executable requirements for automated testing, utilizing both manual and automated tests, and understanding the impact of the choice of oracle on fault-finding for automated analysis strategies.
This course is ideal for individuals interested in understanding the principles of automation and the application of tools for analysis and testing of software, including roles such as Software Engineer, Test Automation Engineer, and Software Developer.
Certificate Available ✔
Get Started / More InfoThe course comprises modules covering Introduction to Automated Analysis, Automated Test Generation, Static Analysis, and Effective Automated Verification, providing a comprehensive understanding of automated analysis techniques in software development.
This module introduces learners to the fundamental concepts of automated analysis, including symbolic representations, environmental specifications, and parameterized unit testing using junit-quickcheck. The module provides an overview of the syllabus and covers a variety of automated analysis techniques, equipping learners with essential knowledge for the subsequent modules.
In this module, learners will explore automated test generation techniques, including random testing, symbolic execution, and metaheuristic search. The module also covers property-based testing for real-time systems and demonstrates the use of generators for creating complex inputs in junit-quickcheck, offering practical insights into automated test generation.
This module focuses on static analysis, addressing topics such as dataflow analysis, program wellformedness properties, and the design of programs for analyzability. Learners will engage in an analysis exercise with Infer, gaining hands-on experience in applying static analysis techniques to real-world scenarios.
The final module delves into effective automated verification, including automating regression testing, security testing using fuzz testing, and runtime monitoring. Learners will explore the evolution of software testing and gain proficiency in utilizing multiple methods effectively for automated verification.
Python 3 Programming teaches Python basics, data collection, and processing, as well as classes and inheritance. You'll also work on a project involving libraries...
Learn to create user stories in Jira and utilize sprints and epics for effective project management in the software field.
Learn to create a restful web application using Spring Boot in this guided project with Visual Studio Code and Gradle.
Introducción al Desarrollo de Software es un curso introductorio que te sumerge en los conceptos esenciales y procesos del desarrollo de software, proporcionándote...