{"title":"Increase software trustability with self-testable classes in Java","authors":"D. Deveaux, P. Frison, J. Jézéquel","doi":"10.1109/ASWEC.2001.948491","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948491","url":null,"abstract":"The rise of component-based software development poses the problem of components trustability. To know whether a given component can be used within a certain context, there must be a way of telling what the component is supposed to do (its contract) without entering into the details of the how. Based on this idea, we have proposed a general Design-for-Trustability methodology (\"DfT\"), starting from simple self-testing of individual classes to optimized integration testing, This paper describes the \"DfT\" methodology, the self-testable class model that supports it and the associated tools for Java development.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127616631","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}
L. Scott, D. R. Jeffery, L. Carvalho, J. D'Ambra, P. Rutherford
{"title":"Practical software process improvement - the IMPACT project","authors":"L. Scott, D. R. Jeffery, L. Carvalho, J. D'Ambra, P. Rutherford","doi":"10.1109/ASWEC.2001.948512","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948512","url":null,"abstract":"For many years now software process improvement (SPI) has been recognised as an effective way for companies to improve the quality of the software they produce and the productivity with which they work. Much work has gone into developing and selling improvement paradigms, assessment methods, modelling languages, tools and technologies. The challenge for -small-to-medium software development companies (SMEs) now is to find a way to apply these SPI technologies to realise their company's improvement goals. For SMEs the most pressing requirements for improvement paradigms are that they are not only effective but that they realise tangible results quickly, can be implemented incrementally and utilise the many existing process improvement technologies. The paper presents a framework for SPI that realises these needs. The framework is designed to utilise a range of improvement technologies and supports continuous and highly focused improvement over many projects, thus producing timely, cost-effective and tangible improvements for SMEs. The effectiveness of the framework is illustrated with its application in a small, Sydney-based, Web development company.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"146 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134162605","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":"Process improvement in four small software companies","authors":"A. Cater-Steel","doi":"10.1109/ASWEC.2001.948520","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948520","url":null,"abstract":"For many small software companies, full-scale software. process improvement (SPI) initiatives are often out of reach due to prohibitive costs and lack of SPI knowledge. However, to compete in the global market, software developers must improve their productivity, time to market and customer satisfaction. Software Engineering Australia (Qld) sponsored a process improvement program in which 26 of its member companies participated. A RAPID assessment method, based on SPICE (ISO 15504), was developed and applied. The paper presents findings from the RAPID process improvement program as experienced by four small software companies. For each company, the initial assessment findings are presented, followed by the outcome of the recommendations. The discussion presented compares the capability of the four companies and links the findings from this case study to existing literature related to software process improvement success and failure.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117226633","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":"CORONET: an Australian software engineering experience in collaborative research with the European Community","authors":"John D'Ambra, D. R. Jeffery, Dietmar Pfahl","doi":"10.1109/ASWEC.2001.948519","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948519","url":null,"abstract":"The purpose of the paper is two fold. Firstly, to inform the Australian software engineering community of the European Fifth Framework research structure and the involvement of an Australian partner in a fifth framework project, CORONET. Secondly to describe the CORONET project. CORONET develops a new approach for software engineering training in knowledge networks. CORONET aims to support on-demand, collaborative, life-long learning by supporting knowledge generation in corporate knowledge networks, accompanied by pedagogically sound improvements of the underlying learning process. By relating the experience of CAESAR's involvement in the CORONET project, the paper aims to educate the software engineering community in opportunities that exist for collaboration with European research projects as well as inform the community on how such projects are managed.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133898162","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":"Applying static analysis to large-scale, multi-threaded Java programs","authors":"Cyrille Artho, Armin Biere","doi":"10.1109/ASWEC.2001.948499","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948499","url":null,"abstract":"Static analysis is a tremendous help when trying to find faults in complex software. Writing multi-threaded programs is difficult, because the thread scheduling increases the program state space exponentially, and an incorrect thread synchronization produces faults that are hard to find. Program checkers have become sophisticated enough to find faults in real, large-scale software. In particular, Jlint, a very fast Java program checker; can check packages in a highly automated manner. The original version, Jlint1, still lacked full support for synchronization statements in Java. We extended Jlint1's model to include synchronizations on arbitrary objects, and named our version Jlint2. Our statistical analysis proves that these extensions are relevant and useful. Applying Jlint2 to various large software packages, including commercial packages from Trilogy, found 12 faults, two of which related to multi-threading.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134630598","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":"Constraints in CASE tools: results from curiosity driven research","authors":"A. Brooks, L. Scott","doi":"10.1109/ASWEC.2001.948522","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948522","url":null,"abstract":"Curious about a report of disagreement between ratings of restrictiveness of methodological constraints in computer-aided software engineering (CASE) tools, two inspection-style studies were carried out to determine the extent of variation in end-users' beliefs about methodological constraint environments in CASE tools. The extent of variation was found to be significant. Major variations in belief were caused by varying use of the methodology checker, inability to create proper tests for the presence of constraints, and ambiguity in natural language expressions of the methodological constraints under inspection. Our findings have important implications for CASE tool design and construction regarding the methodology checker, support for alternative approaches to design work, and the human-computer interface. Researchers must also take cognizance of individual variation when searching for the 'ideal' methodological constraint environment.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"539 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131671539","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":"Idioms for /spl mu/-charts","authors":"G. Anderson, Greg Reeve, S. Reeves","doi":"10.1109/ASWEC.2001.948516","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948516","url":null,"abstract":"This paper presents an idiomatic construct for /spl mu/-charts which reflects the high-level specification construct of synchronization between activities. This, amongst others, has emerged as a common and useful idea during our use of /spl mu/-charts to design and specify commonly-occurring reactive systems. The purpose of this example, apart from any inherent interest in being able to use synchronization in a specification, is to show how the very simple language of /spl mu/-charts can used as a basis for a more expressive language built by definitional extension.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"244 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130767071","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":"On the effectiveness of mutation analysis as a black box testing technique","authors":"T. Murnane, K. Reed","doi":"10.1109/ASWEC.2001.948492","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948492","url":null,"abstract":"The technique of mutation testing, in which the effectiveness of tests is determined by creating variants of a program in which statements are mutated, is well known.. Whilst of considerable theoretical interest, the technique requires costly tools and is computationally expensive. Very large numbers of 'mutants' can be generated for even simple programs. More recently, it has been proposed that the concept be applied to specification based (black box) testing. The proposal is to generate test cases by systematically replacing data items relevant to a particular part of a specification with a data item relevant to another. If the specification is considered as generating a language that describes the set of valid inputs, then the mutation process is intended to generate syntactically valid and invalid statements. Irrespective of their 'correctness' in terms of the specification, these can then be used to test a program in the usual (black box) manner. For this approach to have practical value it must produce test cases that would not be generated by other popular black box test generation approaches. The paper reports a case study involving the application of mutation based black box testing to two programs of different types. Test cases were also generated using equivalence class testing. and boundary value testing approaches. The test cases from each method were examined to judge the overlap and to assess the value of the additional cases generated. It was found that less than 20% of the mutation test cases for a data-vetting program were generated by the other two methods, as against 75% for a statistical analysis program. The paper analyses these results and suggests classes of specifications for which mutation based test-case generation may be effective.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"67 6-7","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132915371","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":"Extending UML use case modelling to support graphical user interface design","authors":"C. Phillips, E. Kemp, Sai Mei Kek","doi":"10.1109/ASWEC.2001.948497","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948497","url":null,"abstract":"UML supports the construction of several views of a software system. The paper reviews use case modelling in UML from the viewpoint of its suitability as input to the early stages of graphical user interface design. Three use case representations are compared, and an extended tabular representation is proposed which assists with the identification of user interface elements. This is presented via a case study, and within the framework of the unified development process.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"258 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133400352","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":"Interpreting Mayall's 'Principles in Design'","authors":"P. Taylor","doi":"10.1109/ASWEC.2001.948523","DOIUrl":"https://doi.org/10.1109/ASWEC.2001.948523","url":null,"abstract":"Design-a foundation of software engineering-has its own base of theory originating in architecture and spanning diverse disciplines. The paths of software and design theory separated when software design aligned with the engineering and production metaphors in the interests of manageability and formalism. The two disciplines have continued independent discourses, despite some important similarities. However, economic pressures and technology convergence may be forcing a reconciliation of sorts. As software becomes a pervasive design fabric, designers working in a range of media will converge, and from a systems perspective, lightweight development paradigms appear to be challenging the overheads of incumbent process-intensive engineering models. It is timely to go back to the point of divergence to see just how far modern software design norms have strayed from basic design theory of several decades ago. This paper examines Mayall's 'Principles in Design' (1979) and presents an interpretation of how contemporary software design relates to this unofficial design canon. Mayall's ten principles are treated as an assessment instrument, to provide a mirror on current attitudes and perceptions of the role of design in software engineering.","PeriodicalId":360336,"journal":{"name":"Proceedings 2001 Australian Software Engineering Conference","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123163603","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}