Pub Date : 1994-05-21DOI: 10.1109/ICSE.1994.296774
D. Garlan, J. Habermann, D. Notkin
The last decade and a half of Nico Habermann's research career focused on software engineering, and in particular on software development environments. His earlier work was oriented more towards operating systems and programming language research. We take this opportunity to look back at his research, putting it in a larger perspective, identifying some general themes that characterize his contributions to software engineering in particular, and to computer science in general.<>
{"title":"Nico Habermann's research: a brief retrospective","authors":"D. Garlan, J. Habermann, D. Notkin","doi":"10.1109/ICSE.1994.296774","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296774","url":null,"abstract":"The last decade and a half of Nico Habermann's research career focused on software engineering, and in particular on software development environments. His earlier work was oriented more towards operating systems and programming language research. We take this opportunity to look back at his research, putting it in a larger perspective, identifying some general themes that characterize his contributions to software engineering in particular, and to computer science in general.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116842612","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296783
Premkumar T. Devanbu, David S. Rosenblum, A. Wolf
Many software testing and analyse's tools manipulate graph representations of programs, such as abstract syntax trees or abstract semantics graphs. Hand-crafting such tools in conventional programming languages can be difficult, error prone, and time consuming. Our approach is to use application generators targeted for the domain of graph-representation-based testing and analysis tools. Moreover, we generate the generators themselves, so that the development of tools based on different languages and/or representations can also be supported better. In this paper we report on our experiences in developing a system called Aria that generates testing and analysis tools based on an abstract semantics graph representation for C and C++ cabled Reprise. Aria itself was generated by the Genoa system. We demonstrate the utility of Aria and, thereby, the pourer of our approach, by showing Aria's use in the development of a tool that derives control dependence graphs directly from Reprise abstract semantics graphs.<>
{"title":"Automated construction of testing and analysis tools","authors":"Premkumar T. Devanbu, David S. Rosenblum, A. Wolf","doi":"10.1109/ICSE.1994.296783","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296783","url":null,"abstract":"Many software testing and analyse's tools manipulate graph representations of programs, such as abstract syntax trees or abstract semantics graphs. Hand-crafting such tools in conventional programming languages can be difficult, error prone, and time consuming. Our approach is to use application generators targeted for the domain of graph-representation-based testing and analysis tools. Moreover, we generate the generators themselves, so that the development of tools based on different languages and/or representations can also be supported better. In this paper we report on our experiences in developing a system called Aria that generates testing and analysis tools based on an abstract semantics graph representation for C and C++ cabled Reprise. Aria itself was generated by the Genoa system. We demonstrate the utility of Aria and, thereby, the pourer of our approach, by showing Aria's use in the development of a tool that derives control dependence graphs directly from Reprise abstract semantics graphs.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130497761","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296773
S. Greenspan, J. Mylopoulos, Alexander Borgida
Research issues related to requirements modeling are introduced and discussed through a review of the requirements modeling language RML, its peers and its successors from the time it was first proposed at the Sixth International Conference on Software Engineering (ICSE-6) to the present - ten ICSEs later. We note that the central theme of "Capturing More World Knowledge" in the original RML proposal is becoming increasingly important in requirements engineering. The paper highlights key ideas and research issues that have driven RML and its peers, evaluates them retrospectively in the context of experience and more recent developments, and points out significant remaining problems and directions for requirements modeling research.<>
{"title":"On formal requirements modeling languages: RML revisited","authors":"S. Greenspan, J. Mylopoulos, Alexander Borgida","doi":"10.1109/ICSE.1994.296773","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296773","url":null,"abstract":"Research issues related to requirements modeling are introduced and discussed through a review of the requirements modeling language RML, its peers and its successors from the time it was first proposed at the Sixth International Conference on Software Engineering (ICSE-6) to the present - ten ICSEs later. We note that the central theme of \"Capturing More World Knowledge\" in the original RML proposal is becoming increasingly important in requirements engineering. The paper highlights key ideas and research issues that have driven RML and its peers, evaluates them retrospectively in the context of experience and more recent developments, and points out significant remaining problems and directions for requirements modeling research.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121515867","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296771
Philip M. Johnson
Formal technical review (FTR) is an essential component of all software quality assessment, assurance and improvement techniques. However, current FTR practice leads to significant expense, clerical overhead, group process obstacles, and research methodology problems. CSRS is an instrumented, computer-supported cooperative work environment for formal technical review. CSRS addresses problems in the practice of FTR by providing computer support for both the process and products of FTR. CSRS also addresses problems in research on FTR through instrumentation supporting fine-grained, high quality data collection and analysis. This paper describes CSRS, a computer-mediated review method called FTArm, and selected findings from their use to explore issues in formal technical review.<>
{"title":"An instrumented approach to improving software quality through formal technical review","authors":"Philip M. Johnson","doi":"10.1109/ICSE.1994.296771","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296771","url":null,"abstract":"Formal technical review (FTR) is an essential component of all software quality assessment, assurance and improvement techniques. However, current FTR practice leads to significant expense, clerical overhead, group process obstacles, and research methodology problems. CSRS is an instrumented, computer-supported cooperative work environment for formal technical review. CSRS addresses problems in the practice of FTR by providing computer support for both the process and products of FTR. CSRS also addresses problems in research on FTR through instrumentation supporting fine-grained, high quality data collection and analysis. This paper describes CSRS, a computer-mediated review method called FTArm, and selected findings from their use to explore issues in formal technical review.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"135 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115041833","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296769
R. Mili, A. Mili, R. Mittermeir
Software reuse poses a number of challenges, ranging from managerial to technical - not least of these is the problem of storing and retrieving software components in a time efficient manner. This paper presents the design and implementation of an automated software repository, where software components can be automatically stored and retrieved. This repository is based on a formal representation of programs and their specifications, as well as a refinement ordering of these specifications.<>
{"title":"Storing and retrieving software components: a refinement based system","authors":"R. Mili, A. Mili, R. Mittermeir","doi":"10.1109/ICSE.1994.296769","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296769","url":null,"abstract":"Software reuse poses a number of challenges, ranging from managerial to technical - not least of these is the problem of storing and retrieving software components in a time efficient manner. This paper presents the design and implementation of an automated software repository, where software components can be automatically stored and retrieved. This repository is based on a formal representation of programs and their specifications, as well as a refinement ordering of these specifications.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133483947","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296767
R. Allen, D. Garlan
As software systems become more complex the overall system structure - or software architecture - becomes a central design problem. An important step towards an engineering discipline of software is a formal basis for describing and analyzing these designs. We present a theory for one aspect of architectural description, the interactions between components. The key idea is to define architectural connectors as explicit semantic entities. These are specified as a collection of protocols that characterize each of the participant roles in an interaction and how these roles interact. We illustrate how this scheme can be used to define a variety of common architectural connectors. We provide a formal semantics and show how this lends to a sound deductive system in which architectural compatibility can be checked in a way analogous to type checking in programming languages.<>
{"title":"Formalizing architectural connection","authors":"R. Allen, D. Garlan","doi":"10.1109/ICSE.1994.296767","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296767","url":null,"abstract":"As software systems become more complex the overall system structure - or software architecture - becomes a central design problem. An important step towards an engineering discipline of software is a formal basis for describing and analyzing these designs. We present a theory for one aspect of architectural description, the interactions between components. The key idea is to define architectural connectors as explicit semantic entities. These are specified as a collection of protocols that characterize each of the participant roles in an interaction and how these roles interact. We illustrate how this scheme can be used to define a variety of common architectural connectors. We provide a formal semantics and show how this lends to a sound deductive system in which architectural compatibility can be checked in a way analogous to type checking in programming languages.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130004788","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296776
K. Yasumoto, T. Higashino, K. Taniguchi
Software processes can be treated as cooperative works among several engineers. In order to enact a software process in a distributed environment, the engineers must communicate with each other for exchanging data values and synchronization messages. Such communications should be described in a process description for enacting the process automatically and clarifying the engineers' work. Since these communications are numerous, it is troublesome for the process designers to describe them minutely in the process description. They also make the description unreadable. We propose a formal software process model where we describe only a whole description of a process in which we describe only the contents and temporal orders of primitive activities, and do not specify the communications. From the whole description, we derive each engineer's individual description, automatically where the contents and orders of his activities and communications to others are described. A whole process is enacted by executing all individual descriptions in parallel. Both whole and individual descriptions are described in LOTOS/SPD, an extension of the formal specification language LOTOS. We have also developed a support system for deriving the individual descriptions and executing them on UNIX machines.<>
{"title":"Software process description using LOTOS and its enaction","authors":"K. Yasumoto, T. Higashino, K. Taniguchi","doi":"10.1109/ICSE.1994.296776","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296776","url":null,"abstract":"Software processes can be treated as cooperative works among several engineers. In order to enact a software process in a distributed environment, the engineers must communicate with each other for exchanging data values and synchronization messages. Such communications should be described in a process description for enacting the process automatically and clarifying the engineers' work. Since these communications are numerous, it is troublesome for the process designers to describe them minutely in the process description. They also make the description unreadable. We propose a formal software process model where we describe only a whole description of a process in which we describe only the contents and temporal orders of primitive activities, and do not specify the communications. From the whole description, we derive each engineer's individual description, automatically where the contents and orders of his activities and communications to others are described. A whole process is enacted by executing all individual descriptions in parallel. Both whole and individual descriptions are described in LOTOS/SPD, an extension of the formal specification language LOTOS. We have also developed a support system for deriving the individual descriptions and executing them on UNIX machines.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"262 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132437036","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296770
A. Porter, L. Votta
Software requirements specifications (SRS) are usually validated by inspections, in which several reviewers read all or part of the specification and search for defects. We hypothesize that different methods for conducting these searches may have significantly different rates of success. Using a controlled experiment, we show that a scenario-based detection method, in which each reviewer executes a specific procedure to discover a particular class of defects has a higher defect detection rate than either ad hoc or checklist methods. We describe the design, execution and analysis of the experiment so others may reproduce it and test our results for different kinds of software developments and different populations of software engineers.<>
{"title":"An experiment to assess different defect detection methods for software requirements inspections","authors":"A. Porter, L. Votta","doi":"10.1109/ICSE.1994.296770","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296770","url":null,"abstract":"Software requirements specifications (SRS) are usually validated by inspections, in which several reviewers read all or part of the specification and search for defects. We hypothesize that different methods for conducting these searches may have significantly different rates of success. Using a controlled experiment, we show that a scenario-based detection method, in which each reviewer executes a specific procedure to discover a particular class of defects has a higher defect detection rate than either ad hoc or checklist methods. We describe the design, execution and analysis of the experiment so others may reproduce it and test our results for different kinds of software developments and different populations of software engineers.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133937497","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 : 1994-05-21DOI: 10.1109/ICSE.1994.672727
S. Fickas, P. Selfridge
Are requirements modeling languages, because of their subject matter, fundamentally different from programming and specification languages whose subject matter (software systems) is man-made, bounded and objectively known? As such, do designers of requirements modeling languages need to turn to research in areas other than core computer systems and programming languages (areas such as knowledge representation), in search of ideas and research results that can serve as basis for the design of their languages?
{"title":"software engineering and artificial intelligence","authors":"S. Fickas, P. Selfridge","doi":"10.1109/ICSE.1994.672727","DOIUrl":"https://doi.org/10.1109/ICSE.1994.672727","url":null,"abstract":"Are requirements modeling languages, because of their subject matter, fundamentally different from programming and specification languages whose subject matter (software systems) is man-made, bounded and objectively known? As such, do designers of requirements modeling languages need to turn to research in areas other than core computer systems and programming languages (areas such as knowledge representation), in search of ideas and research results that can serve as basis for the design of their languages?","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124586233","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 : 1994-05-21DOI: 10.1109/ICSE.1994.296788
W. Tracz
In ACM Software Engineering Notices, vol. 13, no. 1, pp. 17-21 (1988), the author published the paper "Software reuse myths". This paper comments on these "myths" in the light of recent technology advances: (1) software reuse is a technical problem; (2) special tools are needed for software reuse; (3) reusing code results in huge increases in productivity; (4) artificial intelligence will solve the reuse problem; (5) the Japanese have solved the reuse problem; (6) Ada has solved the reuse problem; (7) designing software from reusable parts is like designing hardware using integrated circuits; (8) reused software is the same as reusable software; and (9) software reuse will just happen.<>
{"title":"Software reuse myths revisited","authors":"W. Tracz","doi":"10.1109/ICSE.1994.296788","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296788","url":null,"abstract":"In ACM Software Engineering Notices, vol. 13, no. 1, pp. 17-21 (1988), the author published the paper \"Software reuse myths\". This paper comments on these \"myths\" in the light of recent technology advances: (1) software reuse is a technical problem; (2) special tools are needed for software reuse; (3) reusing code results in huge increases in productivity; (4) artificial intelligence will solve the reuse problem; (5) the Japanese have solved the reuse problem; (6) Ada has solved the reuse problem; (7) designing software from reusable parts is like designing hardware using integrated circuits; (8) reused software is the same as reusable software; and (9) software reuse will just happen.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115533541","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}