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.
WEEK 1
5 hours to complete
Introduction to Automated Analysis
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.
8 videos (Total 68 min) 1 reading 6 quizzes
WEEK 2
5 hours to complete
Automated Test Generation
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.
8 videos (Total 84 min)
WEEK 3
4 hours to complete
Static Analysis
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.
5 videos (Total 64 min) 1 reading 3 quizzes
WEEK 4
2 hours to complete
Effective Automated Verification
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.
6 videos (Total 61 min) 2 readings 4 quizzes
Tham gia đánh giá khóa học
Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.
Cung cấp bởi: Coursera / University of Minnesota
Thời lượng: 16 giờ
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate
Thông tin về nhà cung cấp
Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew Ng và Daphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.
Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.