Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615462
G. Canfora, A. De Lucia, G. Di Lucca
Most current reverse engineering techniques start with an analysis of the system's source code to derive structural information, based on compiler technology. As a consequence of the maturity of the field, several formal program models exist that have allowed the automatic generation of language processing front-ends. However, the software engineer has to code the data structures that implement the program model and the algorithms that implement the desired analysis. Thus, while the domain of code analysis is well understood, economic convenience very often leads to rigid code analysers that perform a fixed set of analyses and produce standard reports that users can only customise marginally. We have implemented a system for developing code analysers that uses a unique database to store both a no-loss fine-grained intermediate representation and the analysis results. The analysers are automatically generated from a very high-level specification of the desired analyses expressed in a domain-oriented language. We use an algebraic representation, called F(p), as the user-visible intermediate representation. Analysers are specified in a logic-based language, called F(p)-l, which allows the specification of an analysis in the form of a traversal of an algebraic expression, with accesses to, and stores of, the database information that the algebraic expression indexes. A foreign-language interface allows the analysers to be embedded into C programs to facilitate interoperation with other tools.
{"title":"A system for generating reverse engineering tools","authors":"G. Canfora, A. De Lucia, G. Di Lucca","doi":"10.1109/STEP.1997.615462","DOIUrl":"https://doi.org/10.1109/STEP.1997.615462","url":null,"abstract":"Most current reverse engineering techniques start with an analysis of the system's source code to derive structural information, based on compiler technology. As a consequence of the maturity of the field, several formal program models exist that have allowed the automatic generation of language processing front-ends. However, the software engineer has to code the data structures that implement the program model and the algorithms that implement the desired analysis. Thus, while the domain of code analysis is well understood, economic convenience very often leads to rigid code analysers that perform a fixed set of analyses and produce standard reports that users can only customise marginally. We have implemented a system for developing code analysers that uses a unique database to store both a no-loss fine-grained intermediate representation and the analysis results. The analysers are automatically generated from a very high-level specification of the desired analyses expressed in a domain-oriented language. We use an algebraic representation, called F(p), as the user-visible intermediate representation. Analysers are specified in a logic-based language, called F(p)-l, which allows the specification of an analysis in the form of a traversal of an algebraic expression, with accesses to, and stores of, the database information that the algebraic expression indexes. A foreign-language interface allows the analysers to be embedded into C programs to facilitate interoperation with other tools.","PeriodicalId":68622,"journal":{"name":"软件","volume":"35 1","pages":"34-44"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81102570","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 : 1997-07-14DOI: 10.1109/STEP.1997.615524
S. Shapiro, S. Woolgar
The practice of software development has been viewed by some as marked by anarchy and fragmentation and by others as characterized by order and universalism. How is it that two essentially opposite stereotypes of the way software technologists work have gained such prominence? The paper argues that both characterizations are valid and explores them in the context of an ethnographic and historical investigation of software process standards in a computer company. These tendencies toward order and disorder manifest themselves in several different ways which suggest that both forces are an inescapable concomitant of working with software. As a result, these tendencies must be managed in tandem to achieve an equilibrium rather than dealt with in isolation. This is likely to require sophisticated forms of professional judgement on the part of practitioners.
{"title":"Balancing acts: reconciling competing visions of the way software technologists work","authors":"S. Shapiro, S. Woolgar","doi":"10.1109/STEP.1997.615524","DOIUrl":"https://doi.org/10.1109/STEP.1997.615524","url":null,"abstract":"The practice of software development has been viewed by some as marked by anarchy and fragmentation and by others as characterized by order and universalism. How is it that two essentially opposite stereotypes of the way software technologists work have gained such prominence? The paper argues that both characterizations are valid and explores them in the context of an ethnographic and historical investigation of software process standards in a computer company. These tendencies toward order and disorder manifest themselves in several different ways which suggest that both forces are an inescapable concomitant of working with software. As a result, these tendencies must be managed in tandem to achieve an equilibrium rather than dealt with in isolation. This is likely to require sophisticated forms of professional judgement on the part of practitioners.","PeriodicalId":68622,"journal":{"name":"软件","volume":"31 1","pages":"364-370"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74677731","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 : 1997-07-14DOI: 10.1109/STEP.1997.615482
R. Kusters, R. Solingen, J. Trienekens
Many researchers and practitioners have recognised that the perception of 'quality' is largely influenced by personal view and application context. Depending on personal goals, interests and background, the interpretation of the quality concept is different per individual. In this paper, an approach is suggested by which the different user perceptions on quality are modelled, and can be addressed. This Multi-party Chain model supports the explanation of the various views on product quality of all users. Discussion among the parties involved is therefore enabled. Based on concensus the appropriate measures can be selected. The model should operationalise the basic relation between process and product, it enables the definition of metrics to evaluate process improvements, and links engineering activities to user requirements. The usefulness of the model is validated in a case-study.
{"title":"User-perceptions of embedded software quality","authors":"R. Kusters, R. Solingen, J. Trienekens","doi":"10.1109/STEP.1997.615482","DOIUrl":"https://doi.org/10.1109/STEP.1997.615482","url":null,"abstract":"Many researchers and practitioners have recognised that the perception of 'quality' is largely influenced by personal view and application context. Depending on personal goals, interests and background, the interpretation of the quality concept is different per individual. In this paper, an approach is suggested by which the different user perceptions on quality are modelled, and can be addressed. This Multi-party Chain model supports the explanation of the various views on product quality of all users. Discussion among the parties involved is therefore enabled. Based on concensus the appropriate measures can be selected. The model should operationalise the basic relation between process and product, it enables the definition of metrics to evaluate process improvements, and links engineering activities to user requirements. The usefulness of the model is validated in a case-study.","PeriodicalId":68622,"journal":{"name":"软件","volume":"8 1","pages":"184-197"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80697578","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 : 1997-07-14DOI: 10.1109/STEP.1997.615471
J. Rivett-Carnac
In a dealing-room system at a London bank, the transaction capture programs had been built using a GUI-based prototyping approach. This had led to programs with superficial similarity but inconsistency of internal structure which made maintenance difficult. To re-engineer the programs a control framework was devised separating the GUI interface (presentation layer), business rules and persistent storage. The framework allows business rules to be developed as independent, co-operating components. This makes it easier to develop and add new function or re-use previously-developed function. Business rule components are developed and tested separately, then used as building blocks for development of more complex components. They are re-usable because the same business constraints and calculations apply to many different transaction types.
{"title":"An object-oriented framework for transaction capture using co-operating business rule components","authors":"J. Rivett-Carnac","doi":"10.1109/STEP.1997.615471","DOIUrl":"https://doi.org/10.1109/STEP.1997.615471","url":null,"abstract":"In a dealing-room system at a London bank, the transaction capture programs had been built using a GUI-based prototyping approach. This had led to programs with superficial similarity but inconsistency of internal structure which made maintenance difficult. To re-engineer the programs a control framework was devised separating the GUI interface (presentation layer), business rules and persistent storage. The framework allows business rules to be developed as independent, co-operating components. This makes it easier to develop and add new function or re-use previously-developed function. Business rule components are developed and tested separately, then used as building blocks for development of more complex components. They are re-usable because the same business constraints and calculations apply to many different transaction types.","PeriodicalId":68622,"journal":{"name":"软件","volume":"79 1","pages":"126-134"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91210769","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 : 1997-07-14DOI: 10.1109/STEP.1997.615469
V. Kopanas, V. Sylaidis, I. Nanakis
The paper reports on the experiences from an ESSI project, called PITA, carried out at INTRACOM's department developing software for digital telephony applications. PITA introduced the Goal-Question-Metric (GQM) approach via the AMI method and tool, focusing on a typical project as a baseline. Expected benefits from PITA include: reduction of software development cost, shortening of the time-to-market for software products and increased product reliability at customer's site. The paper presents the rationale of the experiment, a brief account of the GQM method and the AMI approach, the objectives and the organisation of the experiment, its relation to other ongoing improvement efforts, the results and conclusions from the experiment, lessons learned and plans for future activities.
{"title":"GQM-based improvement of embedded, real-time software development practices","authors":"V. Kopanas, V. Sylaidis, I. Nanakis","doi":"10.1109/STEP.1997.615469","DOIUrl":"https://doi.org/10.1109/STEP.1997.615469","url":null,"abstract":"The paper reports on the experiences from an ESSI project, called PITA, carried out at INTRACOM's department developing software for digital telephony applications. PITA introduced the Goal-Question-Metric (GQM) approach via the AMI method and tool, focusing on a typical project as a baseline. Expected benefits from PITA include: reduction of software development cost, shortening of the time-to-market for software products and increased product reliability at customer's site. The paper presents the rationale of the experiment, a brief account of the GQM method and the AMI approach, the objectives and the organisation of the experiment, its relation to other ongoing improvement efforts, the results and conclusions from the experiment, lessons learned and plans for future activities.","PeriodicalId":68622,"journal":{"name":"软件","volume":"25 1","pages":"105-115"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87637247","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 : 1997-07-14DOI: 10.1109/STEP.1997.615522
Andy Lynex, P. Layzell
Reuse technology is no longer solely restricted to the research domain. Companies that have adopted its techniques to enhance their development process have reported useful improvements in development productivity and quality. We looked at why these improvements are not being exploited more widely within industry as a whole. By means of questionnaires and interviews with selected senior IT personnel at organisations with large IT requirements we have been able to identify factors preventing or inhibiting reuse adoption. Proposing solutions to eliminate the causes of these, enables us to suggest how companies looking at reuse techniques may adapt in order to better their chances of success.
{"title":"Understanding resistance to software reuse","authors":"Andy Lynex, P. Layzell","doi":"10.1109/STEP.1997.615522","DOIUrl":"https://doi.org/10.1109/STEP.1997.615522","url":null,"abstract":"Reuse technology is no longer solely restricted to the research domain. Companies that have adopted its techniques to enhance their development process have reported useful improvements in development productivity and quality. We looked at why these improvements are not being exploited more widely within industry as a whole. By means of questionnaires and interviews with selected senior IT personnel at organisations with large IT requirements we have been able to identify factors preventing or inhibiting reuse adoption. Proposing solutions to eliminate the causes of these, enables us to suggest how companies looking at reuse techniques may adapt in order to better their chances of success.","PeriodicalId":68622,"journal":{"name":"软件","volume":"T153 1","pages":"339-349"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82638965","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 : 1997-07-14DOI: 10.1109/STEP.1997.615501
G. Cugola, L. Lavazza, V. Nart, S. Manca, M. R. Pagone
Configuration management (CM) is widely recognized as one of the most important practices that have to be established for developing software in an ordered and controlled way. Despite this, the process of setting-up CM has obtained till now very little attention. This paper reports the lessons learned in establishing CM at SIA (Societa Interbancaria per l'Automazione), the organization in charge of running, developing, and maintaining the National Inter-bank Network of Italy.
配置管理(CM)被广泛认为是最重要的实践之一,必须以有序和可控的方式开发软件。尽管如此,建立CM的过程至今很少受到关注。本文报告了在SIA (Societa Interbancaria per l'Automazione)建立CM的经验教训,该组织负责运行,开发和维护意大利国家银行间网络。
{"title":"An experience in setting-up a configuration management environment","authors":"G. Cugola, L. Lavazza, V. Nart, S. Manca, M. R. Pagone","doi":"10.1109/STEP.1997.615501","DOIUrl":"https://doi.org/10.1109/STEP.1997.615501","url":null,"abstract":"Configuration management (CM) is widely recognized as one of the most important practices that have to be established for developing software in an ordered and controlled way. Despite this, the process of setting-up CM has obtained till now very little attention. This paper reports the lessons learned in establishing CM at SIA (Societa Interbancaria per l'Automazione), the organization in charge of running, developing, and maintaining the National Inter-bank Network of Italy.","PeriodicalId":68622,"journal":{"name":"软件","volume":"80 1","pages":"251-262"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89405365","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}