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}
M. Harrison, S. Graham, K. Kennedy, Meera Blattner
The aim of this session is to survey some advances in theoretical computer science and their impact on the design of programming language compilers. There has been considerable research activity in three major areas: the analysis of program syntax (parsing), 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; instead, they attempt to capture the flavor of current research in these areas and demonstrate its practical importance.
{"title":"Theoretical results in compiler design and implementation (Tutorial Session)","authors":"M. Harrison, S. Graham, K. Kennedy, Meera Blattner","doi":"10.1145/800191.805518","DOIUrl":"https://doi.org/10.1145/800191.805518","url":null,"abstract":"The aim of this session is to survey some advances in theoretical computer science and their impact on the design of programming language compilers. There has been considerable research activity in three major areas: the analysis of program syntax (parsing), 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; instead, they attempt to capture the flavor of current research in these areas and demonstrate its practical importance.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"613 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":"131730248","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}
Risch's decision procedure for determining the integrability in closed form of the elementary functions of the calculus is presented via examples. The exponential and logarithmic cases of the algorithms had been implemented for the MACSYMA system several years ago. The implementation of the algebraic case of the algorithm is the subject of current research.
{"title":"An introduction to the Risch integration algorithm","authors":"J. Moses","doi":"10.1145/800191.805632","DOIUrl":"https://doi.org/10.1145/800191.805632","url":null,"abstract":"Risch's decision procedure for determining the integrability in closed form of the elementary functions of the calculus is presented via examples. The exponential and logarithmic cases of the algorithms had been implemented for the MACSYMA system several years ago. The implementation of the algebraic case of the algorithm is the subject of current research.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"10 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":"134085067","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}
Reconsideration of “Curriculum '68” by the ACM Curriculum Committee on Computer Science (C3S) has been in progress for several years. A first draft of an updated report is currently being considered by C3S. It incorporates material previously available as interim reports. Computer science topics appropriate to the first two years of a baccalaureate degree program are specified and sample course outlines are given. Based on this background, intermediate level topics are specified which together with the first two year requirements identifies a “core” of material appropriate to all computer science majors. Additional topics and courses which could be elected by students to complete their undergraduate requirements for a major are provided. Matters such as service courses, equipment and faculty resources, and graduate study are also addressed in the report. There are significant similiarities and differences between this report and “Curriculum'68” which exemplify current trends and developments within computer science.
{"title":"Curriculum recommendations in computer science (Panel Discussion)","authors":"R. Austing, M. Mulder, N. Gibbs, G. Engel","doi":"10.1145/800191.805549","DOIUrl":"https://doi.org/10.1145/800191.805549","url":null,"abstract":"Reconsideration of “Curriculum '68” by the ACM Curriculum Committee on Computer Science (C3S) has been in progress for several years. A first draft of an updated report is currently being considered by C3S. It incorporates material previously available as interim reports.\u0000 Computer science topics appropriate to the first two years of a baccalaureate degree program are specified and sample course outlines are given. Based on this background, intermediate level topics are specified which together with the first two year requirements identifies a “core” of material appropriate to all computer science majors. Additional topics and courses which could be elected by students to complete their undergraduate requirements for a major are provided. Matters such as service courses, equipment and faculty resources, and graduate study are also addressed in the report.\u0000 There are significant similiarities and differences between this report and “Curriculum'68” which exemplify current trends and developments within computer science.","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":"134536864","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}
Minicomputer-based data entry systems often lack the capability to validate specialized and complex data in many applications. One such application is in the entry of taxonomic data produced in ecological studies. An Ecological Data Validation System (EDVAL) has been developed to facilitate the entry of such data. EDVAL is a subsystem of a minicomputer-based key entry system. The techniques used to implement EDVAL and the value of the system are discussed. The use of EDVAL is illustrated.
{"title":"On-line Ecological Data Validation: an expansion of a minicomputer-based key entry system","authors":"M. Lane, Henry K. Hess","doi":"10.1145/800191.805593","DOIUrl":"https://doi.org/10.1145/800191.805593","url":null,"abstract":"Minicomputer-based data entry systems often lack the capability to validate specialized and complex data in many applications. One such application is in the entry of taxonomic data produced in ecological studies. An Ecological Data Validation System (EDVAL) has been developed to facilitate the entry of such data. EDVAL is a subsystem of a minicomputer-based key entry system. The techniques used to implement EDVAL and the value of the system are discussed. The use of EDVAL is illustrated.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"65 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":"133100462","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 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}
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}
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}
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}