ACE: an automatic complexity evaluator
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning About Time in Higher-Level Language Software
IEEE Transactions on Software Engineering
Polymorphic time systems for estimating program complexity
ACM Letters on Programming Languages and Systems (LOPLAS)
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Software tools for micro-analysis of programs
Software—Practice & Experience
Part I: the RESOLVE framework and discipline: a research synopsis
ACM SIGSOFT Software Engineering Notes
Abstract interpretation: a semantics-based tool for program analysis
Handbook of logic in computer science (vol. 4)
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Generic programming and the STL: using and extending the C++ Standard Template Library
Generic programming and the STL: using and extending the C++ Standard Template Library
Accelerated C++: practical programming by example
Accelerated C++: practical programming by example
Two languages for estimating program efficiency
Communications of the ACM
Communications of the ACM
Communications of the ACM
STL tutorial and reference guide, second edition: C++ programming with the standard template library
STL tutorial and reference guide, second edition: C++ programming with the standard template library
Performance specification of software components
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
PICCOLA---a small composition language
Formal methods for distributed processing
Introduction to Algorithms
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
Proceedings of the Workshop on Formal Methods in Databases and Software Engineering
Deriving Annotations for Tight Calculation of Execution Time
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Automatic Accurate Time-Bound Analysis for High-Level Languages
LCTES '98 Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems
Bounding Loop Iterations for Timing Analysis
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
A language for generic programming
A language for generic programming
Hi-index | 0.00 |
Generic libraries, such as the C++ Standard Template Library (STL), provide flexible, high-performance algorithms and datatypes, along with functional specifications and performance guarantees. It is left as a nontrivial task to the library user to choose appropriate algorithms and data types for a particular problem. In the present paper, we describe an automatic analysis to aid library users in selecting types for use in generic programs. The analysis is based on manipulation and comparison of symbolic complexity expressions, constructed using cost-bound functions and abstract interpretation of program behaviour. Our analysis serves to detect and rectify "performance bugs" by recommending type selections that will improve performance.