A method for compiler testing using symbolic interpretation is presented. This method is a cross between program proving and program testing. It is useful in demonstrating that programs are correctly translated from a high level language to a low level language thereby improving the reliability of the compiler. The term symbolic interpretation is used to describe the process of obtaining an intermediate form of the low level language program that is suitable for further processing by a proof system. Symbolic interpretation is the heart of the system and enables the recording of a transcript of all computations in the program. This process interprets a set of procedures which describe the effects of machine language instructions corresponding to the target machine on a suitable computation model. The highlights and limitations of the process as well as future work are discussed in a framework of a specific LISP implementation on a PDP-10 computer.
{"title":"Compiler testing via symbolic interpretation","authors":"H. Samet","doi":"10.1145/800191.805648","DOIUrl":"https://doi.org/10.1145/800191.805648","url":null,"abstract":"A method for compiler testing using symbolic interpretation is presented. This method is a cross between program proving and program testing. It is useful in demonstrating that programs are correctly translated from a high level language to a low level language thereby improving the reliability of the compiler. The term symbolic interpretation is used to describe the process of obtaining an intermediate form of the low level language program that is suitable for further processing by a proof system. Symbolic interpretation is the heart of the system and enables the recording of a transcript of all computations in the program. This process interprets a set of procedures which describe the effects of machine language instructions corresponding to the target machine on a suitable computation model. The highlights and limitations of the process as well as future work are discussed in a framework of a specific LISP implementation on a PDP-10 computer.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"131 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115619698","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Authors of the programs competing in the Seventh Annual United States Computer Chess Championship will discuss the state of computer chess programming. Topics to be considered include chess oriented tree searching heuristics, tree searching heuristics that can also be used for more general problems, the pros and cons of exhaustive and selective searches, the present level of play and prospects for future improvement. An attempt will be made to summarize progress to date covering the time since the ACM tournament began in 1970.
{"title":"SIGTPC (Panel Session)","authors":"M. Newborn","doi":"10.1145/800191.805656","DOIUrl":"https://doi.org/10.1145/800191.805656","url":null,"abstract":"Authors of the programs competing in the Seventh Annual United States Computer Chess Championship will discuss the state of computer chess programming. Topics to be considered include chess oriented tree searching heuristics, tree searching heuristics that can also be used for more general problems, the pros and cons of exhaustive and selective searches, the present level of play and prospects for future improvement. An attempt will be made to summarize progress to date covering the time since the ACM tournament began in 1970.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115689906","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
An improved algorithm for computing the minors of a (large) sparse matrix of polynomials is described, with emphasis on efficiency and optimal ordering. A possible application to polynomial resultant computation is discussed.
{"title":"An efficient sparse minor expansion algorithm","authors":"M. Griss","doi":"10.1145/800191.805633","DOIUrl":"https://doi.org/10.1145/800191.805633","url":null,"abstract":"An improved algorithm for computing the minors of a (large) sparse matrix of polynomials is described, with emphasis on efficiency and optimal ordering. A possible application to polynomial resultant computation is discussed.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114572014","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The concept and properties of the basic code block are extended to a generalized code region whose control flow graph can be entered at only one node and exited at only one node. Algorithms are given for the determination of all such regions in a program and the associated data flow information. Also, some applications of these regions to global optimization and code motion are discussed.
{"title":"Flow graph analysis using linear connected regions","authors":"W. Nylin","doi":"10.1145/800191.805514","DOIUrl":"https://doi.org/10.1145/800191.805514","url":null,"abstract":"The concept and properties of the basic code block are extended to a generalized code region whose control flow graph can be entered at only one node and exited at only one node. Algorithms are given for the determination of all such regions in a program and the associated data flow information. Also, some applications of these regions to global optimization and code motion are discussed.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123697930","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Michael A. Harrison, Susan L. Graham, Kenneth Kennedy, Meera Blattner
This session surveys some advances in theoretical computer science and their impact on the design of programming language compilers. The emphasis is on three major areas: the analysis of program syntax, the detection of errors at compile time, and the optimization of compiled code. The tutorials presented here do not purport to summarize all the work that has been done, but they will capture its flavor and demonstrate its practical importance.
{"title":"SIGACT (Tutorial Session)","authors":"Michael A. Harrison, Susan L. Graham, Kenneth Kennedy, Meera Blattner","doi":"10.1145/800191.805517","DOIUrl":"https://doi.org/10.1145/800191.805517","url":null,"abstract":"This session surveys some advances in theoretical computer science and their impact on the design of programming language compilers. The emphasis is on three major areas: the analysis of program syntax, the detection of errors at compile time, and the optimization of compiled code. The tutorials presented here do not purport to summarize all the work that has been done, but they will capture its flavor and demonstrate its practical importance.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122792613","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The National Bureau of Economic Research provides a national network for interactive research in economics. Economic models may be described and studied using this network. A common model possible is the discrete linear regulator. This model is so common that software has been developed to facilitate its use. The software is in the form of macros written in a macro language provided by NBER. Several macros are discussed, and an example of their use is given.
美国国家经济研究局(National Bureau of Economic Research)为经济学领域的互动研究提供了一个全国性的网络。经济模型可以用这个网络来描述和研究。一个可能的通用模型是离散线性调节器。这个模型是如此普遍,以至于已经开发了一些软件来促进它的使用。该软件是用NBER提供的宏语言编写的宏的形式。讨论了几种宏,并给出了它们的使用示例。
{"title":"An interactive macro language application to a tracking problem and to a best ellipsoidal bounds problem","authors":"Joe Stiles","doi":"10.1145/800191.805667","DOIUrl":"https://doi.org/10.1145/800191.805667","url":null,"abstract":"The National Bureau of Economic Research provides a national network for interactive research in economics. Economic models may be described and studied using this network. A common model possible is the discrete linear regulator. This model is so common that software has been developed to facilitate its use. The software is in the form of macros written in a macro language provided by NBER. Several macros are discussed, and an example of their use is given.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126308748","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The basic model of semantics for protection languages is reviewed. Advanced protection features are introduced into the model and their impact on authorization and enforcement is discussed. History keeping allows access dependency upon the occurrence of previous data operations. Auxiliary program invocation provides for additional (procedural) protection measures. Extended authorization permits a user to utilize, via authorized procedures, data which are not directly accessible by him. Examples are used to explain each of these features. The enforcement process for full specifications is illustrated with an example.
{"title":"Full protection specifications in the semantic model for database protection languages","authors":"H. Hartson, D. K. Hsiao","doi":"10.1145/800191.805538","DOIUrl":"https://doi.org/10.1145/800191.805538","url":null,"abstract":"The basic model of semantics for protection languages is reviewed. Advanced protection features are introduced into the model and their impact on authorization and enforcement is discussed. History keeping allows access dependency upon the occurrence of previous data operations. Auxiliary program invocation provides for additional (procedural) protection measures. Extended authorization permits a user to utilize, via authorized procedures, data which are not directly accessible by him. Examples are used to explain each of these features. The enforcement process for full specifications is illustrated with an example.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126500806","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A program verification system has been developed consisting of three major components. The verification condition generator(which is patterned after the work of Igarashi, London, and Luckham [10]) is used to generate verification conditions from asserted PASCAL programs. The subgoal generator(which is similar to the program described in [2])processes the verification conditions to produce simpler subgoals, a significant number of which it proves using restricted techniques. The subgoal solveris a resolution theorem prover which was developed at NIH by L. Norton [13]. The more powerful techniques of the subgoal solver are used to prove subgoals which the subgoal generator was unable to prove. The verification system has been used to verify a number of programs. These include all but one of the examples from King [11], a Bubble Sort program, and Hoare's FIND program.
{"title":"A program verification system","authors":"R. Hookway, George W. Ernst","doi":"10.1145/800191.805651","DOIUrl":"https://doi.org/10.1145/800191.805651","url":null,"abstract":"A program verification system has been developed consisting of three major components. The verification condition generator(which is patterned after the work of Igarashi, London, and Luckham [10]) is used to generate verification conditions from asserted PASCAL programs. The subgoal generator(which is similar to the program described in [2])processes the verification conditions to produce simpler subgoals, a significant number of which it proves using restricted techniques. The subgoal solveris a resolution theorem prover which was developed at NIH by L. Norton [13]. The more powerful techniques of the subgoal solver are used to prove subgoals which the subgoal generator was unable to prove.\u0000 The verification system has been used to verify a number of programs. These include all but one of the examples from King [11], a Bubble Sort program, and Hoare's FIND program.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126022011","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Advances in the understanding of string pattern matching have led to a coroutine model for scanning procedures that has been the basis for recent work. Motivated by the success of this work, the SL5 programming language has been developed to provide a vehicle for research in these areas. This paper describes the string scanning facilities of SL5 and illustrates how they may be used in the analysis and synthesis of strings.
{"title":"String analysis and synthesis in SL5","authors":"R. Griswold","doi":"10.1145/800191.805628","DOIUrl":"https://doi.org/10.1145/800191.805628","url":null,"abstract":"Advances in the understanding of string pattern matching have led to a coroutine model for scanning procedures that has been the basis for recent work. Motivated by the success of this work, the SL5 programming language has been developed to provide a vehicle for research in these areas. This paper describes the string scanning facilities of SL5 and illustrates how they may be used in the analysis and synthesis of strings.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129636911","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The command language of the COMMANDER II time-sharing system was designed on the basis of a well-developed philosophy of the facilities a time-sharing utility should provide its users and the form in which the two should communicate. The philosophy includes concern for symmetry and completeness of the facilities provided, simplicity of input formats, confirmation of potentially disastrous effects, full use of the capabilities of the terminal, compatibility between batch and interactive use, and the Law of Least Astonishment. These philosophical principles are implemented in COMMANDER II in part by a system call which parses and dispatches a command for processing based on a table which describes the legal command imperatives and the associated parameters, default values, prompting structure, and so on.
{"title":"The command interpreter and command language design of the com-share COMMANDER II system","authors":"S. S. Muchnick","doi":"10.1145/800191.805618","DOIUrl":"https://doi.org/10.1145/800191.805618","url":null,"abstract":"The command language of the COMMANDER II time-sharing system was designed on the basis of a well-developed philosophy of the facilities a time-sharing utility should provide its users and the form in which the two should communicate. The philosophy includes concern for symmetry and completeness of the facilities provided, simplicity of input formats, confirmation of potentially disastrous effects, full use of the capabilities of the terminal, compatibility between batch and interactive use, and the Law of Least Astonishment. These philosophical principles are implemented in COMMANDER II in part by a system call which parses and dispatches a command for processing based on a table which describes the legal command imperatives and the associated parameters, default values, prompting structure, and so on.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"141 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131039942","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}