A Requirement Level Modification Analysis Support Framework
|
|
|
- Francis Powers
- 9 years ago
- Views:
Transcription
1 A Requirement Level Modification Analysis Support Framework Maryam Shiri, Jameleddine Hassine, Juergen Rilling Concordia University, Montreal, Canada {ma_shiri,j_hassin, Abstract Modification analysis is an essential phase of most software maintenance processes, requiring decision makers to perform and predict potential change impacts, feasibility and costs associated with a potential modification request. The majority of existing techniques and tools supporting modification analysis focusing on source code level analysis and require an understanding of the system and its implementation. In this research, we present a novel approach to support the identification of potential modification and retesting efforts associated with a modification request, without the need for analyzing or understanding the system source code. We combine Use Case Maps with Formal Concept Analysis to provide a unique modification analysis framework that can assist decision makers during modification analysis at the requirements level. We demonstrate the applicability of our approach on a telephony system case study. Keywords: Change impact analysis, regression testing, feature interaction, Formal Concept Analysis, Use Case Maps 1. Introduction While developing software systems, it is rare that an initial system design will correspond completely with the final design or implementation of a system [16]. Ever changing customer needs lead to requirements modifications [4]. The efficient management and execution of these changes are critical to software quality and for managing the evolution of software systems [4]. Maintenance processes (e.g., [11]) have been established to guide both managers and maintainers during typical maintenance and evolution tasks. Common to these process models is that they require some type of modification analysis (MA) prior to committing to a change. Often during MA, managers who are not familiar with the detailed implementation of a system have to determine the feasibility, impact, and cost associated with a change request. Existing work in change impact analysis and regression testing has focused mainly on identifying changes at the source code level [14] [10]. These source-code-based approaches typically result in an accurate analysis of the change impacts, since the source code represents the final requirements implementation. However, these approaches also tend to be time consuming and require an understanding of both the system requirements and their implementations which makes them less applicable for management and non-technical decision makers. In this research, we propose a framework for supporting modification analysis for an early detection of change impact and re-testing effort at the requirements level, without the need for programming or implementation knowledge. We illustrate our approach using an existing requirement modeling technique that is being translated into a formal semantics [8] to make the requirements model executable. Traces are created from this model by executing UCM [22] scenarios that are collected and further analyzed using Formal Concept Analysis (FCA) [7]. We introduce three typical modification analysis tasks, which we will revisit throughout the article to illustrate the applicability of our approach. The three analysis task examples are: 1. Determine impact of a modification request on traces. 2. Estimate the test cases that have to be retested as part of a modification request. 3. Identify Use case scenarios, which contain feature interactions. The remainder of the article is organized as follows: Section 2 introduces Use Case Maps, Formal Concept Analysis and some background relevant to change impact analysis, regression testing, and feature interaction. Section 3 introduces our modification change impact analysis and selective regression testing approach based on UCM and FCA. An initial case study is demonstrated in Section 4, followed by related work and discussions in Section 5. Section 6 presents conclusions and future work.
2 2. Related Background 2.1 Formal Concept Analysis Formal Concept Analysis (FCA) [7] is a mathematical approach that dates back to Birkoff in 1940 [3]. FCA is commonly used for representing and analyzing information, by performing logical grouping of objects with common attributes. An FCA context is a triple C= (O,A,R) where O represents a set of objects and A, a set of attributes, with R O x A being a relation among them[17]. We invite the readers to consult [17] for detailed examples. Within the software engineering community, FCA has various applications in program comprehension and maintenance applications and among these applications are reengineering, software component retrieval, identifying objects from legacy code, model restructuring [21], and minimizing test suites [20]. Formal Concept Analysis has gained popularity in recent years, due to the following reasons: (1) programming language independence, (2) the ability to easily define different views (using different object, attribute combinations), (3) tool availability to generate context tables and lattices, and (4) the analysis itself is quite inexpensive, especially compared with other dynamic dependency and trace analysis techniques. It should, however, be noted that FCA does not consider semantic information about the trace content, which limits its applicability for more specific fine-grained type of analysis. Furthermore, identifying a meaningful context for the analysis is not always easy. 2.2 Use Case Maps Use Case Maps (UCM) [6], a modeling technique that is part of a new User Requirements Notation (URN) proposal to the ITU-T [12], has been applied to capture functional requirements in terms of casual scenarios. Since UCMs can represent behavioral aspects at a higher level of abstraction than for example UML diagrams, they are not necessarily bound to a specific underlying structure. They are not intended to replace UML, but to complement it. UCM can visualize an entire system to provide a better understanding of the evolving behavior of complex and dynamic systems such as reactive and distributed systems at the requirement and specification level. It can also provide stakeholders with guidance and reasoning about system-wide functionalities and behavior. Originally introduced to model the behavior of telecommunication systems, applications of UCMs have been extended to other application domains, e.g. web based application, For a more detailed coverage of the UCM notation, we refer the reader to [1][9]. Fig.1 A simple telephony system (UCM root map) UCM Example - A Telephony System Figure 1 shows the UCM root map of a telephony example originally introduced in [1] and further discussed in [9]. The example describes the connection request phase in an agent based telephony system with user-subscribed features (Originating Call Screening and Call Number Delivery) containing four components (originating/terminating users and their agents) and two static stubs. Upon the request of an originating user (req), the originating agent will select the appropriate user feature (in stub Sorig) that could result in some feedback (notify). This may also cause the terminating agent to select another feature (in stub Sterm), which in turn can cause different results in the originating and terminating users. Stub Sorig contains the Originating plug-in whereas stub Sterm contains the Terminating plug-in. These sub-ucms have their own stubs and plug-ins (Figure 2) corresponding to usersubscribed features and as part of this UCM a set of global variables is defined. Fig2. Plug-ins for Simple Telephony Features
3 In stub Sscreen we have the following plug-ins: - OCS (Originating Call Screening): blocks calls to people on the OCS filtering list. It checks whether the call should be denied or allowed (chk). When denied, an event occurs at the originator side (notify). - Default: Is used when user is not subscribed to any other originating feature. The plug-ins in Sdisplay are: - CND (Call Number Delivery): displays the caller s number on the callee s device (display) concurrently with the rest of the scenario (update and ringing). - Default: used when not subscribed to any other terminating feature. 2.3 Modification Analysis Techniques Within the scope of our research, we focus on three analysis techniques to be performed as part of the modification request analysis. Change Impact Analysis. Impact analysis focuses on identifying these parts of a system that are (potentially) affected by a modification request. Currently, most of the research on change impact analysis focuses on source code [14] and design level analysis [5] using either traceability or dependency analysis [4]. Common to these source code base approaches is that they are computationally expensive and often limited in their applicability by being restricted to a specific programming language. system functions incorrectly due to the presence of certain features [13]. Identifying those scenarios and features that are either affected or prone to be affected by a modification request is a challenge especially for large, feature rich systems. Existing work on feature interaction has focused on both the requirements level [15] and source code level [23]. More detailed information on feature interaction analysis techniques can be found in [13], [15], and [23]. 3. Requirements Modification Analysis The challenges for management include: 1) determining the potential affect of a modification request on the overall system early in the software maintenance cycle; 2) identifying which scenarios contain which features, and 3) analyzing, whether a feature interacts with other features and determining the testing effort related to a particular change. We now introduce the major activities involved in our approach (Fig 3). In step 1, we utilize a formalized UCM semantics to generate traces (Section 3.1). In step 2, traces generated by these formalized UCMs are analyzed through dependency analysis to support impact analysis at the modification request level (Section 3.2). In step 3, we combine UCM and FCA to support modification analysis through impact, feature interaction and regression test selection analysis at the requirements level (Section 3.3). Regression Testing. Regression testing is based on impact analysis and is used to validate that after a modification is implemented no new errors were introduced in a previously tested code [18] [20]. A retest-all approach that requires re-running all the test cases in the existing test suite is typically too expensive and unnecessary. In most cases, except for the rare event of a major rewrite, changes only affect parts (requirements) of a system. Selective regression testing allows for a reduction of the number of test cases to be re-executed and therefore reducing the cost associated with testing. Regression testing can be informally described as: Given a program P, its modified version P and a set of test cases T used previously to test P. Regression testing identifies the subset T, where T T and provides sufficient confidence in the correctness of P' [18]. Feature Interaction (FI). Often, maintainers have to deal with situations where one feature modifies or subverts the desired operation of another feature or when a Fig.3 Process of Implementing UCM_FCA Technique
4 3.1. Generating UCM System Level Scenarios In UCM, both its abstract syntax and static semantics are informally defined as XML document type definitions. Given the absence of a formal semantic, the interpretation of UCM specifications are also left completely to the user Furthermore, this informal representation results in a notation that does not support symbolic execution of these scenarios. In [8], we introduced an operational semantics for UCM based on Multi-Agent Abstract State Machines. The definition of the ASM formal semantics consists of associating each UCM construct with an ASM rule to model its behavior. The resulting ASM semantics are embedded in an ASM-UCM simulation engine designed for simulating and executing UCM specifications. It is written in AsmL [2], a high level executable specification language developed by the Foundations of Software Engineering (FSE) group at Microsoft Research. For a detailed description of the semantic we refer the reader to [8] Dependency Analysis based on UCM Traces Scenarios or traces (we use these terms interchangeable) are behavioral definitions of use cases, which typically correspond to user requirements (one or more features). In our approach, each of these scenarios represents a test case, which executes all UCM scenario elements in a particular scenario. Due to feature interactions, a requirement modification will often affect more than one scenario. Having the traces from the executable UCM allows us to apply dynamic dependency analysis to determine the impact of a modification on the overall system. In our research, we define and use feature and execution dependency analysis to answer questions about what and how objects are related with another. Feature dependency. Scenarios are directly mapped to functional requirements, involving one or more system features. Therefore, we can informally define scenarios as being feature dependent when the following holds: two or more scenarios represent the same functional features, or two or more scenario contain the same subscenarios. We further refine this definition by assuming that functional features are represented by UCM plugins/stub combinations. We can now state that feature dependency at the UCM level exists if one of the following two conditions holds: two or more scenarios contain the same subscenarios, (share sub-scenarios with the same start and end points) or two scenarios Sc1 and Sc2 are feature dependent if they share the same plug-in (feature) P, where Pa P= {Pa, Pb Pz}. One of the main challenges in analyzing functional dependencies in UCM is the use of dynamic stubs. Dynamic stubs allow for the specification and visualization of alternative behavior of scenarios. Being able to model such dynamic behavior is gaining more importance due to the widespread use of protocols and communicating entities in most systems. UCMs support the modeling of dynamic behavior through sub-maps, called plug-ins, that are associated with a dynamic stub. Conditions (global variables) in dynamic stubs define which plug-in is selected at run-time. A major advantage of formalizing UCM is that these dynamic dependencies of the plugs are resolved dynamically by executing their conditions and calling the respective plug(s) as part of the selected execution path. Execution dependency. Execution dependency, a more fine grained dynamic dependency analysis, focuses on the interaction of scenarios and shared elements within a model. Therefore, scenarios are execution dependent if they share common elements during their executions. In a UCM context, one can apply scenario execution dependencies at two abstraction levels: component and domain element. Component execution dependency From an UCM perspective, a component dependency exists when two or more scenarios share the same component C, where C {set of UCM components}. Domain element execution dependency Domain elements are execution dependent if their scenarios share common Use Case Map domain elements. We base our definition of domain elements on a subset of the elements introduced in [9]. We can now state that E is a set of UCM domain elements where E = {SP EP R AF AJ OF OJ ST}, where SP is the set of Start Points, EP is the set of End Points, R is the set of Responsibilities, AF is the set of AND-Fork, AJ is the set of AND-Join, OF is the set of OR-Fork, OJ is the set of OR-Join, and ST is the set of Stubs. Thus, we can specify now that two scenarios sc1 and sc2 are domain element execution dependent if both scenarios share any executed element E, where E E. Execution dependency, therefore, can be seen as an extension of feature dependencies, allowing for different impact analysis granularity levels. The component
5 execution dependency is of particular interest for distributed and/or larger systems in order to comprehend the components (subsystems) to be affected by a specific requirements modification. The domain element execution dependency on the other hand, focuses on a more fine grained analysis of the UCM domain elements and how these might be potentially affected by a modification request. Given these dependencies one can now apply FCA to automatically identify these dependencies from collected UCM traces. 3.3 Combining UCM with FCA The contextual representation created by FCA directly supports the dependency analysis introduced in the previous sections. The formalization of UCM allows us to execute and generate traces to be used in FCA. FCA depends on the quality and coverage achieved by the traces used for the analysis. For that reason, we assume UCM scenario coverage. That is, every scenario at the UCM level was executed at least once. Depending on the dependency type, one can create now the corresponding context by selecting the appropriate object and attribute pair. The resulting FCA context table can then be visualized as a context lattice through visualization tools like GraphViz [2]. Domain element dependencies can be used to determine potential change impacts at the scenario level. Combining FCA with UCMs allows for the logical clustering of scenario groups within an UCM to identify feature interaction among plug-ins. For performing selective regression test analysis, a concept (requirement) to be modified is specified in the concept lattice. Based on the selected modified requirement, the regression test analysis identifies all the test cases that need to be retested after the modification is performed. The test cases are identified by traversing the execution dependency lattice downward until all reachable leaf nodes (test cases) are included that execute the modified component. Test cases which are non-leaf nodes and contained in the path between the modified node and its reachable leaves are ignored, since they are already covered by the leaf node test cases. For the analysis of feature interactions, we adopt a three step methodology that analyzes and classifies features based on their interactions. In the first step of our methodology, execution traces are generated and collected for all scenarios defined in the UCM. In the second step, a FCA context table is generated, where global variables of features correspond to attributes and scenarios become the objects. In the resulting FCA context table, those scenarios with no or only one feature can be eliminated, since they are FI never occurs [15]. This elimination reduces the number of scenarios that have to be further analyzed for feature interaction. In the third step, the remaining scenarios are classified as either FI occur or FI prone [15], by passing down all attributes from the upper levels in the concept lattice that are associated with a particular scenario. Once all scenarios are classified as either FI never occurs, FI prone or FI occur the modification request analysis can be performed. 4. Case Study In this section, we revisit the telephony case study (Figures 1 and 2) to illustrate the applicability of our approach. We have implemented the framework in a prototype system to guide managers during modification analysis at the requirements level by performing automatic impact analysis (feature and execution dependency level) and selective regression testing at the UCM level. Due to space limitations, we only illustrate the execution dependency and selective regression testing analysis and omit the feature interaction analysis. The telephony system (Figure 2) contains four functional features: basic call, OCS, CND, and the combination of OCS_CND. For the telephony system seven system level scenario definitions can be identified (Table 1). Scenario Group Basic Call Table1: System scenario definitions Number Scenario Name Variables Busy OnOC- SList subcnd subocs 1 BCbusy T - F F 2 BCsuccess F - F F 3 OCSbusy T F F T OCS Feature 4 OCSdenied F T F T 5 OCSsuccess F F F T CND Feature 6 CNDdisplay F - T F OCS_CND 7 OCS_CNDdisplay 4.1. Change Impact Analysis F F T T Two of the main challenges in analyzing functional and execution dependencies in UCM are the use of dynamic stubs and the need to identify inter-scenario dependencies that might exist in an UCM. The use of
6 Fig 4: Domain element execution dependency lattice FCA lattices allows for the generation of different views to guide maintainers during their analysis and to eases the interpretation of the analysis results. Table 2 provides an overview of some of these contextual views provided in our system. Table2: Overview of Execution dependency views Dependency Analysis Type Functional dependency Domain element execution dependency Component dependency FCA- Objects UCM traces (Scenarios) UCM traces (Scenarios) UCM traces (Scenarios) FCA-Attributes UCM plug-ins (within stubs) UCM domain elements UCM components One of the major advantages of FCA is its ability to visualize relationships between sets of objects and their common attributes (concepts) as a hierarchical graph (concept lattice). Objects and attributes in the concept lattice can be distinguished by - The object (scenario) is always on the upper line (i.e., Sc4 (concept #13 in Figure 4)). - The attribute (or list of attributes) is found in the lower part of each concept node (i.e., notify (concept #13)). In the execution dependency example (Figure 4), we select a concept, which contains only one attribute ring (concept#7) and pass all of its objects up to this node. In this case, all scenarios that are sharing this UCM element are included and one can easily identify that any change to this concept will potentially affect scenarios sc7, sc5, sc Selective Regression Testing In what follows, we present how our framework can assist in identifying regression tests (scenarios that have to be retested after a modification request is completed), based on a UCM domain element execution lattice. The following assumes a modification request that involves concept #7 (containing the ring attribute in Figure 4). This modification will potentially affect scenarios sc7, sc5 and sc6 (mentioned in Section 4.1). Using our selective regression test selection approach,
7 one can identify that only test case sc6 is a leaf node that has to be re-executed since it automatically includes the execution of sc5 and sc7. Our initial case study illustrates that our test case selection technique can successfully be applied at different analysis level to reduce the number of test cases at the requirements level. Similar to other dynamic analysis techniques, our execution dependency analysis depends directly on the quality of the traces used as input. In cases with low coverage, the concept lattice created by the FCA algorithm might be too small and imprecise to be useful for further analysis. 5. Related Work and Discussion Most research on impact analysis and regression testing focuses mainly at source code level [14], [18]. Performing change impact analysis at source code requires a prior understanding of both the requirements and their mapping to the source code. Our approach supports modification analysis at the requirement level using a common representation - FCA lattices. Furthermore, we also provide for a unified approach to support different analysis techniques without requiring a previous understanding of the source code. Our impact analysis approach goes beyond our previous static approach [10] by automating the analysis part and using dynamic (trace information) to provide support for dynamic plug-ins. Additionally, we take advantage of FCA and its analysis and logical clustering flexibilities to support additional modification analysis (e.g. feature interaction). Furthermore, because of the use of FCA, the analysis is not limited to UCMs and its notation; in fact, any formalized and executable requirement notation can be integrated within our modification analysis framework. The most closely related work to ours is a greedy algorithm presented for FCA [20] with a focus on minimizing the number of test cases at the source code level. However, this approach is source code based and does not provide support for change impact and feature analysis. It should be noted that our approach has limitations similar to other impact analysis and regression testing approaches and can only support modifications or deletion requests. 6. Conclusions and Future Work Modification analysis is an early activity in most software maintenance process cycles and is often performed by decision makers not familiar with system implementation details. Our approach supports the modification analysis at the UCM requirements level by identifying potential change impacts and re-testing effort associated with a modification. We presented the following three major contributions: (1) of the ability to collect dynamic information from UCMs by formally mapping UCM constructs as part of an AsmL formalism; (2) applying FCA on these collected traces to identify feature and execution dependencies; (3) a tool implementation to support a fully automatic approach for both impact analysis and selective regression testing at the UCM requirements level. A more detailed case study to validate the applicability of our approach is part of our ongoing work in this area. Acknowledgements We would like to acknowledge the contribution of Jacqueline Hewitt and Pabhanin Leelahapant. References [1] D. Amyot, X. He, Y. He and D. Y. Cho, Generating Scenarios from Use Case Map Specifications, 3rd Int. Conf. on Quality Software (QSIC'03), Dallas, November [2] AT&T Labs-Research, "Graphviz," September 2006 [3] G. Birkhoff, "Lattice theory," Providence, Rhode Island: Amer.Math.Soc, [4] S. A. Bohner and R. S. Arnold, "An Introduction to Software Change Impact Analysis," Software Change Impact Analysis, pp. 1 26, [5] L. Briand, Y. Labiche and G. Soccar, "Automating impact analysis and regression test selection based on UML designs," ICSM 2002., pp , [6] R. J. A. Buhr and R. S. Casselman, Use Case Maps for Object-Oriented Systems. Prentice Hall, 1996 [7] B. Ganter and R. Wille, Formal Concept Analysis: Mathematical Foundations. Springer-Verlag NY, [8] J. Hassine, J. Rilling and R. Dssouli, "An ASM Operational Semantics for Use Case Maps,".Proc..13th IEEE Inter. Conf. on Requirements Engineering, pp , [9] J. Hassine, J. Rilling, J. Hewitt and R. Dssouli, "Change Impact Analysis for Requirement Evolution using Use Case Maps," Proc. of the 8th Int. Workshop on Principles of Software Evolution, pp , [10] J. Hewitt and J. Rilling, "A light-weight proactive software change impact analysis using use case maps," IEEE Int. Workshop on Software Evolvability pp , [11] International Standard - ISO/IEC IEEE Std Software Engineering, Software Life Cycle Processes, Maintenance, ISBN: , [12] ITU-T, Recommendation Z.150, User Requirements Notation (URN), Geneva, Switzerland [13] Kimbler K., Velthuijsen H., Feature Interaction Benchmark, Discussion paper for the panel on Benchmarking at FIW 95 (Feature Interaction Workshop), [14] J. Law and G. Rothermel, "Whole program path-based dynamic impact analysis," Proceedings of the Interna-
8 tional Conference on Software Engineering, pp , [15] Leelaprute, P., Nakamura, N., Matsumoto, K. and Kikuno, T. Design and Evaluation of Feature Interaction Filtering with Use Case Maps. NECTEC Technical Journal, pp , [16] M. Lehman and L. Belady, Program Evolution: Processes of Software Change. Academic Press Professional, Inc. San Diego, CA, USA, [17] C. Lindig, "Concept-based component retrieval," IJCAI95 Formal Approaches to the Reuse of Plans,Proofs, and Programs, [18] G. Rothermel and M. Harrold, "Analyzing regression test selection techniques",ieee TSE, Vol. 22, pp ,1996. [19] O. Pilskalns and A. Andrews, "Regression Testing UML Designs," Proc. IEEE International Conference on Software Maintenance (ICSM'06)-Volume 00, pp , [20] S. Tallam and N. Gupta, "A concept analysis inspired greedy algorithm for test suite minimization," Program Analysis for Software Tools and Eng. pp , [21] T. Tilley, R. Cole,P. Becker, and P. Eklund, A Survey of Formal Concept Analysis Support for Software Engineering Activities. International Conf. on Formal Concept Analysis, 2003 [22] UCM, «Use Case Maps Web Page and UCM Users Group», /view/ucm/webhome, [23] G. Utas. A pattern language of feature interactions. In [77], pages , September 1998.
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
A Change Impact Analysis Tool for Software Development Phase
, pp. 245-256 http://dx.doi.org/10.14257/ijseia.2015.9.9.21 A Change Impact Analysis Tool for Software Development Phase Sufyan Basri, Nazri Kama, Roslina Ibrahim and Saiful Adli Ismail Advanced Informatics
SQLMutation: A tool to generate mutants of SQL database queries
SQLMutation: A tool to generate mutants of SQL database queries Javier Tuya, Mª José Suárez-Cabal, Claudio de la Riva University of Oviedo (SPAIN) {tuya cabal claudio} @ uniovi.es Abstract We present a
Change Impact Analysis for the Software Development Phase: State-of-the-art
Change Impact Analysis for the Software Development Phase: State-of-the-art Nazri Kama Advanced Informatics School, Universiti Teknologi Malaysia, Malaysia [email protected] Abstract Impact analysis
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Different Approaches using Change Impact Analysis of UML Based Design for Software Development
Different Approaches using Change Impact Analysis of UML Based Design for Software Development Ali Tariq Bhatti 1, Muhammad Murad Haider 2, Zill-e-Subhan 2 1 North Carolina A&T State University, Greensboro
Change Management: Modeling Software Product Lines Evolution
Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction
Regression Testing of Database Applications Bassel Daou, Ramzi A. Haraty, Nash at Mansour Lebanese American University P.O. Box 13-5053 Beirut, Lebanon Email: rharaty, [email protected] Keywords: Regression
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
Simulating the Structural Evolution of Software
Simulating the Structural Evolution of Software Benjamin Stopford 1, Steve Counsell 2 1 School of Computer Science and Information Systems, Birkbeck, University of London 2 School of Information Systems,
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Requirements Traceability. Mirka Palo
Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Aspect Oriented Strategy to model the Examination Management Systems
Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
Evaluating Software Maintenance Testing Approaches to Support Test Case Evolution
Evaluating Software Maintenance Testing Approaches to Support Test Case Evolution Othman Mohd Yusop and Suhaimi Ibrahim Advanced Informatics School Universiti Teknologi Malaysia, International Campus 54100
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
ProGUM-Web: Tool Support for Model-Based Development of Web Applications
ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de
Testing automation of projects in telecommunication domain
Testing automation of projects in telecommunication domain Alexey Veselov, Vsevolod Kotlyarov Saint-Petersburg State Polytechnic University, Saint-Petersburg, Russia [email protected], [email protected]
Software Engineering Tools and Methods
Software Engineering Tools and Methods Fernando Brito e Abreu ([email protected]) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10
LDIF - Linked Data Integration Framework
LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany [email protected],
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
A Framework for A Business Intelligence-Enabled Adaptive Enterprise Architecture
A Framework for A Business Intelligence-Enabled Adaptive Enterprise Architecture Okhaide Akhigbe, Daniel Amyot and Gregory Richards [email protected] Business IT Alignment Aligning business objectives
Industrial Adoption of Automatically Extracted GUI Models for Testing
Industrial Adoption of Automatically Extracted GUI Models for Testing Pekka Aho 1,2 [email protected], Matias Suarez 3 [email protected], Teemu Kanstrén 1,4 [email protected], and Atif M. Memon
Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs
Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs Ryosuke Tsuchiya 1, Hironori Washizaki 1, Yoshiaki Fukazawa 1, Keishi Oshima 2, and Ryota Mibe
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and
Multi-Paradigm Process Management
Multi-Paradigm Process Management Michael zur Muehlen 1, Michael Rosemann 2 1 Stevens Institute of Technology Wesley J. Howe School of Technology Management Castle Point on the Hudson Hoboken, NJ 07030,
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques
Fuzzy ognitive Map for Software Testing Using Artificial Intelligence Techniques Deane Larkman 1, Masoud Mohammadian 1, Bala Balachandran 1, Ric Jentzsch 2 1 Faculty of Information Science and Engineering,
COMPARING MATRIX-BASED AND GRAPH-BASED REPRESENTATIONS FOR PRODUCT DESIGN
12 TH INTERNATIONAL DEPENDENCY AND STRUCTURE MODELLING CONFERENCE, 22 23 JULY 2010, CAMBRIDGE, UK COMPARING MATRIX-BASED AND GRAPH-BASED REPRESENTATIONS FOR PRODUCT DESIGN Andrew H Tilstra 1, Matthew I
Personalized e-learning a Goal Oriented Approach
Proceedings of the 7th WSEAS International Conference on Distance Learning and Web Engineering, Beijing, China, September 15-17, 2007 304 Personalized e-learning a Goal Oriented Approach ZHIQI SHEN 1,
Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
Resource Allocation Schemes for Gang Scheduling
Resource Allocation Schemes for Gang Scheduling B. B. Zhou School of Computing and Mathematics Deakin University Geelong, VIC 327, Australia D. Walsh R. P. Brent Department of Computer Science Australian
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
SEMANTIC WEB BASED INFERENCE MODEL FOR LARGE SCALE ONTOLOGIES FROM BIG DATA
SEMANTIC WEB BASED INFERENCE MODEL FOR LARGE SCALE ONTOLOGIES FROM BIG DATA J.RAVI RAJESH PG Scholar Rajalakshmi engineering college Thandalam, Chennai. [email protected] Mrs.
Traceability Method for Software Engineering Documentation
www.ijcsi.org 216 Traceability Method for Software Engineering Documentation Nur Adila Azram 1 and Rodziah Atan 2 1 Department of Information System, Universiti Putra Malaysia, Company Serdang, Selangor,
Regression Testing of Web Services Using Parsing and Test case Prioritization Approach
Regression Testing of Web Services Using Parsing and Test case Prioritization Approach Shaveta Sehgal Desh Bhagat University,Mandi Gobindgarh Abstract- Web services are the basic building blocks for every
Some Methodological Clues for Defining a Unified Enterprise Modelling Language
Some Methodological Clues for Defining a Unified Enterprise Modelling Language Michaël Petit University of Namur, Belgium, [email protected] Abstract The need for a Unified Enterprise Modelling Language
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Analysis and Implementation of Workflowbased Supply Chain Management System
Analysis and Implementation of Workflowbased Supply Chain Management System Yan Tu 1 and Baowen Sun 2 1 Information School, Central University of Finance and Economics, Beijing, 100081, P.R.China,[email protected]
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
VISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
A Methodology for the Development of New Telecommunications Services
A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford
Implementing Ontology-based Information Sharing in Product Lifecycle Management
Implementing Ontology-based Information Sharing in Product Lifecycle Management Dillon McKenzie-Veal, Nathan W. Hartman, and John Springer College of Technology, Purdue University, West Lafayette, Indiana
Developing SOA solutions using IBM SOA Foundation
Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach Sabnam Sengupta 1,Swapan Bhattacharya 2 Department of Computer Science & Engineering, Jadavpur
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
SNMP, CMIP based Distributed Heterogeneous Network Management using WBEM Gateway Enabled Integration Approach
, CMIP based Distributed Heterogeneous Network Management using WBEM Gateway Enabled Integration Approach Manvi Mishra Dept. of Information Technology, SRMSCET Bareilly (U.P.), India S.S. Bedi Dept of
i-questionnaire A Software Service Tool for Data
i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,
Reusability of WSDL Services in Web Applications
599 Reusability of WSDL Services in Web Applications 1 Jaspreet Singh, 2 Sandeep Saini 1 Assistant Professor Department Of Computer Science & Engineering, Chandigarh University Gharuan, Punjab, India 2
VisCG: Creating an Eclipse Call Graph Visualization Plug-in. Kenta Hasui, Undergraduate Student at Vassar College Class of 2015
VisCG: Creating an Eclipse Call Graph Visualization Plug-in Kenta Hasui, Undergraduate Student at Vassar College Class of 2015 Abstract Call graphs are a useful tool for understanding software; however,
SERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
Service Identifier Comparison module Service Rule Comparison module Favourite Application Server Reinvocation Management module
Service Broker for Managing Feature Interactions in IP Multimedia Subsystem Anahita Gouya, Noël Crespi {anahita.gouya, noel.crespi @int-evry.fr}, Institut National des télécommunications (GET-INT) Mobile
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Using Model-Driven Development Tools for Object-Oriented Modeling Education
Using Model-Driven Development Tools for Object-Oriented Modeling Education Seiko Akayama 1, Kenji Hisazumi 2 Syuhei Hiya 1, and Akira Fukuda 3 1 Graduate School of Information Science and Electrical Engineering,
Method of Fault Detection in Cloud Computing Systems
, pp.205-212 http://dx.doi.org/10.14257/ijgdc.2014.7.3.21 Method of Fault Detection in Cloud Computing Systems Ying Jiang, Jie Huang, Jiaman Ding and Yingli Liu Yunnan Key Lab of Computer Technology Application,
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
System Behaviour Analysis with UML and Ptolemy. Scope and goals
Information included in this document are group's own property. These ones shall not be disclosed without the prior wirtten consent of Optronique. System Behaviour Analysis with UML and Ptolemy 4 th Biennal
White Paper Business Process Modeling and Simulation
White Paper Business Process Modeling and Simulation WP0146 May 2014 Bhakti Stephan Onggo Bhakti Stephan Onggo is a lecturer at the Department of Management Science at the Lancaster University Management
Building Web-based Infrastructures for Smart Meters
Building Web-based Infrastructures for Smart Meters Andreas Kamilaris 1, Vlad Trifa 2, and Dominique Guinard 2 1 University of Cyprus, Nicosia, Cyprus 2 ETH Zurich and SAP Research, Switzerland Abstract.
How to realize software evolution of existing BOSS via ZTE SEEM
How to realize software evolution of existing BOSS via ZTE SEEM Zhan Zhang Abstract Due to long-term construction and accumulation for different purposes, telecom carriers normally have very complex IT
Third Party Data Session Control in the Evolved Packet System
Third Party Data Session Control in the Evolved Packet System EVELINA PENCHEVA Faculty of Telecommunications Technical University of Sofia 8 Kliment Ohridski blvd., 1000 Sofia BULGARIA [email protected]
Software Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Sanjeev Kumar. contribute
RESEARCH ISSUES IN DATAA MINING Sanjeev Kumar I.A.S.R.I., Library Avenue, Pusa, New Delhi-110012 [email protected] 1. Introduction The field of data mining and knowledgee discovery is emerging as a
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
Model Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
Mastering increasing product complexity with Collaborative Systems Engineering and PLM
Mastering increasing product complexity with Collaborative Systems Engineering and PLM Thierry Ambroisine Dassault Systèmes 10 rue Marcel Dassault, 78140 Vélizy Villacoublay, France [email protected]
Visualization of bioinformatics workflows for ease of understanding and design activities
Visualization of bioinformatics workflows for ease of understanding and design activities H.V. Byelas and M.A.Swertz Genomics Coordination Center, Department of Genetics, University Medical Center Groningen,
WEB SITE OPTIMIZATION THROUGH MINING USER NAVIGATIONAL PATTERNS
WEB SITE OPTIMIZATION THROUGH MINING USER NAVIGATIONAL PATTERNS Biswajit Biswal Oracle Corporation [email protected] ABSTRACT With the World Wide Web (www) s ubiquity increase and the rapid development
Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong
, March 13-15, 2013, Hong Kong Risk Assessment for Relational Database Schema-based Constraint Using Machine Diagram Kanjana Eiamsaard 1, Nakornthip Prompoon 2 Abstract Information is a critical asset
E-Business Technologies for the Future
E-Business Technologies for the Future Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh [email protected] http://www.sis.pitt.edu/~spring Overview
Chapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
A Business Process Driven Approach for Generating Software Modules
A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes
