{"title":"Average-case analysis of programs: Automated recurrence analysis for almost-linear bounds","file":[{"creator":"dernst","file_id":"6406","file_name":"listofauthors.txt","date_updated":"2020-07-14T12:46:58Z","content_type":"text/plain","date_created":"2019-05-10T13:32:16Z","checksum":"cf53cdb6d092e68db0b4a0a1506ef8fb","access_level":"closed","file_size":281,"relation":"main_file"},{"file_size":563642,"relation":"main_file","content_type":"application/pdf","date_updated":"2020-07-14T12:46:58Z","creator":"dernst","file_name":"popl2017b.pdf","file_id":"6407","access_level":"open_access","checksum":"7bdd94ba13aa0dec9c46887fcf13870b","date_created":"2019-05-10T13:32:16Z"}],"citation":{"ieee":"1 Anonymous, 2 Anonymous, and 3 Anonymous, Average-case analysis of programs: Automated recurrence analysis for almost-linear bounds. IST Austria, 2016.","ama":"Anonymous 1, Anonymous 2, Anonymous 3. Average-Case Analysis of Programs: Automated Recurrence Analysis for Almost-Linear Bounds. IST Austria; 2016.","short":"1 Anonymous, 2 Anonymous, 3 Anonymous, Average-Case Analysis of Programs: Automated Recurrence Analysis for Almost-Linear Bounds, IST Austria, 2016.","mla":"Anonymous, 1, et al. Average-Case Analysis of Programs: Automated Recurrence Analysis for Almost-Linear Bounds. IST Austria, 2016.","ista":"Anonymous 1, Anonymous 2, Anonymous 3. 2016. Average-case analysis of programs: Automated recurrence analysis for almost-linear bounds, IST Austria, 20p.","apa":"Anonymous, 1, Anonymous, 2, & Anonymous, 3. (2016). Average-case analysis of programs: Automated recurrence analysis for almost-linear bounds. IST Austria.","chicago":"Anonymous, 1, 2 Anonymous, and 3 Anonymous. Average-Case Analysis of Programs: Automated Recurrence Analysis for Almost-Linear Bounds. IST Austria, 2016."},"date_published":"2016-07-15T00:00:00Z","month":"07","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","pubrep_id":"619","year":"2016","day":"15","publisher":"IST Austria","publication_identifier":{"issn":["2664-1690"]},"date_created":"2018-12-12T11:39:23Z","status":"public","author":[{"full_name":"Anonymous, 1","first_name":"1","last_name":"Anonymous"},{"full_name":"Anonymous, 2","first_name":"2","last_name":"Anonymous"},{"first_name":"3","last_name":"Anonymous","full_name":"Anonymous, 3"}],"oa_version":"Published Version","alternative_title":["IST Austria Technical Report"],"date_updated":"2020-07-14T23:05:06Z","file_date_updated":"2020-07-14T12:46:58Z","abstract":[{"text":"We consider the problem of developing automated techniques to aid the average-case complexity analysis of programs. Several classical textbook algorithms have quite efficient average-case complexity, whereas the corresponding worst-case bounds are either inefficient (e.g., QUICK-SORT), or completely ineffective (e.g., COUPONCOLLECTOR). Since the main focus of average-case analysis is to obtain efficient bounds, we consider bounds that are either logarithmic,\r\nlinear, or almost-linear (O(log n), O(n), O(n ยท log n),\r\nrespectively, where n represents the size of the input). Our main contribution is a sound approach for deriving such average-case bounds for randomized recursive programs. Our approach is efficient (a simple linear-time algorithm), and it is based on (a) the analysis of recurrence relations induced by randomized algorithms, and (b) a guess-and-check technique. Our approach can infer the asymptotically optimal average-case bounds for classical randomized algorithms, including RANDOMIZED-SEARCH, QUICKSORT, QUICK-SELECT, COUPON-COLLECTOR, where the worstcase\r\nbounds are either inefficient (such as linear as compared to logarithmic of average-case, or quadratic as compared to linear or almost-linear of average-case), or ineffective. We have implemented our approach, and the experimental results show that we obtain the bounds efficiently for various classical algorithms.","lang":"eng"}],"oa":1,"_id":"5447","page":"20","type":"technical_report","has_accepted_license":"1","publication_status":"published","ddc":["000"],"language":[{"iso":"eng"}]}