2023-02-10 04:02:50 +00:00
< html >
< head >
< title >
CSCI-4450 - Principles of Program Analysis
< / title >
< meta property = "og:title" content = "CSCI-4450 - Principles of Program Analysis" >
< meta property = "og:description" content = "The goal of this course is to introduce students to program analysis and its many applications in software engineering, particularly in improving software quality and software productivity. Concretely, students who successfully complete this course should be able to: (1) understand and apply program analysis techniques, such as dataflow analysis and type-based analysis; (2) implement program analysis; (3) understand and apply software testing techniques, such as black-box testing and white-box testing; and (4) understand and apply refactoring techniques." >
2023-02-10 04:08:22 +00:00
< link rel = "stylesheets" href = "../css/common.css" >
< link rel = "stylesheets" href = "../css/coursedisplay.css" >
2023-02-10 04:02:50 +00:00
< / head >
< body class = "search_plugin_added" >
< div id = "qlog-header" >
< a id = "qlog-wordmark" href = "./" > < svg > < use href = "./images/quatalogHWordmark.svg#QuatalogHWordmark" > < / use > < / svg > < / a >
< input type = "text" id = "header-search" placeholder = "Search..." onkeydown = "prepSearch(this, event)" >
< / div >
< div id = "cd-flex" >
< div id = "course-info-container" >
< h1 id = "name" >
Principles of Program Analysis
< / h1 >
< h2 id = "code" >
CSCI-4450
< / h2 >
< p >
The goal of this course is to introduce students to program analysis and its many applications in software engineering, particularly in improving software quality and software productivity. Concretely, students who successfully complete this course should be able to: (1) understand and apply program analysis techniques, such as dataflow analysis and type-based analysis; (2) implement program analysis; (3) understand and apply software testing techniques, such as black-box testing and white-box testing; and (4) understand and apply refactoring techniques.
< / p >
< div id = "cattrs-container" >
< span id = "credits-pill" class = "attr-pill" >
4 credits
< / span >
< / div >
< div id = "crosslist-container" >
< div id = "crosslist-title" class = "rel-info-title" >
Cross-listed with:
< / div >
< div id = crosslist-classes" class = "rel-info-courses" >
< a class = "course-pill" href = "CSCI-6450.html" > CSCI-6450 Principles of Program Analysis< / a >
< / div >
< / div >
< div id = "prereq-container" class = "rel-info-container" >
< div id = "prereq-title" class = "rel-info-title" >
Prereqs:
< / div >
< div id = "prereq-classes" class = "rel-info-courses" >
< a class = "course-pill" href = "CSCI-4430.html" > CSCI-4430 Programming Languages< / a >
< / div >
< / div >
< / div >
< div id = "past-container" >
< h2 id = "past-title" >
Past Term Data
< / h2 >
< div id = "opt-container" >
< div id = "key-panel" >
< div id = "yes-code" class = "key-code" >
< span class = "code-icon" id = "yes-code-icon" >
< svg > < use href = "./icons.svg#circle-check" > < / use > < / svg >
< / span >
Offered
< / div >
< div id = "no-code" class = "key-code" >
< span class = "code-icon" id = "no-code-icon" >
< svg > < use href = "./icons.svg#circle-no" > < / use > < / svg >
< / span >
Not Offered
< / div >
< div id = "diff-code" class = "key-code" >
< span class = "code-icon" id = "diff-code-icon" >
< svg > < use href = "./icons.svg#circle-question" > < / use > < / svg >
< / span >
Offered as Cross-Listing Only
< / div >
< div id = "nil-code" class = "key-code" >
< span class = "code-icon" id = "nil-code-icon" >
< svg > < use href = "./icons.svg#circle-empty" > < / use > < / svg >
< / span >
No Term Data
< / div >
< / div >
< div id = "control-panel" >
< label for = "simple-view-input" id = "simple-view-label" class = "view-option-label" >
< span class = "view-icon" id = "simple-view-icon" >
< span class = "view-icon-selected" > < svg > < use href = "./icons.svg#circle-dot" > < / use > < / svg > < / span >
< span class = "view-icon-unselected" > < svg > < use href = "./icons.svg#circle-empty" > < / use > < / svg > < / span >
< / span >
Simple View
< / label >
< label for = "detail-view-input" id = "detail-view-label" class = "view-option-label" >
< span class = "view-icon" id = "detail-view-icon" >
< span class = "view-icon-selected" > < svg > < use href = "./icons.svg#circle-dot" > < / use > < / svg > < / span >
< span class = "view-icon-unselected" > < svg > < use href = "./icons.svg#circle-empty" > < / use > < / svg > < / span >
< / span >
Detailed View
< / label >
< / div >
< / div >
< table >
< thead >
< tr >
< th > < / th >
< th class = "spring season-label" > Spring< / th >
< th class = "summer season-label" colspan = "2" > Summer< / th >
< th class = "fall season-label" > Fall< / th >
< / tr >
< tr >
< th colspan = "2" > < / th >
< th class = "summer2 midsum-label" > (Session 1)< / th >
< th class = "summer3 midsum-label" > (Session 2)< / th >
< th > < / th >
< / tr >
< / thead >
< tbody >
< tr >
< th class = "year" > 2023< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2022< / th >
< td class = "term spring offered" >
< div class = "view-container detail-view-container" >
< span class = "term-course-info" >
Principles Of Program Analysis (4c)
< / span >
< ul class = "prof-list" >
< li > Ana L. Milanova< / li >
< / ul >
< span class = "course-capacity" >
Seats Taken: 10/25
< / span >
< / div >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2021< / th >
< td class = "term spring offered" >
< div class = "view-container detail-view-container" >
< span class = "term-course-info" >
Principles Of Program Analysis (4c)
< / span >
< ul class = "prof-list" >
< li > Ana L. Milanova< / li >
< / ul >
< span class = "course-capacity" >
Seats Taken: 7/10
< / span >
< / div >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2020< / th >
< td class = "term spring offered" >
< div class = "view-container detail-view-container" >
< span class = "term-course-info" >
Principles Of Program Analysis (4c)
< / span >
< ul class = "prof-list" >
< li > Ana L. Milanova< / li >
< / ul >
< span class = "course-capacity" >
Seats Taken: 18/25
< / span >
< / div >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2019< / th >
< td class = "term spring offered" >
< div class = "view-container detail-view-container" >
< span class = "term-course-info" >
Principles Of Program Analysis (4c)
< / span >
< ul class = "prof-list" >
< li > Ana L. Milanova< / li >
< / ul >
< span class = "course-capacity" >
Seats Taken: 29/25
< / span >
< / div >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2018< / th >
< td class = "term spring offered" >
< div class = "view-container detail-view-container" >
< span class = "term-course-info" >
Principles Of Program Analysis (4c)
< / span >
< ul class = "prof-list" >
< li > Ana L. Milanova< / li >
< / ul >
< span class = "course-capacity" >
Seats Taken: 22/25
< / span >
< / div >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2017< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2016< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2015< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2014< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2013< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2012< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2011< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2010< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2009< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2008< / th >
< td class = "term spring not-offered" >
< / td >
< td colspan = "2" class = "term summer not-offered" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< tr >
< th class = "year" > 2007< / th >
< td class = "term spring unscheduled" >
< / td >
< td colspan = "2" class = "term summer unscheduled" >
< / td >
< td class = "term fall not-offered" >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< / body >
< / html >