# A Modular Calculus for the Average Cost of Data Structuring

• Michel Schellekens
Book

1. Front Matter
Pages i-xxiv
2. Pages 1-38
3. Pages 39-50
4. Pages 51-64
5. Pages 65-94
6. Pages 95-131
7. Pages 133-148
8. Pages 149-177
9. Pages 179-191
10. Pages 193-207
11. Pages 209-223
12. Pages 225-227
13. Back Matter
Pages 229-246

### Introduction

A Modular Calculus for the Average Cost of Data Structuring introduces MOQA, a new domain-specific programming language which guarantees the average-case time analysis of its programs to be modular.Time in this context refers to a broad notion of cost, which can be used to estimate the actual running time, but also other quantitative information such as power consumption, while modularity means that the average time of a program can be easily computed from the times of its constituents--something that no programming language of this scope has been able to guarantee so far. MOQA principles can be incorporated in any standard programming language.

MOQA supports tracking of data and their distributions throughout computations, based on the notion of random bag preservation. This allows a unified approach to average-case time analysis, and resolves fundamental bottleneck problems in the area. The main techniques are illustrated in an accompanying Flash tutorial, where the visual nature of this method can provide new teaching ideas for algorithms courses.

This volume, with forewords by Greg Bollella and Dana Scott, presents novel programs based on the new advances in this area, including the first randomness-preserving version of Heapsort. Programs are provided, along with derivations of their average-case time, to illustrate the radically different approach to average-case timing. The automated static timing tool applies the Modular Calculus to extract the average-case running time of programs directly from their MOQA code.

A Modular Calculus for the Average Cost of Data Structuring is designed for a professional audience composed of researchers and practitioners in industry, with an interest in algorithmic analysis and also static timing and power analysis--areas of growing importance. It is also suitable as an advanced-level text or reference book for students in computer science, electrical engineering and mathematics.

Michel Schellekens obtained his PhD from Carnegie Mellon University, following which he worked as a Marie Curie Fellow at Imperial College London. Currently he is an Associate Professor at the Department of Computer Science in University College Cork - National University of Ireland, Cork, where he leads the Centre for Efficiency-Oriented Languages (CEOL) as a Science Foundation Ireland Principal Investigator.

### Keywords

algorithm algorithms complexity computer science data structures programming programming language random structures real-time real-time languages semantics series-parallel data structures software timing/power analysis sorting and search algorithms static analysis

#### Authors and affiliations

• Michel Schellekens
• 1
1. 1.Department of Computer ScienceUniversity College Cork-National University of IrelandIreland

### Bibliographic information

• DOI https://doi.org/10.1007/978-0-387-73384-5
• Copyright Information Springer-Verlag US 2008
• Publisher Name Springer, Boston, MA
• eBook Packages Computer Science
• Print ISBN 978-0-387-73383-8
• Online ISBN 978-0-387-73384-5
• Buy this book on publisher's site