The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Test applications often require the integration of many different software technologies. This paper provides an overview of how several Windows-based technologies can be incorporated into a single application by employing a common software framework and architecture.
This paper describes the test oracle generation from an abstraction relation document that is documented using Parnas's Module Documentation (MD) method. This work is part of on-going research that addresses the problem of improving the effectiveness of fault detection. We focus our work on unit/module testing where each module may consist of several programs. The aim of our project is to investigate...
Automation applications consists of software projects that are developed using specific standard programming languages, such as the IEC 61131-3 standard that provides 5 programming languages, two textual and three graphical. They are also executed on specific hardware platforms, mainly Programmable Logic Controllers. Thus, they can be viewed as special type of software projects. As such, their design...
Fault injection, a critical aspect of testing robust systems, is often overlooked in the development of general-purpose software. We believe this is due to the absence of easy-to-use tools and to the extensive manual labor required to perform fault injection tests. This paper introduces LFI (library fault injector), a tool that automates the preparation of fault scenarios and their injection at the...
Comprehending an unfamiliar code fragment requires an awareness of explicit usage directives that may be present in the documentation of some invoked functions. Since it is not practical for developers to thoroughly investigate every call, directives may be missed and errors may occur. We previously reported on a tool called eMoose, which highlights calls to methods with associated directives, and...
There is an urgent need for metadata to accompany and describe media data essence. With the growing amount of personal content, user generated descriptors tend to be vague to the point of uselessness. There is a need for standardization in the metadata format to allow a full and useful description of content that is interoperable between consumer devices. Manufacturers need to ensure that the metadata...
Architecture defines the components of a system and their dependencies. The knowledge about how the architecture is intended to be implemented is essential to keep the system structure coherent and thereby comprehensible. In practice, this architectural knowledge is explicitly formulated only in the documentation (if at all), which usually gets outdated very soon. This leads to a growing amount of...
The success of a software development project often requires collaboration among various disciplines because, in general, individual members from a single discipline do not have all of the information, knowledge, and expertise needed to produce successful software. Interdisciplinary collaboration has created challenges in software development due to the difficulty in communicating and coordinating...
The documentation of API functions typically conveys detailed specifications for the benefit of interested readers. In some cases, however, it also contains usage directives, such as rules or caveats, of which authors of invoking code must be made aware to prevent errors and inefficiencies. There is a risk that these directives may be ldquolostrdquo within the verbose text, or that the text would...
When developers join a project, they find themselves in a new project landscape and must orient themselves quickly. To investigate the nature of this project landscape, and how we could help newcomers orient themselves, we have started an exploratory study using grounded theory. We primarily collect our data by interviewing experienced developers who recently joined ongoing projects. We are already...
The importance of good software testing is often reported. Traditionally, acceptance testing is the last stage of the testing process before release to the customer. Unfortunately, it is not always appropriate to wait so long for customer feedback. Emerging agile methods recognise this and promote close interaction between the customer and developers for early acceptance testing, often before implementation...
Existing methods for recovering traceability links among software documentation artifacts analyze textual similarities among these artifacts. It may be the case, however, that related documentation elements share little terminology or phrasing. This paper presents a technique for indirectly recovering these traceability links in requirements documentation by combining textual with structural information...
This paper proposes a methodology to improve the reusability of finite element analysis (FEA) software using a program family approach. The usability and the maintainability are significant problems for a developer trying to properly reuse FEA software. Usability is promoted via systematically defined goals, assumptions, theoretical and computational models, definitions, common requirements and variabilities...
Requirements engineering is the refinement of stakeholder wishes to more or less formal requirements. Nowadays this refinement is often done in a distributed environment. In this collaborative setting Wikis are generally helpful. However, without explicit support, it is hard to achieve high quality efficiently. A smart wiki can assume responsibility of these tasks. Our SmartWiki generates context-...
Technical education is being seen in countries around the world as an important contributor to the creation of a 21st century workforce. An important component to learning in technical education is the use of hands-on activities. This study seeks to broaden the understanding of teacher methods and techniques used during hands-on activities in Cisco Networking Academies in ten countries. Fourteen instructors...
One of the more important issues in the development of larger scale complex systems (product development period of two or more years) is accommodating changes to requirements. Requirements gathered for larger scale systems evolve during lengthy development periods due to changes in software and business environments, new user needs and technological advancements. Agile methods, which focus on accommodating...
There is nothing permanent except change. The only constant is change. Many engineering changes must be communicated to a broad range of stakeholders. The process is often labor intensive, paper laden, and error prone. Product data management (PDM) system and configuration management theory are the most popular system and theory for handling engineering changes today. In practice, when utilizing a...
In this paper, the authors investigate the usefulness of the knowledge regarding business processes for clarifying change requirements concerning the software systems supporting them. With this in mind, the correctness and completeness of the change requirement impact have been evaluated with and without the business process knowledge. Results of this preliminary empirical study are encouraging and...
As software engineering educators, it is important for us to realize the increasing domain-specificity of software, and incorporate these changes in our design of teaching material. Bioinformatics software is an example of immensely complex and critical scientific software and this domain provides an excellent illustration of the role of computing in the life sciences. To study bioinformatics from...
Capstone projects are a valuable opportunity for computer science and software engineering students to take what they have learned over the previous three years of their education and apply it to an open-ended project. Some universities offer multiple capstone projects, defined and supervised by different faculty members. Here we describe a set of dimensions that can be used to categorize capstone...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.