{"title":"Adapting the personal software process (PSP) to formal methods","authors":"A. Babar, John Michael Potter","doi":"10.1109/ASWEC.2005.12","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.12","url":null,"abstract":"The goal of good software engineering practice is to deliver reliable, high-quality software on-time and on-budget. In this paper we advocate the combination of two modern approaches towards achieving this goal. On the one hand, with an eye to software quality, we consider adopting a state-based formal development method, the B-method. In terms of tool support and industry adoption, this is the most advanced such method. On the other, aimed at improving the development practices of individual developers, we consider the adoption of the personal software process (PSP). To our knowledge this combination of formal methods and PSP has not been considered before; we term our special version of the combination B-PSP. We present a re-design of the PSP data collection and analysis tasks specifically geared towards the B-Method. Although we support the general framework of PSP, we also believe that developers do not enjoy having their creative and thinking process being interrupted by the need to regularly log activities. With this in mind, we present the PSP tasks in a style which should be acceptable to B developers. We view the results of this paper as a specification for some of the data logging and analysis requirements of a B-PSP-based development.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127159316","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}
{"title":"A UML approach to the generation of test sequences for Java-based concurrent systems","authors":"Soon-Kyeong Kim, Luke Wildman, R. Duke","doi":"10.1109/ASWEC.2005.11","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.11","url":null,"abstract":"Starting with a UML specification that captures the underlying functionality of some given Java-based concurrent system, we describe a systematic way to construct, from this specification, test sequences for validating an implementation of the system. The approach is to first extend the specification to create UML state machines that directly address those aspects of the system we wish to test. To be specific, the extended UML state machines can capture state information about the number of waiting threads or the number of threads blocked on a given object. Using the SAL model checker we can generate from the extended UML state machines sequences that cover all the various possibilities of events and states. These sequences can then be directly transformed into test sequences suitable for input into a testing tool such as ConAn. As an illustration, the methodology is applied to generate sequences for testing a Java implementation of the producer-consumer system.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123454247","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}
{"title":"Practical application of formal methods for specification and analysis of software architecture","authors":"C. Maxwell, A. Parakhine, J. Leaney","doi":"10.1109/ASWEC.2005.37","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.37","url":null,"abstract":"With the ever-growing pace of technological advancement, computer software is required to become increasingly complex to meet the demands of today's leading edge technologies, and their applications. However, fulfilling this requirement creates new, previously unknown, problems pertaining to non-functional properties of software. Specifically, as the software complexity escalates, it becomes increasingly difficult to scale the software in order to cope with the sometimes overwhelming demand created by system growth. It is therefore essential to have processes for addressing the issues associated with scalability that arise due to the complexity in software systems. In this paper we describe an approach aimed at fulfilling the need for such processes. A combination of Object-Z and temporal logic is used to create an architectural description open to further analysis. We also demonstrate the practicality of this methodology within the context of the coordinated adaptive traffic system (CATS).","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133507721","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}
{"title":"Deriving systems level security properties of component based composite systems","authors":"K. Khan, Jun Han","doi":"10.1109/ASWEC.2005.21","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.21","url":null,"abstract":"This paper proposes an approach of defining systems-level security properties of component-based composite systems. It argues that the security properties of a composite system can be viewed either from the end-users' point of view, or from the software integrators' point of view. End users look more for the ultimate security goals achieved in the composite system, whereas software integrators are more interested in the compositional security properties of the system in terms of the required and ensured properties. Software integrators need to know how a composite system could be assembled further as a coarse-grained component with other applications. It is equally important for the end user of the system to know the actual security objectives achieved at the systems-level.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"226 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132086038","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}
{"title":"Demonstrating the effectiveness of exclusion control for components","authors":"John Michael Potter, Abdelsalam Shanneb, Eric Yu","doi":"10.1109/ASWEC.2005.20","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.20","url":null,"abstract":"We present experimental results on how the granularity of locking provided by synchronization wrappers affects performance. The wrappers implement method-level synchronization whose exclusion behavior is specified using a declarative approach. Our experimental results with both Java and C# suggest that fine-grained exclusion control is worthwhile implementing, at least for heavily loaded objects, and that there appears to be no performance penalty in doing so. To overcome resistance to programming more complex and fragile synchronization code, we propose generating the code automatically, based on the exclusion specification. Essentially this only entails describing the read-write conflicts between method pairs in an object's interface. The automatic code generation can either be done dynamically using existing reflection mechanisms, or statically by a compiler. In the latter case we envisage minor language extensions to allow programmers to specify both the exclusion requirements for a given object, and the exclusion control to be provided by a given object when it is constructed.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"264 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115282934","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}
{"title":"Automatic measurement of a QoS metric for Web service recommendation","authors":"N. Thio, S. Karunasekera","doi":"10.1109/ASWEC.2005.16","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.16","url":null,"abstract":"Web services have enabled businesses and organizations to collaborate without platform interoperability and programming language barriers. Quality of service (QoS) of a Web service is an important factor that differentiates similar services offered by different service providers. Such a measure would allow Web service clients to choose and bind to a suitable Web service at run time (based on QoS attributes). Some researchers have proposed the integration of the QoS measure on the Web service directory server. However, a mechanism to maintain the QoS metric has not been defined yet. In this paper, we propose such a mechanism. This mechanism involves automated measurement of QoS attributes on both the client and provider sides, when the service is being used, and updating the QoS-aware Web services directory with this information. We describe a prototype we developed for this purpose and present the results of using this prototype for gathering QoS measurements at run time.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122003173","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}
{"title":"Quality assurance in a student-based agile software engineering process","authors":"A. Marrington, J. Hogan, Richard N. Thomas","doi":"10.1109/ASWEC.2005.38","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.38","url":null,"abstract":"Agile methodologies have proven to be a popular addition to the software engineering toolbox, promising significant advances in quality for small teams, with developers no longer weighed under by the documentation said to characterise traditional approaches. Yet, in spite of these claims, quality assurance remains a question to which agile methodologies have given only a partially satisfactory answer. This work examines quality assurance practices among student developers working within a lightweight iterative development process. Our focus is upon the linkages between their reported practices and the quality levels observed in the systems delivered. The study has identified a range of approaches to improving quality for small, inexperienced teams, with applications to both the educational and SME environments.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128456352","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}
{"title":"Consistent code generation from UML models","authors":"Quan Long, Zhiming Liu, Xiaoshan Li, Jifeng He","doi":"10.1109/ASWEC.2005.17","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.17","url":null,"abstract":"Relational calculus of object systems (rCOS) is an OO-language which is equipped with an observation-oriented semantics and a refinement calculus based on the Hoare and He's unifying theories of programming (UTP). In this paper, we give syntactic definitions for class diagrams and sequence diagrams in UML 2.0. Based on these definitions, we give an algorithm for checking the consistency of a class diagram and a sequence diagram. Furthermore, we develop an algorithm to generate rCOS code from any given consistent class diagram and sequence diagram.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122384248","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}
{"title":"A process-based semantics for message sequence charts with data","authors":"Chien-An Chen, Sara Kalvala, J. Sinclair","doi":"10.1109/ASWEC.2005.8","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.8","url":null,"abstract":"Message sequence charts (MSCs) are a graphical language for scenarios of communicating components exchanging messages in a distributed environment. The language has been standardised by the International Telecommunication Union (ITU) and given a formal semantics by means of process algebra. Nevertheless, little attention has been given to MSCs where a message with data is a building block. In this paper, we investigate the impact that the concept of data flow brings to the conventional semantics, and propose a CCS-like process calculus as an alternative formal framework. The proposed semantics captures the data flow properties while maintaining the expressiveness of the conventional semantics. Equivalence of MSCs is also discussed from the perspective of the corresponding process equivalence.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128468418","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}
{"title":"Detecting indirect coupling","authors":"H. Y. Yang, E. Tempero, R. Berrigan","doi":"10.1109/ASWEC.2005.22","DOIUrl":"https://doi.org/10.1109/ASWEC.2005.22","url":null,"abstract":"Coupling is considered by many to be an important concept in measuring design quality There is still much to be learned about which aspects of coupling affect design quality or other external attributes of software. Much of the existing work concentrates on direct coupling, that is, forms of coupling that exists between entities that are directly related to each other. A form of coupling that has so far received little attention is indirect coupling, that is, coupling between entities that are not directly related. What little discussion there is in the literature suggests that any form of indirect coupling is simple the transitive closure of a form of direct coupling. We demonstrate that this is not the case, that there are forms of indirect coupling that cannot be represented in this way and suggest ways to measure it. We present a tool that identifies a particular form of indirect coupling that is integrated in the Eclipse IDE.","PeriodicalId":238299,"journal":{"name":"2005 Australian Software Engineering Conference","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127252394","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}