|
1. |
Compilation of functional languages using flow graph analysis |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page 127-173
Pieter H. Hartel,
Hugh Glaser,
John M. Wild,
Preview
|
PDF (2702KB)
|
|
摘要:
AbstractA system based on the notion of aflow graphis used to specify formally and to implement a compiler for a lazy functional language. The compiler takes a simple functional language as input and generates C. The generated C program can then be compiled, and loaded with an extensive run‐time system to provide the facility to experiment with different analysis techniques. The compiler provides a single, unified, efficient, formal framework for all the analysis and synthesis phases, including the generation of C. Many of the standard techniques, such as strictness and boxing analyses, have been include
ISSN:0038-0644
DOI:10.1002/spe.4380240202
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
2. |
A prototyping environment for specifying, executing and checking communicating real‐time state machines |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page 175-195
Sitaram C. V. Raju,
Alan C. Shaw,
Preview
|
PDF (1237KB)
|
|
摘要:
AbstractWe describe a toolset, consisting of a graphical editor, a simulator, and an assertion checker, for prototyping real‐time systems that are specified as Communicating Real‐Time State machines (CRSMs). CRSMs are timed state machines that communicate synchronously over unidirectional channels. The system behavior of CRSMs is characterized by a time‐stamped trace of communication events. Safety and timing assertions on the trace of communication events are expressed in a notation based on Real‐Time Logic. We illustrate the simulator and assertion checker by specifying a traffic‐light controller and other real‐time systems. There are two main contributions in this work: first, the prototyping environment serves as a validation of the model, the execution algorithm and paper design of example CRSMs, demonstrating that the ideas are realizable and potentially useful. Secondly, the paper presents a novel and useful method of specifying safety and timing properties, and checking them during
ISSN:0038-0644
DOI:10.1002/spe.4380240203
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
3. |
Rewriting executable files to measure program behavior |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page 197-218
James R. Larus,
Thomas Ball,
Preview
|
PDF (1541KB)
|
|
摘要:
AbstractInserting instrumentation code in a program is an effective technique for detecting, recording, and measuring many aspects of a program's performance. Instrumentation code can be added at any stage of the compilation process by specially‐modified system tools such as a compiler or linker or by new tools from a measurement system. For several reasons, adding instrumentation code after the compilation process—by rewriting the executable file—presents fewer complications and leads to more complete measurements.This paper describes the difficulties in adding code to executable files that arose in developing the profiling and tracing tools qp and qpt. The techniques used by these tools to instrument programs on MIPS and SPARC processors are applicable in other instrumentation systems running on many processors and operating systems. In addition, many difficulties could have been avoided with minor changes to compilers and executable file formats. These changes would simplify this approach to measuring program performance and make it more generally u
ISSN:0038-0644
DOI:10.1002/spe.4380240204
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
4. |
A faster scrabble move generation algorithm |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page 219-232
Steven A. Gordon,
Preview
|
PDF (840KB)
|
|
摘要:
AbstractAppel and Jacobson1presented a fast algorithm for generating every possible move in a given position in the game of Scrabble using a DAWG, a finite automaton derived from the trie of a large lexicon. This paper presents a faster algorithm that uses a GADDAG, a finite automaton that avoids the non‐deterministic prefix generation of the DAWG algorithm by encoding a bidirectional path starting from each letter of each word in the lexicon. For a typical lexicon, the GADDAG is nearly five times larger than the DAWG, but generates moves more than twice as fast. This time/space trade‐off is justified not only by the decreasing cost of computer memory, but also by the extensive use of move‐generation in the analysis of board positions used by Gordon2in the probabilistic search for the most appropriate play in a given position within realistic time constr
ISSN:0038-0644
DOI:10.1002/spe.4380240205
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
5. |
Correction to ‘producing good code for the case statement’ |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page 233-233
Sampath Kannan,
Todd A. Proebsting,
Preview
|
PDF (84KB)
|
|
摘要:
AbstractAn O(n2) algorithm for splitting a case statement's jump table into the minimum number of subtables (of a given density) is presented. Previously, the problem was thought to be NP‐complet
ISSN:0038-0644
DOI:10.1002/spe.4380240206
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
6. |
Masthead |
|
Software: Practice and Experience,
Volume 24,
Issue 2,
1994,
Page -
Preview
|
PDF (63KB)
|
|
ISSN:0038-0644
DOI:10.1002/spe.4380240201
出版商:John Wiley&Sons, Ltd.
年代:1994
数据来源: WILEY
|
|