Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48031
S. Renner, M. Harandi
The usual way of locating logical errors is to use a break-and-inspect-style debugging tool. The programmer uses the debugger to search for a small part of the program's execution that does not proceed as expected. Existing debuggers enable the programmer to make this search, but do not assist in the search. Techniques are presented for assisting the programmer in the error diagnosis process. A debugging tool incorporating these techniques assists the programmer in directing the course of the diagnosis, in determining which variables need to be examined at any breakpoint, in deciding whether the variables examined have the correct values, and in detecting the use of pointers to storage locations which have been previously released.<>
{"title":"Debugging run-time errors","authors":"S. Renner, M. Harandi","doi":"10.1109/HICSS.1989.48031","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48031","url":null,"abstract":"The usual way of locating logical errors is to use a break-and-inspect-style debugging tool. The programmer uses the debugger to search for a small part of the program's execution that does not proceed as expected. Existing debuggers enable the programmer to make this search, but do not assist in the search. Techniques are presented for assisting the programmer in the error diagnosis process. A debugging tool incorporating these techniques assists the programmer in directing the course of the diagnosis, in determining which variables need to be examined at any breakpoint, in deciding whether the variables examined have the correct values, and in detecting the use of pointers to storage locations which have been previously released.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134181429","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48003
F. Lin, M.T. Liu, C.J. Graff
An automated approach to verifying general properties of time-dependent protocols, using a formal model called time transmission grammar plus (TTG/sup +/), is introduced. The novel part of the approach is to represent the global state of the model as a pair of state and timing constraint matrices. Timed reachability analysis based on such a representation is then developed to verify various protocol properties. A simple multidestination stop-and-wait protocol is used to illustrate the model and the reachability algorithm.<>
{"title":"On the verification of time-dependent protocols using timed reachability analysis","authors":"F. Lin, M.T. Liu, C.J. Graff","doi":"10.1109/HICSS.1989.48003","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48003","url":null,"abstract":"An automated approach to verifying general properties of time-dependent protocols, using a formal model called time transmission grammar plus (TTG/sup +/), is introduced. The novel part of the approach is to represent the global state of the model as a pair of state and timing constraint matrices. Timed reachability analysis based on such a representation is then developed to verify various protocol properties. A simple multidestination stop-and-wait protocol is used to illustrate the model and the reachability algorithm.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134359591","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48039
M. S. Gamal-Eldin, G. Thomas, R. Elmasri
In supporting global updates in a distributed database system obtained by database integration, three key problems arise: (1) update translation, i.e. how to translate a global update into a corresponding set of local updates; (2) constraint integration, i.e. how to determine what constraints exist on the integrated global database and how to check and enforce them during global updates; and (3) transaction management, i.e. distributed concurrency control, commit, and recovery mechanisms. The constraint integration problem is dealt with in the context of the integration of relational databases using the 2-D union operator, a slightly modified form of the outer natural join. Given the local constraints that hold on the individual local databases, a method is developed for determining the constraints that hold on the integrated global database and for checking and enforcing constraints in a hierarchical fashion during global updates.<>
{"title":"Local and global constraints in database integration","authors":"M. S. Gamal-Eldin, G. Thomas, R. Elmasri","doi":"10.1109/HICSS.1989.48039","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48039","url":null,"abstract":"In supporting global updates in a distributed database system obtained by database integration, three key problems arise: (1) update translation, i.e. how to translate a global update into a corresponding set of local updates; (2) constraint integration, i.e. how to determine what constraints exist on the integrated global database and how to check and enforce them during global updates; and (3) transaction management, i.e. distributed concurrency control, commit, and recovery mechanisms. The constraint integration problem is dealt with in the context of the integration of relational databases using the 2-D union operator, a slightly modified form of the outer natural join. Given the local constraints that hold on the individual local databases, a method is developed for determining the constraints that hold on the integrated global database and for checking and enforcing constraints in a hierarchical fashion during global updates.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131586622","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48030
P. A. Hausler
An original, theoretical definition of denotational program slicing is presented. Program slicing is a method for automatic program decomposition that is based exclusively on control and data-flow information. Denotational slicing makes use of the functional semantics of a particular programming language and defines the various domains and appropriate mappings between them. Transformations are defined for each of the language constructs and applied to programs in a mathematical and systematic fashion. It is shown that program slices can be constructed denotationally and as a direct result can be specified precisely and simply.<>
{"title":"Denotational program slicing","authors":"P. A. Hausler","doi":"10.1109/HICSS.1989.48030","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48030","url":null,"abstract":"An original, theoretical definition of denotational program slicing is presented. Program slicing is a method for automatic program decomposition that is based exclusively on control and data-flow information. Denotational slicing makes use of the functional semantics of a particular programming language and defines the various domains and appropriate mappings between them. Transformations are defined for each of the language constructs and applied to programs in a mathematical and systematic fashion. It is shown that program slices can be constructed denotationally and as a direct result can be specified precisely and simply.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"266 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132860894","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48063
Bai Cheng, S. Kaplan
An overview is given of SEED, an automatic program development system that transforms specifications into code using program development methodologies. It is shown that top-down, stepwise program development techniques, originally intended for use by humans, are amenable to automation. When using the Dijkstra/Gries methodology, users refine the predicate logic-based specification of a problem, according to set of heuristics, into code. A major portion of the SEED project involved clarifying their heuristics, intended for human application, to facilitate the development of an executable rule based system. N. Dershowitz's fact introduction scheme (Artif. Intell., vol.25, 323-73, 1985) was used to allow the user to tailor SEED to a particular problem domain by adding to a fact base that is consulted during the rule application process. SEED accepts a specification as input and returns either a program or an error message if a program cannot be developed.<>
{"title":"A semantically oriented program synthesis system","authors":"Bai Cheng, S. Kaplan","doi":"10.1109/HICSS.1989.48063","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48063","url":null,"abstract":"An overview is given of SEED, an automatic program development system that transforms specifications into code using program development methodologies. It is shown that top-down, stepwise program development techniques, originally intended for use by humans, are amenable to automation. When using the Dijkstra/Gries methodology, users refine the predicate logic-based specification of a problem, according to set of heuristics, into code. A major portion of the SEED project involved clarifying their heuristics, intended for human application, to facilitate the development of an executable rule based system. N. Dershowitz's fact introduction scheme (Artif. Intell., vol.25, 323-73, 1985) was used to allow the user to tailor SEED to a particular problem domain by adding to a fact base that is consulted during the rule application process. SEED accepts a specification as input and returns either a program or an error message if a program cannot be developed.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133449596","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48113
D. Sutherland
A case study is presented in which increases in software development productivity were facilitated by changes in management that allowed for the surfacing of new forms of system development. Several of these forms as they were introduced into the HSF PLEXSUS environment are described. On the basis of this description, suggestions for future projects are given.<>
{"title":"Designing the software development environment: a case study","authors":"D. Sutherland","doi":"10.1109/HICSS.1989.48113","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48113","url":null,"abstract":"A case study is presented in which increases in software development productivity were facilitated by changes in management that allowed for the surfacing of new forms of system development. Several of these forms as they were introduced into the HSF PLEXSUS environment are described. On the basis of this description, suggestions for future projects are given.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114634710","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48008
E. Fuchs, S. Chappell
Bell Labs' software development paradigm is based on the practice of total quality control. This is a framework in which quality of the development (and other) processes is used as the driver for product quality, efficiency, cost, commitment, and employee and customer satisfaction. The authors discuss some tools and enhanced languages that have been found to be valuable. The quality metrics used and the results obtained with this approach are also considered.<>
{"title":"Software quality and productivity at AT&T Bell Laboratories","authors":"E. Fuchs, S. Chappell","doi":"10.1109/HICSS.1989.48008","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48008","url":null,"abstract":"Bell Labs' software development paradigm is based on the practice of total quality control. This is a framework in which quality of the development (and other) processes is used as the driver for product quality, efficiency, cost, commitment, and employee and customer satisfaction. The authors discuss some tools and enhanced languages that have been found to be valuable. The quality metrics used and the results obtained with this approach are also considered.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132953420","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48099
E. Helttula, Aulikki Hyrskykari, Kari-Jouko Räihä
ALADDIN (algorithm animation design and description using interaction) is a system for creating animations of algorithm executions with a minimal effort. To avoid the most laborious phase of producing an animation, which is programming the graphics needed in the animation, ALADDIN allows the user to design the graphics interactively with a graphical editor. An example elucidating how an animation can be designed using the system is given. Some details of the implementation of the system are examined more closely.<>
{"title":"Graphical specification of algorithm animations with ALADDIN","authors":"E. Helttula, Aulikki Hyrskykari, Kari-Jouko Räihä","doi":"10.1109/HICSS.1989.48099","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48099","url":null,"abstract":"ALADDIN (algorithm animation design and description using interaction) is a system for creating animations of algorithm executions with a minimal effort. To avoid the most laborious phase of producing an animation, which is programming the graphics needed in the animation, ALADDIN allows the user to design the graphics interactively with a graphical editor. An example elucidating how an animation can be designed using the system is given. Some details of the implementation of the system are examined more closely.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131703517","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48000
E.K. Heironimus, J. Tront
A technique for automatically inserting software mechanisms to detect single event upset (SEU) in distributed Ada systems is presented. SEUs may cause information corruption, leading to a change in program flow or causing a program to execute an infinite loop. Two cooperative software mechanisms for detecting the presence of these upsets are described. Automatic insertion of these mechanisms is discussed in relation to the structure of Ada software systems. A program, software modifier for upset detection (SMUD), has been written to automatically modify Ada application software and insert software upset detection mechanisms. As an example, the mechanisms have been incorporated into a system model that employs the MIL-STD-1553B communications protocol. This system model is used as a testbed for verifying that SMUD properly inserts the detection mechanisms. Ada is used for creating the simulation environment to exercise and verify the protocol. Simulation has been used to test and verify the proper functioning of the detection mechanisms. The testing methodology, a short description of the 1553B testbed, and a set of performance measures are presented.<>
{"title":"Insertion of fault detection mechanisms in distributed Ada software systems","authors":"E.K. Heironimus, J. Tront","doi":"10.1109/HICSS.1989.48000","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48000","url":null,"abstract":"A technique for automatically inserting software mechanisms to detect single event upset (SEU) in distributed Ada systems is presented. SEUs may cause information corruption, leading to a change in program flow or causing a program to execute an infinite loop. Two cooperative software mechanisms for detecting the presence of these upsets are described. Automatic insertion of these mechanisms is discussed in relation to the structure of Ada software systems. A program, software modifier for upset detection (SMUD), has been written to automatically modify Ada application software and insert software upset detection mechanisms. As an example, the mechanisms have been incorporated into a system model that employs the MIL-STD-1553B communications protocol. This system model is used as a testbed for verifying that SMUD properly inserts the detection mechanisms. Ada is used for creating the simulation environment to exercise and verify the protocol. Simulation has been used to test and verify the proper functioning of the detection mechanisms. The testing methodology, a short description of the 1553B testbed, and a set of performance measures are presented.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116081662","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}
Pub Date : 1989-01-03DOI: 10.1109/HICSS.1989.48067
M.M. Kim
It has been theorized that if a software system is developed using a rigorous methodology and is well documented and well structured, the resulting system will be more easily maintained. The author describes experiences with a large, real-time software system that successfully uses structured techniques, including an iterative life cycle during maintenance. The following advantages are found: (1) the completely documented, modular design makes it possible to estimate accurately the cost of enhancements, both in terms of manpower and schedule; (2) the existence of thorough and accurate user documentation permits the results of requirements analysis to be presented to the user in very specific terms, thereby increasing the opportunities for feedback; (3) the structured, documented design allows the system to be maintained by a less experienced staff, which reduces both cost and risk of attrition; and (4) the easily understood, structured code reduces the probability that minor functional enhancements will be difficult to install or will have an undesirable systemwide impact.<>
{"title":"Maintaining a well-structured software system","authors":"M.M. Kim","doi":"10.1109/HICSS.1989.48067","DOIUrl":"https://doi.org/10.1109/HICSS.1989.48067","url":null,"abstract":"It has been theorized that if a software system is developed using a rigorous methodology and is well documented and well structured, the resulting system will be more easily maintained. The author describes experiences with a large, real-time software system that successfully uses structured techniques, including an iterative life cycle during maintenance. The following advantages are found: (1) the completely documented, modular design makes it possible to estimate accurately the cost of enhancements, both in terms of manpower and schedule; (2) the existence of thorough and accurate user documentation permits the results of requirements analysis to be presented to the user in very specific terms, thereby increasing the opportunities for feedback; (3) the structured, documented design allows the system to be maintained by a less experienced staff, which reduces both cost and risk of attrition; and (4) the easily understood, structured code reduces the probability that minor functional enhancements will be difficult to install or will have an undesirable systemwide impact.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126989239","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}