Jameleddine Hassine | KFUPM - Academia.edu (original) (raw)
Papers by Jameleddine Hassine
Journal of Systems and Software
Journal of Systems and Software
Software & Systems Modeling
Model-based testing (MBT) focuses on the generation of test suites, using models of system requir... more Model-based testing (MBT) focuses on the generation of test suites, using models of system requirements and behavior. In order to get full benefits from model-based testing and to drive its adoption by practitioners, automation support is required. Spec Explorer 2010 is an MBT tool that offers a rich set of features allowing for modeling and analyzing software behavior using graphical visualization and automatic generation of test code from models. In this paper, we propose and discuss a set of guidelines to map the core Abstract State Machines (ASM) concepts and constructs into Spec Explorer 2010. We illustrate our mapping approach using examples and features from ASM-based formal specification languages CoreASM and AsmL. Furthermore, we discuss the benefits, the challenges and the limitations of our proposed mapping guidelines. Finally, we illustrate our approach using a case study of the well known dining philosophers problem.
There is a general consensus on the importance of good Requirements Engineering (RE) for achievin... more There is a general consensus on the importance of good Requirements Engineering (RE) for achieving high quality software. The modeling and analysis of requirements have been the main challenges during the development of complex systems. Although semi-formal, scenario driven approaches have raised the awareness and use of requirement engineering techniques, mostly because of their intuitive representation. Scenarios are a well
Lecture Notes in Computer Science, 2015
Non-functional requirements (NFR), such as availability, us-ability, performance, and security ar... more Non-functional requirements (NFR), such as availability, us-ability, performance, and security are often crucial in producing a satisfactory software product. Therefore, these non-functional requirements should be addressed as early as possible in the software development life cycle. Contrary to other non-functional requirements, such as usabil-ity and performance, security concerns are often postponed at the very end of the design process. As a result, security requirements have to be tailored into an existing design, leading to serious design challenges that usually translate into a software vulnerabilities. Security architectural tactics describe security design measures in a very general, abstract , and implementation-independent way. In this paper, we present a novel approach to describe high-level security requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard. The proposed approach is based on a mapping of the well-known security tactics to UCM models. The resulting security extensions are described using a metamodel and are implemented within the jUCMNav tool. We illustrate our approach using a UCM scenario describing the modification of consultants pay rates.
... 48 3.6.2 UCM-Oriented Testing Patterns . . . . . ... 64 4.6 Edges, Components and Global Vari... more ... 48 3.6.2 UCM-Oriented Testing Patterns . . . . . ... 64 4.6 Edges, Components and Global Variables . . . . . ... Lack of automated analysis and validation support to detect possible ambiguities, inconsisten-cies or undesirable interactions. ...
2015 12th International Conference on Information Technology - New Generations, 2015
Feature interaction testing (FIT) suffers from the problem of combinatorial state explosion since... more Feature interaction testing (FIT) suffers from the problem of combinatorial state explosion since all feature combinations have to be tested in all possible states. This paper presents a cost-effective feature interaction testing strategy that is based on a thorough feature interaction analysis, a dynamic prioritization of test cases, and an analysis of customer deployment scenarios. The proposed strategy is applied to Cisco IOS-XR internetworking operating system.
Lecture Notes in Computer Science, 2013
Lecture Notes in Computer Science, 2010
... 15] to model the concurrent sub-states and the internal activities of UML state machines. ...... more ... 15] to model the concurrent sub-states and the internal activities of UML state machines. ... Implementing an interleaving or a true concurrency semantics using multi-agent ASMs, would ... The AsmL Implementation is executed within Spec Explorer [18], an advanced model-based ...
Lecture Notes in Computer Science, 2009
... 4.5) is executed within Spec Explorer [18], an advanced model-based specification and conform... more ... 4.5) is executed within Spec Explorer [18], an advanced model-based specification and conformance ... schedulability and performance concepts, to support quantitative analysis of UML models. ... SPT supports schedula-bility analysis by using «SAprofile», which uses modifiers on ...
Requirements Engineering, 2014
Lecture Notes in Computer Science, 2013
2011 Eighth International Conference on Information Technology: New Generations, 2011
ABSTRACT The design and implementation of distributed real-time systems is often dominated by non... more ABSTRACT The design and implementation of distributed real-time systems is often dominated by non-functional considerations like timing, distribution and fault tolerance. As a result, it is increasingly recognized that non-functional requirements should be considered at the earliest stages of system development life cycle. The ability to model non-functional properties (such as timing constraints, availability, performance and security) at the system requirement level not only facilitates the task of moving towards real-time design, but ultimately supports the early detection of errors through automated validation and verification. This paper introduces a novel approach to describe availability features in Use Case Maps (UCM) specifications. The proposed approach relies on a mapping of availability architectural tactics to UCM components. We illustrate the applicability of our approach using the ISSU (In Service Software Upgrade) feature on IP routers.
Lecture Notes in Computer Science, 2011
ABSTRACT Non-functional aspects including time constraints, distribution and fault tolerance are ... more ABSTRACT Non-functional aspects including time constraints, distribution and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is well recognized that non-functional requirements should be considered at the earliest stages of system development life cycle. The ability to model non-functional properties (such as timing constraints, availability, performance, and security) at the system requirements level not only facilitates the task of moving towards real-time design, but ultimately supports the early detection of errors through automated validation and verification. In this paper, we introduce a novel approach to describe availability features in Use Case Maps (UCM) specifications. The proposed approach relies on a mapping of availability architectural tactics to UCM components. We illustrate the application of our approach using the In Service Software Upgrade (ISSU) feature on IP routers.
Software & Systems Modeling, 2013
ABSTRACT Non-functional aspects such as timing constraints, availability, and fault tolerance are... more ABSTRACT Non-functional aspects such as timing constraints, availability, and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is becoming crucial to model and analyze non-functional requirements at the early stages of the software development life cycle. The widespread interest in dependability modeling and analysis techniques at the requirements phase provides the major motivation for this research. This paper presents a novel approach to describe and validate high-level availability requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation standard. The proposed approach relies on a mapping of availability architectural tactics to UCM models. The resulting extensions are described using a metamodel and are implemented within the jUCMNav tool. Early assessment and characterization of the means to achieve availability are then performed using a matrix representation allowing for feature-based availability composition and reasoning. We demonstrate the applicability of our approach through a case study of lawful intercept and ACL-based forwarding features on IP routers.
Lecture Notes in Computer Science, 2014
Software maintenance accounts for a significant proportion of the cost of the software life cycle... more Software maintenance accounts for a significant proportion of the cost of the software life cycle. Software engineers must spend a considerable amount of time understanding the software system functional attributes and non-functional (e.g., availability, security, etc.) aspects prior to performing a maintenance task. In this paper, we propose a dynamic analysis approach to recover availability requirements from system execution traces. Availability requirements are described and visualized using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard, extended with availability annotations. Our UCM-based approach allows for capturing availability requirement at higher levels of abstraction from low-level execution traces. The resulting availability UCM models can then be analyzed to reveal system availability shortcomings. In order to illustrate and demonstrate the feasibility of the proposed approach, we apply it to a case study of a network implementing the HSRP (Hot Standby Router Protocol) redundancy protocol.
Lecture Notes in Computer Science, 2014
Software maintenance accounts for a significant proportion of the cost of the software life cycle... more Software maintenance accounts for a significant proportion of the cost of the software life cycle. Software engineers must spend a considerable amount of time understanding the software system functional attributes and non-functional (e.g., availability, security, etc.) aspects prior to performing a maintenance task. In this paper, we propose a dynamic analysis approach to recover availability requirements from system execution traces. Availability requirements are described and visualized using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard, extended with availability annotations. Our UCM-based approach allows for capturing availability requirement at higher levels of abstraction from low-level execution traces. The resulting availability UCM models can then be analyzed to reveal system availability shortcomings. In order to illustrate and demonstrate the feasibility of the proposed approach, we apply it to a case study of a network implementing the HSRP (Hot Standby Router Protocol) redundancy protocol.
Journal of Systems and Software
Journal of Systems and Software
Software & Systems Modeling
Model-based testing (MBT) focuses on the generation of test suites, using models of system requir... more Model-based testing (MBT) focuses on the generation of test suites, using models of system requirements and behavior. In order to get full benefits from model-based testing and to drive its adoption by practitioners, automation support is required. Spec Explorer 2010 is an MBT tool that offers a rich set of features allowing for modeling and analyzing software behavior using graphical visualization and automatic generation of test code from models. In this paper, we propose and discuss a set of guidelines to map the core Abstract State Machines (ASM) concepts and constructs into Spec Explorer 2010. We illustrate our mapping approach using examples and features from ASM-based formal specification languages CoreASM and AsmL. Furthermore, we discuss the benefits, the challenges and the limitations of our proposed mapping guidelines. Finally, we illustrate our approach using a case study of the well known dining philosophers problem.
There is a general consensus on the importance of good Requirements Engineering (RE) for achievin... more There is a general consensus on the importance of good Requirements Engineering (RE) for achieving high quality software. The modeling and analysis of requirements have been the main challenges during the development of complex systems. Although semi-formal, scenario driven approaches have raised the awareness and use of requirement engineering techniques, mostly because of their intuitive representation. Scenarios are a well
Lecture Notes in Computer Science, 2015
Non-functional requirements (NFR), such as availability, us-ability, performance, and security ar... more Non-functional requirements (NFR), such as availability, us-ability, performance, and security are often crucial in producing a satisfactory software product. Therefore, these non-functional requirements should be addressed as early as possible in the software development life cycle. Contrary to other non-functional requirements, such as usabil-ity and performance, security concerns are often postponed at the very end of the design process. As a result, security requirements have to be tailored into an existing design, leading to serious design challenges that usually translate into a software vulnerabilities. Security architectural tactics describe security design measures in a very general, abstract , and implementation-independent way. In this paper, we present a novel approach to describe high-level security requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard. The proposed approach is based on a mapping of the well-known security tactics to UCM models. The resulting security extensions are described using a metamodel and are implemented within the jUCMNav tool. We illustrate our approach using a UCM scenario describing the modification of consultants pay rates.
... 48 3.6.2 UCM-Oriented Testing Patterns . . . . . ... 64 4.6 Edges, Components and Global Vari... more ... 48 3.6.2 UCM-Oriented Testing Patterns . . . . . ... 64 4.6 Edges, Components and Global Variables . . . . . ... Lack of automated analysis and validation support to detect possible ambiguities, inconsisten-cies or undesirable interactions. ...
2015 12th International Conference on Information Technology - New Generations, 2015
Feature interaction testing (FIT) suffers from the problem of combinatorial state explosion since... more Feature interaction testing (FIT) suffers from the problem of combinatorial state explosion since all feature combinations have to be tested in all possible states. This paper presents a cost-effective feature interaction testing strategy that is based on a thorough feature interaction analysis, a dynamic prioritization of test cases, and an analysis of customer deployment scenarios. The proposed strategy is applied to Cisco IOS-XR internetworking operating system.
Lecture Notes in Computer Science, 2013
Lecture Notes in Computer Science, 2010
... 15] to model the concurrent sub-states and the internal activities of UML state machines. ...... more ... 15] to model the concurrent sub-states and the internal activities of UML state machines. ... Implementing an interleaving or a true concurrency semantics using multi-agent ASMs, would ... The AsmL Implementation is executed within Spec Explorer [18], an advanced model-based ...
Lecture Notes in Computer Science, 2009
... 4.5) is executed within Spec Explorer [18], an advanced model-based specification and conform... more ... 4.5) is executed within Spec Explorer [18], an advanced model-based specification and conformance ... schedulability and performance concepts, to support quantitative analysis of UML models. ... SPT supports schedula-bility analysis by using «SAprofile», which uses modifiers on ...
Requirements Engineering, 2014
Lecture Notes in Computer Science, 2013
2011 Eighth International Conference on Information Technology: New Generations, 2011
ABSTRACT The design and implementation of distributed real-time systems is often dominated by non... more ABSTRACT The design and implementation of distributed real-time systems is often dominated by non-functional considerations like timing, distribution and fault tolerance. As a result, it is increasingly recognized that non-functional requirements should be considered at the earliest stages of system development life cycle. The ability to model non-functional properties (such as timing constraints, availability, performance and security) at the system requirement level not only facilitates the task of moving towards real-time design, but ultimately supports the early detection of errors through automated validation and verification. This paper introduces a novel approach to describe availability features in Use Case Maps (UCM) specifications. The proposed approach relies on a mapping of availability architectural tactics to UCM components. We illustrate the applicability of our approach using the ISSU (In Service Software Upgrade) feature on IP routers.
Lecture Notes in Computer Science, 2011
ABSTRACT Non-functional aspects including time constraints, distribution and fault tolerance are ... more ABSTRACT Non-functional aspects including time constraints, distribution and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is well recognized that non-functional requirements should be considered at the earliest stages of system development life cycle. The ability to model non-functional properties (such as timing constraints, availability, performance, and security) at the system requirements level not only facilitates the task of moving towards real-time design, but ultimately supports the early detection of errors through automated validation and verification. In this paper, we introduce a novel approach to describe availability features in Use Case Maps (UCM) specifications. The proposed approach relies on a mapping of availability architectural tactics to UCM components. We illustrate the application of our approach using the In Service Software Upgrade (ISSU) feature on IP routers.
Software & Systems Modeling, 2013
ABSTRACT Non-functional aspects such as timing constraints, availability, and fault tolerance are... more ABSTRACT Non-functional aspects such as timing constraints, availability, and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is becoming crucial to model and analyze non-functional requirements at the early stages of the software development life cycle. The widespread interest in dependability modeling and analysis techniques at the requirements phase provides the major motivation for this research. This paper presents a novel approach to describe and validate high-level availability requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation standard. The proposed approach relies on a mapping of availability architectural tactics to UCM models. The resulting extensions are described using a metamodel and are implemented within the jUCMNav tool. Early assessment and characterization of the means to achieve availability are then performed using a matrix representation allowing for feature-based availability composition and reasoning. We demonstrate the applicability of our approach through a case study of lawful intercept and ACL-based forwarding features on IP routers.
Lecture Notes in Computer Science, 2014
Software maintenance accounts for a significant proportion of the cost of the software life cycle... more Software maintenance accounts for a significant proportion of the cost of the software life cycle. Software engineers must spend a considerable amount of time understanding the software system functional attributes and non-functional (e.g., availability, security, etc.) aspects prior to performing a maintenance task. In this paper, we propose a dynamic analysis approach to recover availability requirements from system execution traces. Availability requirements are described and visualized using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard, extended with availability annotations. Our UCM-based approach allows for capturing availability requirement at higher levels of abstraction from low-level execution traces. The resulting availability UCM models can then be analyzed to reveal system availability shortcomings. In order to illustrate and demonstrate the feasibility of the proposed approach, we apply it to a case study of a network implementing the HSRP (Hot Standby Router Protocol) redundancy protocol.
Lecture Notes in Computer Science, 2014
Software maintenance accounts for a significant proportion of the cost of the software life cycle... more Software maintenance accounts for a significant proportion of the cost of the software life cycle. Software engineers must spend a considerable amount of time understanding the software system functional attributes and non-functional (e.g., availability, security, etc.) aspects prior to performing a maintenance task. In this paper, we propose a dynamic analysis approach to recover availability requirements from system execution traces. Availability requirements are described and visualized using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard, extended with availability annotations. Our UCM-based approach allows for capturing availability requirement at higher levels of abstraction from low-level execution traces. The resulting availability UCM models can then be analyzed to reveal system availability shortcomings. In order to illustrate and demonstrate the feasibility of the proposed approach, we apply it to a case study of a network implementing the HSRP (Hot Standby Router Protocol) redundancy protocol.