Designing, Engineering, and Analyzing Reliable and Efficient Software
Latest Publications


TOTAL DOCUMENTS

16
(FIVE YEARS 0)

H-INDEX

2
(FIVE YEARS 0)

Published By IGI Global

9781466629585, 9781466629592

Author(s):  
Aggelos Liapis ◽  
Evangelos Argyzoudis

The Concurrent Design Facility (CDF) of the European Space Agency (ESA) allows a team of experts from several disciplines to apply concurrent engineering for the design of future space missions. It facilitates faster and effective interaction of all disciplines involved, ensuring consistent and high-quality results. It is primarily used to assess the technical and financial feasibility of future space missions and new spacecraft concepts, though for some projects, the facilities and the data exchange model are used during later phases. This chapter focuses on the field of computer supported collaborative work (CSCW) and its supporting areas whose mission is to support interaction between people, using computers as the enabling technology. Its aim is to present the design and implementation framework of a semantically driven, collaborative working environment (CWE) that allows ESA’s CDF to be used by projects more extensively and effectively during project meetings, task forces, and reviews.


Author(s):  
Ayda Saidane ◽  
Nicolas Guelfi

The quality of software systems depends strongly on their architecture. For this reason, taking into account non-functional requirements at architecture level is crucial for the success of the software development process. Early architecture model validation facilitates the detection and correction of design errors. In this research, the authors are interested in security critical systems, which require a reliable validation process. So far, they are missing security-testing approaches providing an appropriate compromise between software quality and development cost while satisfying certification and audit procedures requirements through automated and documented validation activities. In this chapter, the authors propose a novel test-driven and architecture model-based security engineering approach for resilient systems. It consists of a test-driven security modeling framework and a test based validation approach. The assessment of the security requirement satisfaction is based on the test traces analysis. Throughout this study, the authors illustrate the approach using a client server architecture case study.


Author(s):  
Punam Bedi ◽  
Sumit Kr Agarwal

Recommender systems are widely used intelligent applications which assist users in a decision-making process to choose one item amongst a potentially overwhelming set of alternative products or services. Recommender systems use the opinions of members of a community to help individuals in that community by identifying information most likely to be interesting to them or relevant to their needs. Recommender systems have various core design crosscutting issues such as: user preference learning, security, mobility, visualization, interaction etc that are required to be handled properly in order to implement an efficient, good quality and maintainable recommender system. Implementation of these crosscutting design issues of the recommender systems using conventional agent-oriented approach creates the problem of code scattering and code tangling. An Aspect-Oriented Recommender System is a multi agent system that handles core design issues of the recommender system in a better modular way by using the concepts of aspect oriented programming, which in turn improves the system reusability, maintainability, and removes the scattering and tangling problems from the recommender system.


Author(s):  
Kuljit Kaur

Reusable software components are the software modules that can be (re)used across a number of applications in a particular domain. Component users prefer to use those components which can be adapted easily for their changing requirements. So components have to evolve continuously in order to attract users. This chapter focuses on the evolutionary aspects of software components. It mentions various techniques for monitoring software evolution. It uses metrics based analysis as the technique to show software evolution of 15 reusable components from the point of view of their size, complexity, and functionality. The evolution analysis is motivated by laws of software evolution which suggest that as software ages, it increases in size and complexity (unless it is managed) and it has to offer increased functionality to please its users. The findings of the study indicate that the size of the software components (in this data set) grows at a linear rate, and complexity is well managed. However, increase in functionality is sub linear for almost all the components. It remains almost constant for some of them.


Author(s):  
Fathi Taibi

In order to support the collaborative development of software specifications, there is a need to automate the extraction and integration of the parallel changes or revisions that are made to a shared specification. These revisions are aimed at reaching a specification that satisfies the needs of all the stakeholders. Hence, merging conflicts are inevitable and must be detected and resolved in order to commit the changes made properly to the shared specification leading to a consistent result. A framework is proposed in this chapter to extract and integrate the parallel changes made to Object-Oriented formal specifications in a collaborative development environment. A formal foundation is proposed to uniformly define the specifications, the revisions made to them and the possible merging conflicts. The proposed framework allows extracting and integrating the parallel changes made while addressing a wide range of merging conflicts at the same time. Evaluating the developed algorithms has shown good signs in terms of accuracy and scalability.


Author(s):  
Kawal Jeet ◽  
Nitin Bhatia ◽  
Renu Dhir

Maintainability is one of the important characteristics of quality of software. It is the measure of efforts needed to modify the software. Large number of subjective techniques has been developed in industry to deal with assessment or prediction of this characteristic. But these techniques generally fail due to their inability to break down maintainability to a level of actual evaluation. They also lack homogeneity in the models thus developed and so fail to take into account the cost factor associated with maintainability. Activity based quality model is found to decompose maintainability to an actual analyzable level. It manages maintainability in terms of software maintenance efforts but it lacks quantitative evaluation of this characteristic. Bayesian approach to deal with this model added quantitative feature but also added crispness to the system developed. In this chapter, the authors propose the use of fuzzy approach to correct the existing Bayesian approach to deal with activity based quality model. A comprehensive comparative study is presented to show the effectiveness of proposed technique.


Author(s):  
Anirban Sarkar

The chapter focuses on a graph – semantic based conceptual data model for semi-structured data, called Graph Object Oriented Semi-Structured Data Model (GOOSSDM), to conceptualize the different facets of such system in object oriented paradigm. The model defines a set of graph based formal constructs, varieties of relationship types with participation constraints. It is accompanied with a rich set of graphical notations and those are used to specify the conceptual level design of semi-structured database system. The approach facilitates modeling of irregular, heterogeneous, hierarchical, and non-hierarchical semi-structured data at the conceptual level. The GOOSSDM is also able to represent the mixed content in semi-structured data. Moreover, the approach is capable to model XML document at conceptual level with the facility of document-centric design, ordering and disjunction characteristic. The chapter also includes a rule based transformation mechanism for GOOSSDM schema into the equivalent XML Schema Definition (XSD). Moreover, the chapter also provides comparative study of several similar kinds of proposals for semi-structured data models based on the properties of semi-structured data and future research scope in this area.


Author(s):  
Nisha Ratti ◽  
Parminder Kaur

As software is developed and deployed, it is extremely common for multiple versions of the same software to be deployed in different sites, and for the software’s developers to be working privately on updates. Bugs and other issues with software are often only present in certain versions (because of the fixing of some problems and the introduction of others the program evolves). Therefore, for the purposes of locating and fixing bugs, it is vitally important for the debugger to be able to retrieve and run different versions of the software to determine in which version(s) the problem occurs. All these tasks are related with version control. This case study makes an attempt to show that how Subversion, an open source version control tool, is helpful in tracing the changes processed at different time. This case study also shows the comparison between open source and commercial version control tools.


Author(s):  
Daljit Kaur ◽  
Parminder Kaur

This chapter is an effort to develop secure web applications based on known vulnerabilities. It has been seen that in the rapid race of developing web applications in minimum time and budget, security is given the least importance, and a consequence of which is that web applications are developed and hosted with a number of vulnerabilities in them. In this race, one thing is constant that attackers take advantage of weaknesses existing in technology for financial gain and theft of intellectual property. In this proposed method of secure web development, most common vulnerabilities and their occurrence in development process is discussed. Mapping vulnerabilities to the actions needed to take during development process may help developers to understand vulnerability and avoid vulnerabilities in application.


Author(s):  
Punam Bedi ◽  
Vandana Gandotra ◽  
Archana Singhal

This chapter discusses adoption of some proactive strategies in threat management for security of software systems. Security requirements play an important role for secure software systems which arise due to threats to the assets from malicious users. It is therefore imperative to develop realistic and meaningful security requirements. A hybrid technique has been presented in this chapter evolved by overlapping the strengths of misuse cases and attack trees for elicitation of flawless security requirements. This chapter also discusses an innovative technique using fuzzy logic as a proactive step to break the jinx of brittleness of present day security measures based on binary principle. In this mechanism, partially secure state evolved between safe state and failed state using fuzzy logic provides an alert signal to take appropriate additional preventive measures to save the system from entering into the failed state to the extent possible.


Sign in / Sign up

Export Citation Format

Share Document