By Topic

Software Engineering Conference, 2004. Proceedings. 2004 Australian

Date 2004

Filter Results

Displaying Results 1 - 25 of 50
  • A preliminary survey on software testing practices in Australia

    Publication Year: 2004 , Page(s): 116 - 125
    Cited by:  Papers (19)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1350 KB) |  | HTML iconHTML  

    We present the findings of, to the best of our knowledge, the first survey on software testing practices carried out in Australian ICT industry. A total of 65 organizations from various major capital cities in Australia participated in the survey, which was conducted between 2002 and 2003. The survey focused on five major aspects of software testing, namely testing methodologies and techniques, automated testing tools, software testing metrics, testing standards, and software testing training and education. Based on the survey results, current practices in software testing are reported, as well as some observations and recommendations for the future of software testing in Australia for industry and academia. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Obstacles to a totally functional programming style

    Publication Year: 2004 , Page(s): 178 - 187
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1355 KB) |  | HTML iconHTML  

    "Totally functional programming" (TFP) advocates the complete replacement of symbolic representations for data by functions. TFP is motivated by observations from practice in language extensibility and functional programming. Its technical essence extends the role of "fold" functions in structuring functional programs to include methods that make comparisons on elements of data structures. The obstacles that currently prevent the immediate uptake of TFP as a style within functional programming equally indicate future research directions in the areas of theoretical foundations, supporting technical infrastructure, demonstrated practical applicability, and relationship to OOP. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A process framework for characterising security properties of component-based software systems

    Publication Year: 2004 , Page(s): 358 - 367
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1386 KB) |  | HTML iconHTML  

    We present a security characterisation process framework for software components and their compositions in order to address the issue of trust in component based software. The process is based on the idea of publishing trust related properties of software components in machine readable as well as understandable form at the component level and incorporating such properties with runtime composition of the application system. We explore the actual process involved in specifying publishable security properties of atomic components, component certification, reasoning about compositional security contracts, and characterising ultimate systems-level security properties to inspire trust in software components. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Linking UML models of design and requirement

    Publication Year: 2004 , Page(s): 329 - 338
    Cited by:  Papers (4)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1408 KB) |  | HTML iconHTML  

    Both a UML model of requirement and a UML model of a design are defined as a pair of class diagram and a family of sequence diagrams. We then give an unified semantics for models of requirements and designs. We define the consistency between a design class diagram and the interaction diagrams and show how the removal of inconsistency can be treated as a model refinement. We then formally define the correctness of UML model of design with respect to the model of requirement. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Interface metrics for reusability analysis of components

    Publication Year: 2004 , Page(s): 40 - 51
    Cited by:  Papers (13)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1430 KB) |  | HTML iconHTML  

    Component-based software development relies on reusable components in order to improve quality and flexibility of products as well as increasing development productivity. This paradigm promotes deployment of reusable components as black-box units that can only work and communicate with one another through their well defined interfaces. Here, understandability of component interfaces is considered as a major quality affecting reusability of software components. A set of metrics for measuring properties believed to be relevant to understandability and reusability of software components are presented. Then, their usefulness and relevance are analyzed based upon empirical data gathered from the measurement of a variety of component interfaces. We conclude with some ideas for further research in this area. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Enforcing system-wide properties

    Publication Year: 2004 , Page(s): 158 - 167
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1514 KB) |  | HTML iconHTML  

    Policy enforcement is a mechanism for ensuring that system components follow certain programming practices, comply with specified rules, and meet certain assumptions. Unfortunately, the most common mechanisms used today for policy enforcement are documentation, training, and code reviews. The fundamental problem is that these mechanisms are expensive, time-consuming, and still error-prone. To cope with this problem, we present IRC (Implementation Restriction Checker), an extensible framework for automatically enforcing system-wide policies or contracts. The framework is built on top of a platform for aspect-oriented programming at the level of Java byte-code instructions and is available as an eclipse plug-in as well as a standalone application. It includes a set of directly usable checkers and can be easily extended to implement new ones. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The long-term effects of an EPG/ER in a small software organisation

    Publication Year: 2004 , Page(s): 128 - 136
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1616 KB) |  | HTML iconHTML  

    We present an assessment of the usage of an improved electronic process guide/experience repository (EPG/ER) tool about a year after its installation in a small-to-medium software development company (SME). The current study, conducted over 21 weeks, reveals the long-term effects of EPG/ER usage in the company. The findings not only validate results from previously published preliminary evaluations on the effectiveness of the EPG/ER as a software process improvement (SPI) tool but also demonstrate the ability of the EPG/ER to be incrementally improved to suit the changing needs of the company. Our study shows that tangible benefits from the use of the EPG/ER can not only be realized quickly but also, more importantly, that the tool remains useful with many more benefits accruing over time. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The impact of training-by-examples on inspection performance using two laboratory experiments

    Publication Year: 2004 , Page(s): 279 - 288
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1360 KB) |  | HTML iconHTML  

    Software inspection is often seen as a technique to produce quality software. It has been claimed that expertise is a key determinant in inspection performance particularly in individual detection and group meetings [Sauer, C., et al.,(2000)]. Uncertainty among reviewers during group meetings due to lack of expertise is seen as a weakness in inspection performance. One aspect of achieving expertise is through education or formal training. Recent theoretical frameworks in software inspection also support the idea of possible effects of training on inspection performance [Sauer, C., et al.,(2000)]. To investigate this further, two laboratory experiments were conducted to test the effects of training using defect examples. Our findings show conflicting results between the two experiments, indirectly highlighting the importance of an effective inspection process. The results have implications for the use of a repository of defect examples for training reviewers. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Experiences with software engineering of mobile agent applications

    Publication Year: 2004 , Page(s): 339 - 348
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1371 KB) |  | HTML iconHTML  

    Mobile agents are a class of software agents that have the ability to move from host to host and are particularly relevant for mobile and distributed applications. The development of several mobile agent implementation environments has necessitated conceptual modelling techniques for mobile agent applications. We present mGaia, our extension of the Gaia agent oriented software engineering (AOSE) methodology to model mobile agent systems. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An experiment in the design of distributed programs

    Publication Year: 2004 , Page(s): 70 - 76
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1349 KB) |  | HTML iconHTML  

    We describe an experiment in the design of distributed programs. It is based on the theory of Owicki and Gries extended with rules for reasoning about message passing. The experiment is designed to test the effectiveness of the extended theory for designing distributed programs. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Putting the "engineering" into "software engineering"

    Publication Year: 2004 , Page(s): 2 - 8
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1343 KB) |  | HTML iconHTML  

    Is software development really a form of engineering? Or is it just some kind of elaborate craftsmanship? Are we just fooling ourselves thinking that we are doing engineering? If so, it is certainly not from lack of trying hard over the last 20 years. But may be we tackled the problem from the wrong end: we tried to impose techniques from other engineering disciplines onto software development models without understanding the real nature of software. We analyze the similarities and the differences, and pinpoints the key discriminants (lack of fundamental laws, technology churn, no manufacturing stage) that make software endeavours somewhat different than, for example, those in civil or mechanical engineering. We look at a few recent developments that help fill the gaps: iterative development and model-driven design. And we use Frank Gero's function-behaviour-structure framework to help us contrast software engineering with other engineering disciplines. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The challenge of introducing a new software cost estimation technology into a small software organisation

    Publication Year: 2004 , Page(s): 52 - 59
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1363 KB) |  | HTML iconHTML  

    Fostering innovation is the key to survival in today's IT business and is exemplified by introducing new technologies and methods to improve the development processes. We present a follow-up case study of technology transfer in a small software organisation. A new software estimation technique, Web-CoBRA was introduced to a small software company to improve their software estimation process. Web-CoBRA was considerably more accurate than the company's current estimation process. However, despite management being aware of this improvement, the company has not fully adopted the new method. We used interviews and the technology acceptance model (TAM) questionnaire to assess the extent to which Web-CoBRA was used by the company. We found take-up of part of the Web-CoBRA technology but the full technology and the support tools were not used. We identify the reasons for the failure to adopt the Web-CoBRA technology and identify several areas for improving technology transfer activities. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Knowledge management in software engineering - describing the process

    Publication Year: 2004 , Page(s): 137 - 146
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1399 KB) |  | HTML iconHTML  

    The management of knowledge and experience are key means by which systematic software development and process improvement occur. Within the domain of software engineering (SE), quality continues to remain an issue of concern. Although remedies such as fourth generation programming languages, structured techniques and object-oriented technology have been promoted, a "silver bullet" has yet to be found. Knowledge management (KM) gives organisations the opportunity to appreciate the challenges and complexities inherent in software development. We report on two case studies that investigate KM in SE at two IT organisations. Structured interviews were conducted, with the assistance of a qualitative questionnaire. The results were used to describe current practices for KM in SE, to investigate the nature of KM activities in these organisations, and to explain the impact of leadership, technology, culture and measurement as enablers of the KM process for SE. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Developing a requirements management toolset: lessons learned

    Publication Year: 2004 , Page(s): 10 - 19
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1352 KB) |  | HTML iconHTML  

    Requirements engineering (RE) is a multifaceted discipline involving various methods, techniques and tools. RE researchers and practitioners are emphasizing the importance of having an integrated RE process. The need for an integrated toolset to support the effective management of such an integrated RE process cannot be over-emphasized. Tools integration has been identified as an important next step toward the future of requirements management tools. We report on some of the significant architectural and technical issues encountered and the lessons learned in the process of developing an integrated requirements management (RM) toolset: parsed natural language input processor (PARSNIP) by integrating various independent tools. We provide insights on architectural and technological issues typical of these types of projects, the approaches and techniques used to address the architectural mismatches and the technological incompatibilities. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Generating Web applications from use case scenarios

    Publication Year: 2004 , Page(s): 320 - 328
    Cited by:  Papers (1)  |  Patents (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1406 KB) |  | HTML iconHTML  

    The major emphasis in developing design tools for Web applications has been that of content. User requirements are often assumed. We would argue that the requirements are as significant for Web applications as they are for any other application. Use case modelling is regarded as an ideal tool for capturing software requirements. We describe a requirements driven approach for generating the source code required for a Web based application. Use case modelling is an ideal mechanism for determining Web site navigability because it encapsulates all of the desired sets of user interactions with the Web application. Using this it is possible to map user interactions to sets of request/response events and from there to a sequence of event trees for each use case. These event trees can then be used to automatically generate the code for the required Web based application. The process which we call WEBGen, is used to determine a mapping between each use case scenario step and a set of request/response events. The number of possible request/response events is relatively small which makes the mapping between scenario steps and code a manageable task. WEBGen is demonstrated by using it to develop the code for an online practical registration system. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Uniform descriptions for model based testing

    Publication Year: 2004 , Page(s): 96 - 105
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1420 KB) |  | HTML iconHTML  

    A framework which uses linear time temporal logic and model checking techniques to describe the semantics a variety of test specifications is developed. These include a semantics for action words, which are a practical approach to model based testing, and coverage requirements. Features of tools that support the development of tests using this approach are also presented. While model-checking ideas are used, a model of the system is not actually required. Test sequences are directly generated from the specification of properties. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An exploratory study of code and document interactions during task-directed program comprehension

    Publication Year: 2004 , Page(s): 221 - 230
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1352 KB) |  | HTML iconHTML  

    This exploratory study investigates the program comprehension strategies employed during enhancement and corrective maintenance from the perspective of the programmer activities of examining both program and task documentation and analysing and potentially modifying program code. Twenty-nine experienced C programmers independently undertook one of two maintenance tasks on the same C program and their various activities were recorded. Analysis and comparisons of activity durations were conducted at various points during the maintenance task as well as at the level of the complete task. The results show that contrary to previous research in this area, programmers implementing a correction utilized program documentation and header information significantly more than programmers undertaking an enhancement. Within their projects, this comparative additional usage occurred predominantly in the second quarter of the project suggesting more pronounced domain modeling than enhancers. Enhancers themselves made much more specific use of task documentation than did corrective programmers, seemingly to map out extensions and adjustments to their program models and, finally, to verify the code modifications made. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Analysis of requirements volatility during software development life cycle

    Publication Year: 2004 , Page(s): 28 - 37
    Cited by:  Papers (23)  |  Patents (1)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1572 KB) |  | HTML iconHTML  

    Investigating the factors that drive requirements change is an important prerequisite for understanding the nature of requirements volatility. This increased understanding will improve the process of requirements change management. We mainly focus on change analysis to identify and characterize the causes of requirements volatility. We apply a causal analysis method on change request data to develop a taxonomy of change. This taxonomy allows us to identify and trace the problems, reasons and sources of changes. Adopting an industrial case study approach, our findings reveal that the main causes of requirements volatility were changes in customer needs (or market demands), developers' increased understanding of the products, and changes in the organization policy. During the development process, we also examined the extent of requirements volatility and discovered that the rate of volatility was high at the time of requirements specification completion and while functional specification reviews were conducted. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using software architectures and design patterns for developing distributed applications

    Publication Year: 2004 , Page(s): 290 - 299
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1446 KB) |  | HTML iconHTML  

    Although there are a large number of software development methodologies for standalone software, little effort is being paid into investigating specialised methodologies that target the development of distributed applications (DAs) in the era of Internet and Web-based applications. Rather than focusing on business models, developers usually spend considerable effort in implementing connectivity between software components that comprise these applications. Since a large number of competing technologies exist, these solutions face serious technology-migration and design reuse problems. We advocate approaching the design activity from a business rather than technological perspective by defining a service-oriented software architecture that satisfies the functional requirements in a particular domain. We also suggest identifying existing or new design patterns to capture common business process functionalities and fulfill the nonfunctional requirements. For evaluation purposes, we are applying our approach to capital market systems (CMS) through the development of a prototype system using Web service technology. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Low-rigour, rapid software process assessments for small software development firms

    Publication Year: 2004 , Page(s): 368 - 377
    Cited by:  Papers (5)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1360 KB) |  | HTML iconHTML  

    Rigorous software process improvement (SPI) assessments are considered by many small software development firms to be too expensive. We present the results from a program in which low-rigour, one-day SPI assessments were offered at no cost to 22 small software development firms. Analysis shows an association between capability levels achieved and staff experience and education level. Also, the process capability of firms varied depending on the industry sectors targeted by firms. About eight months after the assessment, the firms were contacted to arrange a follow-up meeting to determine the extent to which they had implemented the recommendations. Analysis of the capability levels at the time of assessment and later follow-up meeting reveals that the process improvement program was effective in improving the process capability of many of these small software development firms. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A formal semantics of UML sequence diagram

    Publication Year: 2004 , Page(s): 168 - 177
    Cited by:  Papers (8)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1392 KB) |  | HTML iconHTML  

    We present a formal semantics of UML sequence diagram. In abstract syntax form, a well-formed sequence diagram corresponds to an ordered hierarchical structure tree. The static semantics of a sequence diagram is to check whether it is consistent with the class diagram declaration as well as with its well-formed tree structure. Meanwhile, the dynamic semantics is defined in terms of the state transitions that are carried out by the method invocations in the diagram. When a message is executed, it must be consistent with system state, i.e., object diagram and the state diagrams of its related objects. The semantics clearly captures the consistency between sequence diagram with class diagram and state diagram. Therefore, it is useful to develop the model consistent checking functions in UML CASE tools. And it also can be used to reason about the correctness of a design model with respect to a requirement model. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Architectural design in object-Z

    Publication Year: 2004 , Page(s): 77 - 86
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1466 KB) |  | HTML iconHTML  

    We present a process for introducing an object-oriented architecture into an abstract functional specification written in Object-Z. Since the design is derived from the specification, correctness concerns are addressed as pan of the design process. We base our approach on refactoring rules that apply to class structure, and use the rules to implement design patterns. As a motivating example, we introduce a user-interface design that follows the model-view-controller paradigm into an existing specification. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Agent-oriented software analysis

    Publication Year: 2004 , Page(s): 20 - 27
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1329 KB) |  | HTML iconHTML  

    Agent-oriented software engineering (AOSE) has become an active area of research in recent years. We look at the use of agent-oriented concepts for software analysis. Using agent-oriented analysis may offer benefits even if the system is implemented without an agent-based language or framework (e.g. using an object-oriented detailed design and language). We examine the software analysis components of a number of existing agent-oriented methodologies. We discuss the benefits that can be gained by using agent-oriented concepts, and where the concepts require further development. Based on this analysis, we present the agent-oriented methodology that we are developing, and describe an example of how it may be applied for software analysis. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Teaching the process of code review

    Publication Year: 2004 , Page(s): 271 - 278
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1353 KB) |  | HTML iconHTML  

    Behavioural theory predicts that interventions that improve individual reviewers' expertise also improve the performance of the group in Software Development Technical Reviews (SDTR) [C. Sauer et al.,(2000)]. This includes improvements both in individual's expertise in the review process, as well as their ability to find defects and distinguish true defects from false positives. We present findings from University training in these skills using authentic problems. The first year the course was run it was designed around actual code review sessions, the second year this was expanded to enable students to develop and trial their own generic process for document reviews. This report considers the values and shortcomings of the teaching program from an extensive analysis of the defect detection in the first year, when students were involved in a review process that was set up for them, and student feedback from the second year when students developed and analysed their own process. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A risk management framework for software engineering practice

    Publication Year: 2004 , Page(s): 60 - 67
    Cited by:  Papers (4)
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1455 KB) |  | HTML iconHTML  

    Formal risk analysis and management in software engineering is still an emerging part of project management. We provide a brief introduction to the concepts of risk management for software development projects, and then an overview of a new risk management framework. Risk management for software projects is intended to minimize the chances of unexpected events, or more specifically to keep all possible outcomes under tight management control. Risk management is also concerned with making judgments about how risk events are to be treated, valued, compared and combined. The ProRisk management framework is intended to account for a number of the key risk management principles required for managing the process of software development. It also provides a support environment to operationalize these management tasks. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.