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.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.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.296768
R. Kazman, L. Bass, Mike Webb, G. Abowd
While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is difficult for two main reasons. First, there is no common language used to describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's life cycle concerns -software quality concerns such as maintainability portability, modularity, reusability, and so forth. We address these shortcomings by describing three perspectives by which we can understand the description of a software architecture and then proposing a five-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the quality of modifiability.<>
{"title":"SAAM: a method for analyzing the properties of software architectures","authors":"R. Kazman, L. Bass, Mike Webb, G. Abowd","doi":"10.1109/ICSE.1994.296768","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296768","url":null,"abstract":"While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is difficult for two main reasons. First, there is no common language used to describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's life cycle concerns -software quality concerns such as maintainability portability, modularity, reusability, and so forth. We address these shortcomings by describing three perspectives by which we can understand the description of a software architecture and then proposing a five-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the quality of modifiability.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"53 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":"122375131","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.296777
I. Ben-Shaul, G. Kaiser
We present a model for decentralized Process Centered Environments (PCEs), which support concerted efforts among geographically-dispersed teams - each local team with its own autonomous process - and emphasize flexibility in the tradeoff between collaboration vs. autonomy. We consider both decentralized process modeling and decentralized process enaction. We describe a realization in the OZ decentralized PCE, which employs a rule-based formalism, and also investigate the application to PCEs based on Petri-nets.<>
{"title":"A paradigm for decentralized process modeling and its realization in the OZ environment","authors":"I. Ben-Shaul, G. Kaiser","doi":"10.1109/ICSE.1994.296777","DOIUrl":"https://doi.org/10.1109/ICSE.1994.296777","url":null,"abstract":"We present a model for decentralized Process Centered Environments (PCEs), which support concerted efforts among geographically-dispersed teams - each local team with its own autonomous process - and emphasize flexibility in the tradeoff between collaboration vs. autonomy. We consider both decentralized process modeling and decentralized process enaction. We describe a realization in the OZ decentralized PCE, which employs a rule-based formalism, and also investigate the application to PCEs based on Petri-nets.<<ETX>>","PeriodicalId":432962,"journal":{"name":"Proceedings of 16th International Conference on Software Engineering","volume":"2 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":"126210843","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}