This course introduces state-of-the-art techniques for automated analysis. Automated analysis encompasses both approaches to automatically generate a very large number of tests to check whether programs meet requirements, and also means by which it is possible to *prove* that software meets requirements and that it is free from certain commonly-occurring defects, such as divide-by-zero, overflow/underflow, deadlock, race-condition freedom, buffer/array overflow, uncaught exceptions, and several other commonly-occurring bugs that can lead to program failures or security problems. The learner will become familiar with the fundamental theory and applications of such approaches, and apply a variety of automated analysis techniques on example programs.
Introduction to Automated Analysis
This course is part of Software Testing and Automation Specialization
Instructors: Mike
Sponsored by Educate to Employ
15,155 already enrolled
(79 reviews)
Recommended experience
Skills you'll gain
Details to know
Add to your LinkedIn profile
16 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 4 modules in this course
In this module we will learn about a range of techniques for analysis of programs and methods to automate testing. Along the way we will learn how to specify properties of interest to check about a program and capture assumptions about the environment for effective testing. To reinforce some of the important concepts learned we will practice automated testing using effective tools on a concrete example.
What's included
8 videos1 reading5 assignments1 programming assignment
The focus of this module is to understand how various techniques can help us automate the generation of useful and numerous tests. We will examine ways to specify and use properties of the system and the environment to guide the generation of test data.
What's included
8 videos4 assignments1 programming assignment
The goal of this module is to introduce the learner to the principles of statically analyzing programs, understand how analysis techniques work by looking at some example analyses, and some good practices to follow when designing programs to enable the tools to help us detect and avoid defects. The learner will gain an understanding of using static analysis tools by looking at one concrete tool.
What's included
5 videos1 reading3 assignments
This module will examine how to use effective automation techniques for a variety of purposes such as performing effective regression testing, discovering security vulnerabilities and monitoring software at run-time for critical properties.
What's included
6 videos2 readings4 assignments
Offered by
Why people choose Coursera for their career
Learner reviews
79 reviews
- 5 stars
58.75%
- 4 stars
21.25%
- 3 stars
11.25%
- 2 stars
5%
- 1 star
3.75%
Showing 3 of 79
Reviewed on Jul 21, 2023
Please add specific tutorial on how to set up something
Reviewed on Jul 15, 2024
I'm an university student. I would like to take this opportunity to thank the lecturers, University and Coursera. This course is amazing.
Reviewed on Oct 16, 2024
The course is decent, the presentations are great in most, and lots of learning. Its scope is also vast and it only gives a glimpse into what is possible.
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy