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.
The analysis of execution traces can reveal important information about the behavioral aspects of complex software systems, hence reducing the time and effort it takes to understand and maintain them. Traces, however, tend to be considerably large which hinders their effective analysis. Existing traces analysis tools rely on some sort of visualization techniques to help software engineers make sense...
The large number of processors in high performance computing and distributed applications is becoming a major challenge in the analysis of the way an application's processes communicate with each other. In this paper, we propose an approach that facilitates the understanding of large traces of inter-process communication by extracting communication patterns that characterize their main behavior. Two...
AMF (Availability Management Framework) is a middleware service that manages the availability of applications. AMF has been defined by the Service Availability Forum (SA Forum). An AMF configuration for an application running on top of AMF is a logical organization of hardware and software resources to provide and protect services. Resources, namely components, are grouped into logical entities such...
In highly available systems, continuous load balancing in the presence of failure is essential to avoid performance degradation. The Availability Management Framework (AMF) is a middleware service that manages the availability of the applications' services by coordinating their provision among the application's redundant components. The application's components that collaborate to provide a service...
The Availability Management Framework (AMF) is a service responsible for managing the availability of services provided by applications that run under its control. Standardized by the Service Availability Forum (SAF), AMF requires for its operations a complete and compliant AMF configuration of the applications to be managed. In this paper, we describe two complementary and integrated tools for AMF...
Software maintenance is perhaps one of the most difficult activities in software engineering, especially for systems that have undergone several years of ad hoc maintenance. The problem is that, for such systems, the gap between the system implementation and its design models tend to be considerably large. Reverse engineering techniques, particularly the ones that focus on design and architecture...
The model-driven approach to software development has not only changed the way software systems are built and maintained but also the way they are tested. For such systems, a model-based testing approach is much recommended since it is aligned with the new model-driven development paradigm that favors models over code with the objective being to reduce time to market while improving product quality...
An AMF configuration is a logical organization of resources, components and service units (SUs) grouped into service groups (SGs), for providing and protecting services defined as service instances (SIs). The assignment of SIs to SUs is a runtime operation performed by the availability management framework (AMF) implementation. However, ensuring the capability of the provisioning and the protection...
Regulated companies are required to comply with the many laws, regulations, standards, and guidelines that apply to them. The sheer volume of regulatory compliance requirements for even a small company can be considerably high, which renders the understanding of such authoritative rules a challenging task without tool support. After inspecting several regulatory documents, we noticed that they contain...
Interfaces are fundamental in object-oriented systems. One of the principles of reusable object-oriented design, according to Gamma et al., is program to an interface, not an implementation. Interface-based systems display three key characteristics - flexibility, extensibility, and pluggability. Designing with interfaces is therefore a better way of building object-oriented systems. Getting students...
As businesses rely on software solutions to preserve their position in a highly competitive market, the need for reliable and robust software systems is vital. Lately, there has been a significant interest in building software using models as their main artifacts. Unlike traditional development techniques which tend to be code-centric, model driven approaches, such as the Model Driven Architecture...
Decomposing a software system into smaller, more manageable clusters is a common approach to support the comprehension of large systems. In recent years, researchers have focused on clustering techniques to perform such architectural decomposition, with the most predominant clustering techniques relying on the static analysis of source code. We argue that these static structural relationships are...
The service availability forum (SAF) has defined a set of service API specifications addressing the growing need of commercial-off-the-shelf high availability solutions. Among these services, the availability management framework (AMF) is the service responsible for managing the high availability of the application services by coordinating redundant application components. To achieve this task, an...
Generating executables from UML is possible given a precisely defined language for describing actions, a so-called action language. The UML specification formally describes the semantics that an action language must conform to, but not the syntax. Until recently, several surface syntax languages for UML have been proposed. These language, however, suffer from a number of limitations. First, they map...
Agile software development principles and methodologies have gained a lot of popularity in recent years. Unlike traditional software processes, agile processes advocate flexible practices that allow coping with changing requirements. Recently, several agile processes have been proposed, which differ in a variety of ways. In this paper, we analyze the characteristics of many agile processes and classify...
Traditional lectures espousing software engineering principles hardly engage studentspsila attention due to the fact that students often view software engineering principles as mere academic concepts without a clear understanding of how they can be used in practice. Some of the issues that contribute to this perception include lack of experience in writing and understanding large programs, and lack...
Applying program comprehension techniques may render software maintenance and evolution easier. Understanding a software system typically requires a combination of static and dynamic analysis techniques. The aim of this workshop is to bring together researchers and practitioners working in the area of program comprehension with an emphasis on dynamic analysis. We are interested in investigating how...
The behavior of real-time systems depends not only on their interaction with the environment but also on very rigid time constraints that puts restrictions on when these interactions take place. The timing aspect of such systems renders the testing process difficult without defining adequate test selection criteria that ensure good coverage of the system while keeping the number of needed test cases...
System evolution depends greatly on the ability of a maintainer to locate source code that is specific to feature implementation. Existing feature location techniques require either exercising several features of the system, or rely heavily on domain experts to guide the feature location process. In this paper, we present a novel approach for feature location that combines static and dynamic analysis...
Exploring the content of large execution traces can be a tedious task without efficient tool support. Building efficient trace analysis tools, however, requires a good understanding of the complexity embedded in traces. Trace complexity has traditionally been measured using the file size or the number of lines in the trace. In this paper, we argue that these metrics provide limited indication of the...
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.