Towards Increased Productivity of Algorithm Implementation
Table of Contents:
- Principal Investigator.
- Productivity Measures.
- Summary of Objectives and Approach.
- Detailed Summary of Technical Progress.
- Transitions and DOD Interactions.
- Software and Hardware Prototypes.
- List of Publications.
- Invited and Contributed Presentations.
- Honors, Prizes or Awards Received.
- Project Personnel Promotions.
- Project Staff.
- Multimedia URL.
- Keywords.
- Business Office.
- Expenditures.
- Students.
- Book Plans.
- Sabbatical Plans.
- Related Research.
- History.
Principal Investigator.
- PI Name: Robert A. Paige
- PI Institution: New York University
- PI Phone Number: (212) 998-3156
- PI Fax Number: (212) 995-4124
- PI Street Address: CIMS, 251 Mercer St.
- PI City,State,Zip: New York, NY 10012
- PI E-mail Address: paige@cs.nyu.edu
- PI URL Home Page: http://cs.nyu.edu/cs/faculty.html
- Grant Title: Towards Increased Productivity of
Algorithm Implementation
- Grant/Contract Number: N00014-93-I-0924
- Mipr Number:
- R&T Number: 4331017---01
- Period of Performance: 01 Oct. 95 - 30 Sep. 96
- Today's Date: 01-28-97
Productivity Measures.
- Number of refereed papers submitted not yet published: 4
- Number of refereed papers published: 2
- Number of unrefereed reports and articles: 0
- Number of books or parts thereof submitted but not published: 0
- Number of books or parts thereof published: 0
- Number of project presentations: 0
- Number of patents filed but not yet granted: 0
- Number of patents granted and software copyrights: 0
- Number of graduate students supported >= 25% of full time: 0
- Number of post-docs supported >= 25% of full time: 0
- Number of minorities supported: 0
Summary of Objectives and Approach.
-
Our long term objective is to dramatically improve the programming
productivity of algorithm implementation and labor-intensive software.
Our approach is based on very high level transformational
and compiler technology with
a generic (as opposed
to domain specific) problem domain, an automatic (as opposed to
interactive) software development methodology, and the production
of high performance (as opposed to prototype) code.
-
During the grant reporting period, the emphasis has been on
demonstrating how qualitative methods in theoretical programming
language can be used to solve quantitative problems in algorithms and
complexity. The point of this activity was to confirm the practical
utility of methods used in our compiler technology by showing their
effectiveness in helping to solve difficult theoretical problems. This study
also helps to unify the computer science discipline and to elevate the
importance of programming languages by showing novel links between
languages and algorithms. We know how algorithms can be adapted to
solve problems in programming languages and compilers. However, links
in the other direction are rare.
Detailed Summary of Technical Progress.
-
During the grant period there were four results in which qualitative methods
in theoretical languages were used to solve difficult quantitative problems
in algorithms and complexity. The first showed how types can facilitate
algorithm design by modeling complex data structures. The result was
a new improved DFA minimization algorithm [Keller and Paige,CPAM 96] that
uses O(n) space and O(n + m + m log n) time, where n is the number
of NFA states and m is the number of transitions.
-
The second showed how the fundamental semantic method of
Rule Induction could be used in algorithm design and analysis. The
result was a new improved Regular Expression-to-NFA transformation
[Chang and Paige, Theoretical Computer Science, in press 1997].
That is, we turn regular expressions of r symbols and s
occurrences of alphabet symbols into a compressed form of NFA in time
O(r) and auxiliary space O(s). The best previous solution due to
Chang and Paige ran in the same time bound but with O(r) auxiliary
space. Our application of rule induction made use of a nonstandard context
free grammar for the regular expressions.
-
The third result showed how well typedness of programs written for a
set theoretic model of computation guarantees program speedup from
time in the expected sense to time in the worst case. A set theoretic
model of computation assumes that associative access operations such
as membership testing, set element addition and deletion, and finite
map application can be performed in unit time. It was used in
the 1970's by Hunt, Szymanski, Ullman,
Fong, Paige, Schwartz, Willard, and others. Nowadays, it is commonly used in
the compiler, database, and AI communities.
In our case, programs written in a statically typed variant of SETL
with O(f(n)) running time on a set-based model of computation (in
which hashing unit space data is assumed to take unit expected time)
are shown to be simulated on a pointer RAM in real time. This general speedup
result was used to improve the complete linear time fragment of
Willard's Relational Calculus Subset (RCS) [Willard, JCSS, 1996] from
linear expected time to linear worst case time [Goyal and Paige, Proc.
IFIP TC 2 Conf. on Algorithmic Languages and Calculi, Feb. 1997].
-
The last result demonstrated the importance of a formal semantic specification
for a type-directed high level batch reading method to the development of
an efficient algorithm. More specifically, we developed a linear time
algorithm to convert external input in string form into efficient data
structures for a variable list with any signature in our type system
[Paige and Yang, POPL, Jan. 1997]. This result serves to unify input
complexity with algorithmic complexity for a pointer RAM model of computation.
Transitions and DOD Interactions.
- Your_text_for_this_item_goes_here....
Software and Hardware Prototypes.
- Prototype Name: Your_prototype_name_goes_here
- Type: Your_type_of_prototype_goes_here
- URL: Your_url_for_more_info_on_goes_here
- Availability: Your_prototype_availability_goes_here
- Description: Your_multi_line_description_goes_here
- Demonstration Examples: Your_test_cases_go_here
List of Publications.
-
Keller, J. P. and Paige, R., "Program Derivation With Verified
Transformations - A Case Study," Communications of Pure
and Applied Mathematics, Vol 48, No. 9-10, pp. 1053-1113, 1996.
-
Paige, R., "Future Directions in Program Transformations,"
ACM Computing Surveys, 28A(4), Dec. 1996.
-
Chang, C. and Paige, R., "From Regular Expressions to DFA's Using
Compressed NFA's," in press, Theoretical Computer Science, to appear
vol 178(1-2), 1997.
-
Paige, R. and Yang, Z., "High Level Reading and Data Structure Compilation,"
Proc. 24th POPL, Jan. 1997, pp. 456 - 469.
-
Goyal, D. and Paige, R., "The Formal Reconstruction and Improvement Of
The Linear Time Fragment Of Willard's Relational Calculus Subset,"
to appear IFIP TC2 Working Conf. on Algorithmic Languages and Calculi,
Feb. 1997.
Invited and Contributed Presentations.
-
Invited paper on future directions in program transformations for the ACM
Workshop on Strategic Directions in Computer Science, MIT, June 1996.
Honors, Prizes or Awards Received.
- Your_text_for_this_item_goes_here....
Project Personnel Promotions.
- Your_text_for_this_item_goes_here...
Project Staff.
- Name: Dr Robert Paige
- Homepage
- Position: Professor
- Task: Principal Investigator
Multimedia URL.
- EOYL FY96
- QUAD FY96
- EOYL FY95
- Research Project
Keywords.
- Transformations
- Algorithm Derivation
- Program Development
- Productivity
Business Office
- Business Office Phone Number: 212-998-3372
- Business Office Fax Number: 212-995-4121
- Business Office Email: hayes@best.nyu.edu
Expenditures
- Est. FY97: 100%
- FY96: 100%
- FY95: 90%
- FY94: 98%
Current and Former Students
- Name: [Mr|Ms|Dr] Student_name_goes_here
- Homepage
- Position: Your_student_position_title_goes_here
- Nationality: Your_student_nationality_goes_here
- Task: Your_student_prj_task_description_goes_here
- Thesis: Your_student_thesis_description_goes_here
- Graduated: If_graduated,_year_of_graduation_and_degree
- Job: If_already_graduated
Book Plans
- Topic: Your_book_topic_goes_here
- Publisher: Your_possible_publisher_goes_here
- Publication Year: Your_estimated_pub_year_goes_here
- Type of Publication: Your_type_of_pub_goes_here
- Additional Support: Your_yes-no_goes_here
Sabbatical Plans
- Person: Your_name_or_name_of_person_on_contract_goes_here
- Location: Your_sabbatical_location_goes_here
- Institution: Your_host_institution_goes_here
- Sabbatical Year: Your_estimated_sabbatical_yr_goes_here
- Foreign S&T Reporting Interest: Your_yes-no_goes_here
Related Research
-
Semantics-Based Program Analysis and Manipulation
-
IFIP Working Group 2.1---Algorithmic Languages and Calculi
-
BRICS (Basic Research in Computer Science, U. of Aarhus
History