Course Summary
This course teaches you how to automatically analyze data using different methods and techniques such as clustering, classification, and association rules.Key Learning Points
- Learn how to apply automated analysis methods to real-world datasets
- Understand different techniques such as clustering, classification, and association rules
- Gain hands-on experience with popular tools like WEKA and R
Related Topics for further study
Learning Outcomes
- Understand the basic concepts and techniques of automated analysis
- Apply these techniques to different real-world datasets
- Gain hands-on experience with popular tools like WEKA and R
Prerequisites or good to have knowledge before taking this course
- Basic understanding of statistics
- Basic programming skills
Course Difficulty Level
IntermediateCourse Format
- Online
- Self-paced
- Video lectures
Similar Courses
- Data Mining and Analysis
- Practical Machine Learning
- Applied Data Science with Python
Related Education Paths
Notable People in This Field
- Pedro Domingos
- Hilary Mason
Related Books
Description
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.
Outline
- Introduction to Automated Analysis
- Introduction to Automated Analysis
- Automated Analysis Techniques
- Symbolic Representations
- Property Specification
- Environmental Specification and Assumptions
- Parameterized Unit Testing using junit-quickcheck
- Environmental Specifications in junit-quickcheck
- (Optional) Installation of Eclipse and Gradle
- Overview and Syllabus
- Introduction to Automated Analysis
- Automated Analysis Techniques
- Symbolic Representations
- Property Specification
- Automated Test Generation
- Overview of Automated Test Generation
- Automated Test Generation using Random Testing
- Automated Test Generation using Symbolic Execution
- Automated Test Generation using Metaheuristic Search
- Property-Based Testing for Real-Time Systems
- Biasing Input Values in junit-quickcheck
- Using Generators to Create Complex Inputs in junit-quickcheck
- Explanation of Test Harness and Assignment for Microwave Example
- Overview of Automated Test Generation
- Automated Test Generation using Random Testing
- Automated Test Generation Using Metaheuristic Search
- Property-Based Testing for Real-Time Systems
- Static Analysis
- What is Static Analysis
- Dataflow Analysis
- Program Wellformedness Properties
- Designing programs for analyzability
- Static Analysis with Infer
- Analysis Exercise with Infer
- What is static analysis?
- Designing programs for analyzability
- Summative Review
- Effective Automated Verification
- Automating Regression Testing
- Automating Security Testing Using Fuzz Testing
- Runtime Monitoring
- Where Automation Fails
- Using Multiple Methods Effectively
- The Evolution of Software Testing
- Fuzz Testing with AFL
- Runtime Monitoring Tools
- Automating Regression Testing
- Automating Security Testing Using Fuzz Testing
- Runtime Monitoring
Summary of User Reviews
Discover the benefits of automated analysis with this highly-rated course on Coursera. Students praise the comprehensive curriculum and engaging instructors, while one standout aspect is the practical applications of the coursework.Pros from User Reviews
- Comprehensive curriculum
- Engaging instructors
- Practical applications of coursework
Cons from User Reviews
- Some technical concepts may be difficult for beginners
- Coursework can be time-consuming
- Limited opportunities for hands-on practice