Pub Date : 2001-12-04DOI: 10.1109/APSEC.2001.991512
Huai-kou Miao, Ling Liu, Chuanjiang Yu, Jijun Ming, Li Li
This paper introduces an integrated Z support tool, Z User Studio (ZUS), which was developed by the Formal Methods Research Group of Shanghai University. ZUS is an interactive, single-user tool, running under MS-Windows and NT It supports the production of well-formed Z specifications by providing facilities for building, editing, checking and viewing Z specification documents. It displays the Z constructs and symbols, as they would appear in most popular book on Z ZUS has two modes for editing specifications, text-based editor and graphical editor. The graphical editor provides a hierarchical structure directory for every current Z specification. ZUS implements a computer aided test cases generator (TCG).
{"title":"Z User Studio: An integrated support tool for Z specifications","authors":"Huai-kou Miao, Ling Liu, Chuanjiang Yu, Jijun Ming, Li Li","doi":"10.1109/APSEC.2001.991512","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991512","url":null,"abstract":"This paper introduces an integrated Z support tool, Z User Studio (ZUS), which was developed by the Formal Methods Research Group of Shanghai University. ZUS is an interactive, single-user tool, running under MS-Windows and NT It supports the production of well-formed Z specifications by providing facilities for building, editing, checking and viewing Z specification documents. It displays the Z constructs and symbols, as they would appear in most popular book on Z ZUS has two modes for editing specifications, text-based editor and graphical editor. The graphical editor provides a hierarchical structure directory for every current Z specification. ZUS implements a computer aided test cases generator (TCG).","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116629693","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991505
Somsak Phattarsukol, P. Muenchaisri
Clustering analysis has rarely been studied as a technique for object identification methods, although it has been broadly employed in data classification in a wide range of research areas. In this paper, we propose a review of clustering analysis methods and a scheme for applying hierarchical clustering analysis to facilitate identification of candidate objects in procedural source code. The study shows that clustering analysis is able to correctly group functions into meaningful clusters even though functions are written in an interleaved order. Clustering analysis can work well with the modular case and the tangled case without any additional support.
{"title":"Identifying candidate objects using hierarchical clustering analysis","authors":"Somsak Phattarsukol, P. Muenchaisri","doi":"10.1109/APSEC.2001.991505","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991505","url":null,"abstract":"Clustering analysis has rarely been studied as a technique for object identification methods, although it has been broadly employed in data classification in a wide range of research areas. In this paper, we propose a review of clustering analysis methods and a scheme for applying hierarchical clustering analysis to facilitate identification of candidate objects in procedural source code. The study shows that clustering analysis is able to correctly group functions into meaningful clusters even though functions are written in an interleaved order. Clustering analysis can work well with the modular case and the tangled case without any additional support.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127147771","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991489
Christos Tjortjis, P. Layzell
Accelerating the learning curve of software maintainers working on systems with which they have little familiarity motivated this study. A working hypothesis was that automated methods are needed to provide a fast, rough grasp of a system, to enable practitioners not familiar with it, to commence maintenance with a level of confidence as if they had this familiarity. Expert maintainers were interviewed regarding their strategies and information needs to test this hypothesis. The overriding message is their need for a "starting point" when analysing code. They also need standardised, reliable and communicable information about a system as an equivalent to knowledge available only to developers or experienced maintainers. These needs are addressed by the proposed "roughcut" approach to program comprehension. Work underway assesses the suitability of using data mining techniques on data derived from source code to provide high level models of a system and module interrelationships.
{"title":"Expert maintainers' strategies and needs when understanding software: a case study approach","authors":"Christos Tjortjis, P. Layzell","doi":"10.1109/APSEC.2001.991489","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991489","url":null,"abstract":"Accelerating the learning curve of software maintainers working on systems with which they have little familiarity motivated this study. A working hypothesis was that automated methods are needed to provide a fast, rough grasp of a system, to enable practitioners not familiar with it, to commence maintenance with a level of confidence as if they had this familiarity. Expert maintainers were interviewed regarding their strategies and information needs to test this hypothesis. The overriding message is their need for a \"starting point\" when analysing code. They also need standardised, reliable and communicable information about a system as an equivalent to knowledge available only to developers or experienced maintainers. These needs are addressed by the proposed \"roughcut\" approach to program comprehension. Work underway assesses the suitability of using data mining techniques on data derived from source code to provide high level models of a system and module interrelationships.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129066154","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991502
C. Fidge
Computer software now controls critical systems worldwide. International standards require such programs to be produced from mathematically-precise specifications, but the techniques and tools involved are highly complex and unfamiliar to most programmers. We present a formal basis for extending a tool already used by software developers, the program compiler, to undertake much of the task automatically. This is done by devising a code generation strategy, based on program refinement theory, capable of translating specification constructs embedded in programs into executable code, without the need for programmer intervention.
{"title":"Compilation of specifications","authors":"C. Fidge","doi":"10.1109/APSEC.2001.991502","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991502","url":null,"abstract":"Computer software now controls critical systems worldwide. International standards require such programs to be produced from mathematically-precise specifications, but the techniques and tools involved are highly complex and unfamiliar to most programmers. We present a formal basis for extending a tool already used by software developers, the program compiler, to undertake much of the task automatically. This is done by devising a code generation strategy, based on program refinement theory, capable of translating specification constructs embedded in programs into executable code, without the need for programmer intervention.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125635818","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991487
P. Chevalley
This paper presents a mutation analysis tool based on a reflective macro system. Mutation analysis is a powerful and computationally expensive technique that measures the effectiveness of test cases for revealing faults. The principal expense of mutation analysis is that many faulty versions of the program under test, called mutants, must be repeatedly executed. This technique has originally been developed in the framework of procedural programs, and should be revisited to consider some types of faults likely to appear in object-oriented environments. The mutation system detailed in this paper deals with object-oriented concepts introduced in the Java programming language, and is able to generate automatically mutant programs according to 20 types of object-oriented faults.
{"title":"Applying mutation analysis for object-oriented programs using a reflective approach","authors":"P. Chevalley","doi":"10.1109/APSEC.2001.991487","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991487","url":null,"abstract":"This paper presents a mutation analysis tool based on a reflective macro system. Mutation analysis is a powerful and computationally expensive technique that measures the effectiveness of test cases for revealing faults. The principal expense of mutation analysis is that many faulty versions of the program under test, called mutants, must be repeatedly executed. This technique has originally been developed in the framework of procedural programs, and should be revisited to consider some types of faults likely to appear in object-oriented environments. The mutation system detailed in this paper deals with object-oriented concepts introduced in the Java programming language, and is able to generate automatically mutant programs according to 20 types of object-oriented faults.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"175 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132226777","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991498
Jaejoon Lee, Sucheol Ha, K. Kang, Youngyeol Choo, Yoonpyo Hong, Hwawon Hwang
Architecture evaluation to confirm that the quality requirements were satisfied by the developed software architecture is one of the most important issues in architecture-based software development approaches. Architecture Tradeoff Analysis Method (ATAM) is one such method, and the scenario-based quality requirement elicitation is an important factor for applying the method. We applied the method to factory-process-controlling systems with our industrial partner and this paper presents difficulties for quality requirement elicitation and a strategy to address these problems.
{"title":"Quality requirement elicitation for the architecture evaluation of process computer systems","authors":"Jaejoon Lee, Sucheol Ha, K. Kang, Youngyeol Choo, Yoonpyo Hong, Hwawon Hwang","doi":"10.1109/APSEC.2001.991498","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991498","url":null,"abstract":"Architecture evaluation to confirm that the quality requirements were satisfied by the developed software architecture is one of the most important issues in architecture-based software development approaches. Architecture Tradeoff Analysis Method (ATAM) is one such method, and the scenario-based quality requirement elicitation is an important factor for applying the method. We applied the method to factory-process-controlling systems with our industrial partner and this paper presents difficulties for quality requirement elicitation and a strategy to address these problems.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"806 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131788141","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991465
E. Johnsen, Wenhui Zhang, Olaf Owe, D. Aredo
Convenience in specification and possibility for formal analysis are, to some extent, exclusive aspects of system specification. This paper describes an approach that emphasizes both aspects, by combining UML with a language for observable behavior of interfaces, OUN. These are complementary in the sense that one is graphical and semi-formal while the other is textual and formal. The approach is demonstrated by a case study.
{"title":"Specification of distributed systems with a combination of graphical and formal languages","authors":"E. Johnsen, Wenhui Zhang, Olaf Owe, D. Aredo","doi":"10.1109/APSEC.2001.991465","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991465","url":null,"abstract":"Convenience in specification and possibility for formal analysis are, to some extent, exclusive aspects of system specification. This paper describes an approach that emphasizes both aspects, by combining UML with a language for observable behavior of interfaces, OUN. These are complementary in the sense that one is graphical and semi-formal while the other is textual and formal. The approach is demonstrated by a case study.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115078835","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991475
Huibiao Zhu, Jonathan P. Bowen, Jifeng He
This paper presents the derivation of an operational semantics from a denotational semantics for a subset of the widely used hardware description language Verilog. Our aim is to build equivalence between the operational and denotational semantics. We propose a discrete denotational semantic model for Verilog. A phase semantics is provided for each type of transition in order to derive the operational semantics.
{"title":"Deriving operational semantics from denotational semantics for Verilog","authors":"Huibiao Zhu, Jonathan P. Bowen, Jifeng He","doi":"10.1109/APSEC.2001.991475","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991475","url":null,"abstract":"This paper presents the derivation of an operational semantics from a denotational semantics for a subset of the widely used hardware description language Verilog. Our aim is to build equivalence between the operational and denotational semantics. We propose a discrete denotational semantic model for Verilog. A phase semantics is provided for each type of transition in order to derive the operational semantics.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128755086","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991481
Hoijin Yoon, Byoungju Choi
This paper proposes a new testing technique for component composition of EJBs. We define components made by a current developer as white box components and components made by another developer as black box components. Software from CBSD consists of black box components and white box components, and composition errors result from the interaction between black box components and white box components, or the interaction between two white box components. Our technique tests these composition errors. We select test cases by injecting a fault into a specific parts of the white box component. The specific parts we define in this paper lead to the high effectiveness of our technique. We evaluate this effectiveness through an experiment and a theorem. In addition, we provide an example in Enterprise JavaBeans.
{"title":"An effective testing technique for component composition in EJBs","authors":"Hoijin Yoon, Byoungju Choi","doi":"10.1109/APSEC.2001.991481","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991481","url":null,"abstract":"This paper proposes a new testing technique for component composition of EJBs. We define components made by a current developer as white box components and components made by another developer as black box components. Software from CBSD consists of black box components and white box components, and composition errors result from the interaction between black box components and white box components, or the interaction between two white box components. Our technique tests these composition errors. We select test cases by injecting a fault into a specific parts of the white box component. The specific parts we define in this paper lead to the high effectiveness of our technique. We evaluate this effectiveness through an experiment and a theorem. In addition, we provide an example in Enterprise JavaBeans.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129739846","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 : 2001-12-04DOI: 10.1109/APSEC.2001.991495
E. Tronci, G. D. Penna, B. Intrigila, M. V. Zilli
The main barrier to automatic verification of concurrent systems is the huge amount of memory required to complete the verification task (state explosion). In this paper we present a probabilistic algorithm for automatic verification via model checking. Our algorithm trades space with time. In particular, when memory is full because of state explosion our algorithm does not give up verification. Instead it just proceeds at a lower speed and its results will only hold with some arbitrarily small error probability. Our preliminary experimental results show that by using our probabilistic algorithm we can typically save more than 30% of RAM with an average time penalty of about 100% w.r.t. a deterministic state space exploration with enough memory to complete the verification task. This is better than giving up the verification task because of lack of memory.
{"title":"A probabilistic approach to automatic verification of concurrent systems","authors":"E. Tronci, G. D. Penna, B. Intrigila, M. V. Zilli","doi":"10.1109/APSEC.2001.991495","DOIUrl":"https://doi.org/10.1109/APSEC.2001.991495","url":null,"abstract":"The main barrier to automatic verification of concurrent systems is the huge amount of memory required to complete the verification task (state explosion). In this paper we present a probabilistic algorithm for automatic verification via model checking. Our algorithm trades space with time. In particular, when memory is full because of state explosion our algorithm does not give up verification. Instead it just proceeds at a lower speed and its results will only hold with some arbitrarily small error probability. Our preliminary experimental results show that by using our probabilistic algorithm we can typically save more than 30% of RAM with an average time penalty of about 100% w.r.t. a deterministic state space exploration with enough memory to complete the verification task. This is better than giving up the verification task because of lack of memory.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114191318","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}