Measurement, Analysis with Visualization for Better Reliability

Size: px
Start display at page:

Download "Measurement, Analysis with Visualization for Better Reliability"

Transcription

1 Measurement, Analysis with Visualization for Better Reliability Zeeshan Ahmed and Saman Majeed Department of Bioinformatics, Biocenter University of Wuerzburg, Germany

2 1 Introduction Software industry is growing day by day along with the high expectations of the customers for the high quality products within shortest possible (software engineering) time, low budget and with the use of less man power and resources (Ahmed, 2007). Yet the problem of maintaining high success rate of quality software production in the industry is still there. In the beginning of software engineering, the products were developed using traditional product engineering concepts. For every new product a new design was implemented because there was no such concept of Reusability. With the passage of time software products started expanding and becoming larger in size (line of source code) which in return raised the levels of complexities in production processes. This increase in size and complexity brought a high negative impact on software productivity, effort and scheduling. To cope with the challenge of resolving levels of complexities, researchers started considering Product Line engineering concept, known from the manufacturing industry, which might be adopted to improve the quality during software development processes (Ahmed, 2011). Software product line (see section 2 for details) provided a way to develop high quality products at lower cost, in less time and with the use of limited number of resources. At the same time when it was becoming popular amongst the software engineering communities it also introduced an additional level of complexity that may reduce or eliminate potential productivity gains due to the production of feature interaction and composition problems (Robak and Franczyk, 2001). In product line engineering, multiple sub-products have to be developed and integrated with each other. Managing the process of integration of products is one of the most complex tasks. Software practitioners have little support to cope with this additional level of complexity and gain maximum benefit out of it. Some researchers explicitly claimed of some solutions to these problems but those were not proved though promising when adopted. Meeting the targeted goals of this research, we discuss an approach to analyze, measure and visualize software product artifacts including preprocessed source code characteristics, to support software practitioners with a reliable, effective and efficient software project management solution. We tried to prove that the statistical measurement and quantitative management based approach can be helpful in improving the process of decision making at both strategic and implementation levels. Going into the details of this chapter, we present traditional and product line software architectures, hypothesizing variability as one of the major causes of unreliable software application production. We elaborate measurement analysis based approach with engineered design and implemented software application with evaluation using a real time software application (data set) i.e. Intelligent Semantic Oriented Agent based Search I-SOAS (Ahmed, 2009a) (Ahmed, 2009b). The focus of this research is limited to the implementation phase, as we are considering the preprocessed source code of only those projects which are developed using Java Object Oriented Programming language. The remainder of this chapter is organized as follows: section 2 provides introductory details of the field of Software Product Line, section 3 discusses the targeted problems, section 4 presents related research and development work, section 5 describes proposed and implemented solution in the form of a prototype software application and section 6 discusses the results obtained during experimentation using implemented tool by analyzing preprocessed source code of real time product line application i.e. I-SOAS (Ahmed, 2009a).

3 2 Software Product Line Software product line is one of the most recent paradigms initiated in late nineties to meet market demands (cost, time, quality). The idea of software product line was originally initiated by engineering industry for the production of different kinds of hard goods e.g. cars, aeroplanes, heavy machinery etc. The concept was to manufacture high quality goods in shortest possible time, with limited number of resources and budget. The implanted approach was just to assemble already designed and manufactured parts of particular goods (e.g. by some third party manufacturers) to make a new product. This idea of reusability forced software practitioners with a constructive mean to adopt product line approach and produce high quality software products within less time, with limited number of resources and less cost (Ahmed, 2011). In product line approach, software development life cycle splits in to two concurrent phases i.e. Development for Reuse and Development with Reuse. Development for reuse is about to implement such modules which can be integrated with other (compatible) modules to form a complete application as development with reuse. Development for reuse is applied in Domain Engineering where as the development with reuse is applied in Application Engineering (Kolb et al., 2006). Software product line is defined as the family of products designed to take the advantage of their common aspects and predicted variability (DM and CTR, 1999). Commonality and Variability are two key properties of software product line. Commonality represents the common (similar) functionalities in a line of products leading to the concept of reusability and standardization e.g. every database application has to implement a database layer (DBL) to communicate with the relational database management system. If DBL is designed by keeping the concept of reusability in mind then it can be used in every kind of data base application instead of rewriting a new DBL each time from scratch. As a result this will save efforts, time and cost. Variability represents the differences across the line of products. In order to have the better understanding of variability we can take the example of already developed software product line based java application which takes Java preprocessed source code as an input, analyzing it and then visualizing the results. The process of input analysis and visualization of the results is same for every dataset which represents the common behavior whereas the process of analyzing the preprocessed source code is different for each input which represents the variable behavior of the product line application. Variability is identified during the domain engineering and exploited during the application engineering (Pohl et al., 2005). It is resolved by binding from domain engineering to application engineering at binding time (time at which the decisions for a variation point are made) (Chakravarthy and Eide, 2006). Binding can be performed at Compile, Link, Run and Update time. Moreover variability is divided in to external, internal, discrete, continuous and abstract types (Becker et al., 2001) which can be helpful in decreasing the complexity levels and increasing the performance of the project.

4 3 Problem Definitions & Scope Problem 1: Software product line provides a way to develop higher quality products and at the same time it introduces the additional level of complexity that may reduce or eliminate potential productivity gains. In product line engineering multiple sub-products have to be developed and integrated with each other. Managing the process of integration of products is one of the most complex tasks. Software practitioners have little support to cope with this additional level of complexity and gain maximum benefit out of it. Problem 2: In order to quantitatively manage the variability in software product line system, it is mandatory to analyze all the components and the features of the developed system (software application) to identify and trace the variation points and design complexities. Problem 3: One another aspect of preprocessed source code analysis is to apply (some) measures (metrics) for quantitative measurement analysis, which could be helpful in extracting meaningful, design based and statistically helpful information e.g. a complete project structure, line of source code, package and class information etc. Problem 4: One of the main problems regarding project management is the way of result presentation. When the project s preprocessed source code is analyzed, then the output is needed to be presented in well understandable formats. The best way to deliver the results is to represent it graphically. Some researchers have claimed of providing some solutions to these problems but those are still not convincing. We have also tried to address these issues in our research and development. Due to the limited scope of our research, at the moment we have only focused on Java based systems. 4 Related Work / Literature Review The presented literature review in this chapter encompasses only the most relevant approaches i.e. Relation-based Approach (Succi and Liu, 1999), Static Scanning Approach (Viega et al., 2000), Columbus (Ferenc et al., 2004), TUAnalyser & Visualization: (Gschwind et al., 2004), CodeCrawler: (Lanza et al., 2005), Polymorphism Measure (Benlarbi S. and Melo W., 1999), Assessing reusability of C++ Code (Fatma and David, 2002) and Evaluation of Object Oriented Metrics (Denaro et al., 2003). A brief description of each approach is as follows: Relation based Approach; proposed for simplifying the metrics extraction from the object oriented code. In this approach relations are designed like prolog clauses to describe the language entity relationship. Static Scanning; this approach breaks a non-preprocessed code file into a series of lexical tokens and then matches the patterns in that series of tokens. Matching of code is added manually, so that non-regular patterns can be recognized. It does not use the real parsing techniques because of less false negative rate to support interactive programming environments. The resultant series of tokens are then matched with already existing vulnerable database. Static scanning approach is validated with the implementation of ITS4.

5 Columbus; a reverse engineering framework to extract the facts from preprocessed code. It acquires the project information is indispensable way to carry out the extraction process. Gschwind; Pinzger and Gall presented an approach to visualize the extracted information from source code. Compiler first extracts the information from preprocessed source code and stores it into RSF format. This RSF format is then passed as input to Graphviz to produce visual output. CodeCrawler; based on a tool called FAMIX and used to visualize the object oriented source code. This approach visualizes the software metrics and other source code semantics in lightweight 2D & 3D and polymeric views. Polymorphism; a measure method used to identify the software reliability problems in the early stages of software development life cycle. The measurement has been categorized into Static polymorphism and Dynamic polymorphism. Static polymorphism based on the compile time and dynamic is based on the runtime binding decisions. Five metrics are initiated to combine the early identified polymorphism forms with inheritance relationship. Component Reusability; Fatma and David have presented a method for judging the reusability of components and assessing indirect quality attributes from the direct attributes. Method is divided into two phases. First phase is used to identify and analytically validate a set of measurements for assessing direct quality attributes. The second phase identifies and validates a set of measurements for assessing indirect quality attributes. Moreover, a set of relations is also provided which maps directly measurable software quality attributes to another set of indirectly measureable quality attributes. This method is validated in the publication via an empirical study conducted on C++ code components. Giovanni; Mauro and Luigi analyzed the relationships between the object oriented metrics defined by Chidamber and Kemerer (Chidamber and Kemerer, 1994) and fault-proneness across three different versions of this target application. Authors collected the data from three different sources and performed system and integration testing, and then stored the faultiness data in database. Whenever a fault was revealed, references to the version under test and the corresponding faulty code were traced in the database. 5 Approach / Tool Implementation We have tried to analyze the targeted problems, taking advantage of the reviewed literature and using personal research and development experiences, proposing a systematic approach as the solution (Ahmed, 2006). The aim of our solution development is to support software practitioners with a comprehensive approach to cope with additional software complexity introduced by SPL (Ahmed, 2010). Our proposed approach provides a systematic way to analyze, measure and visualize the complex behavior of the system by analyzing preprocessed source code of software application to take advantage in identifying, tracing and resolving the variabilities. As earlier discussed in section 3, in this research our scope is limited as we are focusing only on projects developed using Java to estimate, measure and visualize (Size and Complexity). It could be helpful in predicting the overall behavior of the software product line based ap-

6 plications. This approach consists of three major components as shown in Figure 1 i.e. Analysis, Measurement and Visualization. Figure 1: Three component based approach (Ahmed, 2010). Three components i.e. Analysis, Measurement and Visualization, works in sequential order to analyze preprocessed source code with the application of some useful measures and produces different visual diagrams to help practitioners in developing understanding. Analysis; process to analyze preprocessed source code is initiated in this component. During the analysis part, all the project artifacts and preprocessed source code files are analyzed (tokenized and parsed) to identify the software product line and traditional characteristics, especially those which contribute to increase complex behavior. Measurement; a potential analytical solution to the software project management. Measurement based approaches support project managers in analyzing project performance in a quantitative manner. It provides software practitioners with objective, cyclic way to characterize, control and improve software processes and their outputs. Successful project management is, in turn, the base for meeting aforementioned market demands (CHAOS, 2005). Quantitative project management is actually the way towards the successful project management. It applies measurement analysis to predict the minimum possible cost and time required for software application development. Measurement starts with the definition of quantitative objectives and follows the top-down specification to define respective measures. This phase can be applied to all artifacts of the software development life cycle to measure the performance and improve the quality. It allows characterizing and controlling in a quantitative manner to achieve the organization s business goals by mapping them to software and measurement goals by using such approaches as GQM (Basili et al., 1994). Measurement allows stating quantitative organizational improvement objectives and decomposes them down to measurable software process and product characteristics. This helps project managers to track their improvements and mitigate potential risks. You cannot control what you cannot measure (DeMarco, 1982) Visualization; next component of our approach is the visualization of results obtained during preprocessed source code analysis and quantitative measurement analysis. This approach was required to be implemented in the form of a software tool capable of treating preprocessed (Java based) source code as an input to analyze, measure and visualize the results. It is quite difficult to implement such a comprehensive application because it is not easy to analyze the product line based software applications because of their unpredictable and complex nature (some times). We have implemented a tool to perform targeted operations (Ahmed and Saman, 2010) (Ahmed, 2010). It is divided in to four components i.e., Analyzer, Data Manager, Measurer, and Visualizer; works in a cyclic order as shown in Figure 2 and consisting of five steps:

7 Figure 2: Conceptual Design (Ahmed, Saman, 2010). The conceptual diagram consist of five conceptual (also implemented) steps i.e. Source Code, Analyze, Data Manager, Measurer, and Visualizer, working in a cyclic sequential order to perform preprocessed source code analysis. 1. Input; taking preprocessed source code as input. 2. Analysis; analyzing internal software characteristics e.g. packages, classes, methods, functions, declarations, expressions and conditions. 3. Database; generating results and maintaining them in database. 4. Measurement; calculating preprocessed source code metrics. 5. Visualization; presenting results in different diagrams e.g. graphs, line charts, bar charts and tree maps etc. The implemented application has been developed using freely available tools and technologies i.e. Java (Object oriented software development language), Antlr (a language recognizer which interprets, compiles, and translates grammatical descriptions containing actions in a variety of target languages) (Mark, 2008) (Ashley, 2005), MySQL (a relational database management systems) and Graphviz ( is an open source graph visualization software API used to produce visual representation of structural results in abstract graphs and networks). Designed internal work flow of this application consists of six components.i.e., Source Code Analyzer, Semantic Modeler, Data Manager, Measurer, Visualizer and Editor, as shown in Figure 3. Each of six components altogether works in a sequence to attain the final goal. At first the preprocessed source code of input software application is validated by Source Code Analyzer with the use of a Lexer and Parser (especially designed according to the semantic and syntax of Java programming language using ANTLR). Tokenized preprocessed source code, is then, maintained in designed relational database (using MySQL). Designed Measurer module is applied to the tokenized code to perform quantitative measurement analysis and user requested (selected from graphical user interface) visualization is produced using Graphviz.

8 Figure 3: Internal Work Flow (Ahmed, Saman, 2010). The internal work flow diagram consists of six components Source Code Analyzer, Semantic Modeler, Data Manager, Measurer, Visualizer and Editor. 6 Experimentation Using Implemented Tool To validate the potential and effectiveness of developed prototype application, we have experimented using a real time software application s preprocessed source code. We have used a web application i.e. I- SOAS (Ahmed, 2009a), especially designed for Product Data Management Systems, and developed mainly using Java programming language. I-SOAS is a prototype application proposed to take advantage in implementing an advance Product Data Management System with flexible graphical user interface and intelligent semantic based search. During experimentation, we take the complete project preprocessed source code as input along with all supporting project files. Applied some complexity and size measures to analyze the over all behavior of the application with the estimation of different levels of complexities. Following measures have been applied i.e. File Information Measure (FIM), Number of Artifacts (NOA), Package Complexity Measure (PCM), Package Inheritance Tree (PIT), Number of Children (NOC) and Depth of inheritance (DIT). 1. FIM is to estimate the over all behavior of the project (Figure 4 & 5).

9 2. NOA measures the number of artifacts used by computing direct ancestors (Figure 6). 3. PCM is to measure the level of complexity of each package (Figure 7). 4. PIT estimates the number of ancestors of the package (Figure 8). 5. NOC calculates the number of direct descendent for each class (Figure 9). 6. DIT indicates the rate of fault proneness in application (Figure 10). Figure 4: I-SOAS Multi Colour Tree File Map. The Figure Multi Colour Tree File Map represents different artifacts of project i.e. I-SOAS, analyzed. Blue colour boxes are executable ( exe ) files, yellow colour boxes are Jar Files and green colour boxes are Java Files, pink colour boxes are JPG (image files), brown colour boxes are dll files,.dark blue colour boxes are Java Class files, faint green colour boxes are bitmap files, light gray colour boxes are html files, purple colour boxes are gif files, dark brown colour boxes are database files, light green boxes are SQL script files. As shown in Figure 4, a multicolour file tree map, generated by the developed prototype after project artifact (including source code files) analysis. This map is based on the number of files used in input

10 application (I-SOAS), plotted with respect to the size, format (type) and placement (directory), classified in different colours e.g. files represented in blue boxes are Executable (exe) Files, files drawn with yellow colour boxes are representing Jar Files and files with green colour boxes are representing Java Files, files representing pink colour are JPG (image files) etc. The size of each box is with respect to the size of the file where as the placement of each box is with respect to the placement and association of files with each other and with directory structure. This visual representation can be helpful for the software practitioners in analyzing the over all structure of the project. Preprocessed source code consists of 736 Packages, 876 Classes and total 1619 files, as shown in Figure 5 in the form of a drawn Project overview bar chart. The length of each bar is based on calculated average size of respective files. Figure 5: I-SOAS Project Over View. The Figure project over view consists of three main bars i.e. Packages, Files and Classes, representing three main source code elements. A tree graph is shown in Figure 6, representing the overall inheritance relationships of programmed pre-processed source code based on the number of packages and classes used in the development of I-SOAS e.g. association or inheritance between packages and class hierarchy and relationships. Measure Number of Artifacts (NOA) is used to measure the number of artifacts used by computing direct ancestor(s) for each artifact.

11 Figure 6: I-SOAS Number of Artifact (NOA) Graph. The Figure number of artifact presents a tree graphs consisting of two colored (green and white) interconnected source code elements (artifacts). Green colour represents roots and white colour represents leaves.

12 This kind of visual representation can be helpful for the practitioners in analyzing the overall structure of the packages and classes used in a project. Moreover software practitioners can also take advantage in analyzing the level of complexity of relationships between packages and classes as well. If the number of artifact increases then most probably the number of dependencies between the artifacts will also increase, which ultimately causes the increase in complexity. Higher the number of NOA, higher will be the probability of fault proneness in the product line system. Figure 7 Package Overview presents the bar char drawn representing each package with respect to its size and complexity. Package Complexity Measure (PCM) is applied to measure the level of complexity of each package. This visual representation is helpful for the practitioners to analyze the overall complexity level of used and programmed packages in application. Figure 7: I-SOAS Package Complexity Overview. The Figure I-SOAS package complexity overview is a bar chart representing packages in blue colour and height of each bar represents the level of complexity. Figure 8 Package Structure presents the graph of packages used in I-SOAS, including programmed and used libraries. As shown in the figure, there are 736 packages; default package is the parent namespace. This visual representation is helpful for the practitioners to analyze the overall structure of the packages

13 used in the project; moreover software practitioners can also take advantage in analyzing the complexity in package relationship. Package Inheritance Tree (PIT) measure is used to estimate the number of ancestors of the package. PIT can be very helpful in the indication of fault proneness because package is one of the major components of any product line software application. Every component of project like class, library etc exists inside the package. If the number of package increases, then the number of ancestor will also increase which will raise the complexity. The increase if PIT may possibly increase the number fault proneness in software application. Figure 8: I-SOAS Package Inheritance Tree (PIT). The Figure I-SOAS package inheritance tree is complex tree graph consisting of the relationships between packages (navy blue colour boxes).

14 Figure 9 Number of Children (NOC) provides the visual presentation in the form of a 3D line bar chart, based on the level of complexity of classes in packs depending upon the number of ancestors of each class. Measure NOC is used to estimate the number of direct descendent for each class. NOC helps in the indication of the fault proneness, lower the rate of fault proneness if higher the rate of NOC. Figure 9: I-SOAS Number of Children (NOC). The Figure I-SOAS number of children representing the number of direct descendent for each class in 3D line bar chart. Figure 10 Depth of inheritance (DIT) provides the visual 3D line bar chart of measured ancestors of the each class used in each package. DIT helps in the indication of fault proneness, the larger the DIT, the larger the probability of fault-proneness in the software.

15 Figure 10: I-SOAS Depth of inheritance (DIT). The Figure I-SOAS depth of inheritance provides a 3D line bar chart representing measured ancestors of the each class used in each package. 7 Conclusion The aim of this chapter is to address the importance of preprocessed source code and project artifact measurement for better reliability analysis of software application by visualizing obtained results in different diagrams to take advantage in analyzing over all behavior of software project by predicting the level of complexities at different stages and estimating the rate of fault of proneness as well. To meet aforementioned goals of this research, we have discussed the conceptual architecture of used approach and briefly presented developed prototype, validating its potential strengths and effectiveness with an experiment by analyzing complete project preprocessed source code of a product line application i.e. I- SOAS. During experimentation we have measured preprocessed source code elements, applied size measures (NOC etc.) and inheritance measures (DIT, PIT etc.) along with visual presentations in the form of tree map, graph and chart. Provided visual representation can be helpful for the software practitioners in analyzing the overall structure of the project by examining the composition of packages, classes and their complex relationships to bring out the intensity of fault proneness of any product line software application.

16 Acknowledgment We (authors) are thankful to the University of Wuerzburg Germany for giving us the opportunity to work on this research project. We are thankful to Prof. Dr. Thomas Dandekar for his support during this research. We are also thankful to the blind reviewers and publishers for publishing this manuscript as book chapter. References Ahmed, Z. (2006). Integration of variants handling in M-system NT, Master Thesis, Department of Computer Science, Blekinge Institute of Technology, University of Blekinge Sweden, In Co-operation with Fraunhofer Institute of Experimentells Software Engineering Germany. Ahmed, Z. (2007). Measurement Analysis and Fault Proneness Indication in Product Line Applications (PLA), Chapter 7, Frontiers in Artificial Intelligence and Applications, Volume 161, IOS Int. Publisher, pp , ISBN (print), ISBN (online). Ahmed, Z. (2009a). Proposing Semantic Oriented Agent and Knowledge base Product Data Management, In Emerald: Information Management and Computer Security Journal, Volume: 17, Issue: 5, pp , ISSN: , September. Ahmed, Z. (2009b). Intelligent semantic oriented agent based search (I-SOAS), In Proceedings of the 7th International Conference on Frontiers of Information Technology, Article No. 55. Ahmed, Z. and Majeed, S. (2010). Towards Increase in Quality by Preprocessed Source Code and Measurement Analysis of Software Applications. IST Transactions on Information Technology- Theory and Applications, Vol. 1, No. 1 (2), ISSN , pp Ahmed, Z. (2010a). Towards Performance Measurement and Metrics based Analysis of PLA Applications, International Journal of Software Engineering & Applications, Vol.1, No. 3,pp 66-80, ISSN: (Online), Ahmed, Z. (2011). Integration of variants handling in M-system NT: Empirically evaluated approach towards the identification of correlation between traditional and product line measures, ISBN: , pp. 112, Verlag Dr. Muller (VDM) Publishers. Ashley, J.S. (2005). ANTLR. Basili, V.R., Caldieram, G., Rombach, H.D. (1994). The goal question metric approach. Encyclopedia of Software Engineering, pp , John Wiley & Sons, Inc. Becker, M., Geyer, L., Gilbert, A. and Becker, K. (2001). Comprehensive Variability Modelling to Facilitate Efficient Variability Treatment, Software Product Family Engineering: 4th International Workshop, PFE 2002, Bilbao, Spain, October 3-5. Benlarbi, S. and Melo W. (1999). Polymorphism Measure for Early Risk Prediction, In Proceeding of 21st international conference on software engineering, ICSE 99, Los Angeles USA. Briand, L. and Wüst, J. (2001). The Impact of Design Properties on Development Cost in Object-Oriented System, IEEE Transactions on Software Engineering, vol. 27, no. 11. Chakravarthy, V. and Eide, E. (2005). Binding-time flexibility for managing variability. In Proceedings of the OOPLSA 2005 Workshop on Managing Variabilities Consistently in Design and Code (MVCDC 2), San Diego, CA, October.

17 Chidamber, S.R, Kemerer, C.F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6): Fatma, D. and David, C.R. (2002). A Method for Assessing the Reusability of Object- Oriented Code Using a Validated Set of Automated Measurements, Proceedings of the 2002 ACM symposium on Applied computing, pp , ISBN: Ferenc, R., Beszedes, A. and Gyimothy, T. (2002). Extracting Facts with Columbus from C++ Code. In proceedings of the 6th International Conference on Software. Giancarlo, S. and Liu, E. (1999). A Relations-Based Approach for Simplifying Metrics Extraction. In Department of Electrical and Computer Engineering, University of Calgary University Drive NW, Calgary, AB T2N 1N4. Giovanni, D., Mauro, P. and Luigi, L. (2003). An Empirical Evaluation of Object Oriented Metrics in Industrial Setting, In 5th Caber Net Plenary Workshop. Gschwind, T., Pinzger, M. and Gall, H. (2004). TUAnalyzer Analyzing Templates in C++ Cod, In Proceedings of the 11th Working Conference on Reverse Engineering (WCRE 04) 2004 IEEE. Kolb, R, Muthing, D., Patzke, T. and Yamauchi, K. (2005). Refactoring a legacy component for reuse in a software product line. IEEE International Conference on Software Maintenance (ICSM2005): 18(2), pp , ISSN: X. Lanza, M., Ducasse, S., Gall, H. and Pinzger, M. (2005). CodeCrawler: An Information Visualization Tool for Program Comprehension. In Proceedings of the 27th international conference on Software, ICSE 2005: Pohl, K., Böckle, G. and van der Linden, F. (2005). Software Product Line Engineering Foundation, Principles and Techniques, Upper Saddle River, NJ: Addison-Wesley, pp. 59. Robak, S. and Franczyk, B. (2001). Feature interaction product lines, In Proceedings of Feature Interaction in Composed Systems. von Tom DeMarco. (1982). American Consultant. Volkmann, M. (2008). ANTLR 3, Object Computing, Inc. Viega, J., Bloch, J.T., Kohno, Y. and McGraw, G.. (2000). ITS4: A static vulnerability scanner for C and C++ code, acsac, p. 257, 16th Annual Computer Security Applications Conference (ACSAC'00), December. Weiss, D.M. and Lai, C.T.R. (1999). Software Product-Line Engineering: A Family-based Software Development process. MA: Addison Wesley: Reading MA.

TOWARDS PERFORMANCE MEASUREMENT AND METRICS BASED ANALYSIS OF PLA APPLICATIONS

TOWARDS PERFORMANCE MEASUREMENT AND METRICS BASED ANALYSIS OF PLA APPLICATIONS TOWARDS PERFORMANCE MEASUREMENT AND METRICS BASED ANALYSIS OF PLA APPLICATIONS Zeeshan Ahmed University of Wuerzburg, Wuerzburg Germany zeeshan.ahmed@uni-wuerzburg.de ABSTRACT This article is about a measurement

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS

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

More information

Component visualization methods for large legacy software in C/C++

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 mcserep@caesar.elte.hu

More information

Quality prediction model for object oriented software using UML metrics

Quality prediction model for object oriented software using UML metrics THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. UML Quality prediction model for object oriented software using UML metrics CAMARGO CRUZ ANA ERIKA and KOICHIRO

More information

Software Visualization and Model Generation

Software Visualization and Model Generation Software Visualization and Model Generation Erik Doernenburg Software Developer ThoughtWorks, Inc. Gregor Hohpe Software Engineer Google, Inc. Where are the most defects? 2006 Erik Doernenburg & Gregor

More information

A Configuration Management Model for Software Product Line

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 ligyu@iusb.edu 2 Computer

More information

Securing PHP Based Web Application Using Vulnerability Injection

Securing PHP Based Web Application Using Vulnerability Injection International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 5 (2013), pp. 391-398 International Research Publications House http://www. irphouse.com /ijict.htm Securing

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose

More information

A Framework of Model-Driven Web Application Testing

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

More information

Intelligent Human Machine Interface Design for Advanced Product Life Cycle Management Systems

Intelligent Human Machine Interface Design for Advanced Product Life Cycle Management Systems Intelligent Human Machine Interface Design for Advanced Product Life Cycle Management Systems Zeeshan Ahmed Vienna University of Technology Getreidemarkt 9/307, 1060 Vienna Austria Email: zeeshan.ahmed@tuwien.ac.at

More information

The Class Blueprint A Visualization of the Internal Structure of Classes

The Class Blueprint A Visualization of the Internal Structure of Classes The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland lanza@iam.unibe.ch Stéphane Ducasse Software Composition

More information

Génie Logiciel et Gestion de Projets. Evolution

Génie Logiciel et Gestion de Projets. Evolution Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions

More information

Axiomatic design of software systems

Axiomatic design of software systems Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

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,

More information

Tracking the Impact of Design Changes During Software Development

Tracking the Impact of Design Changes During Software Development Tracking the Impact of Design Changes During Software Development Frank Padberg Fakultät für Informatik Universität Karlsruhe, Germany padberg@ira.uka.de Abstract Design changes occur frequently during

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

II. TYPES OF LEVEL A.

II. TYPES OF LEVEL A. Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.

More information

How To Calculate Class Cohesion

How To Calculate Class Cohesion Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department

More information

Structural Complexity Evolution in Free Software Projects: A Case Study

Structural Complexity Evolution in Free Software Projects: A Case Study Structural Complexity Evolution in Free Software Projects: A Case Study Antonio Terceiro and Christina Chavez Computer Science Department Universidade Federal da Bahia {terceiro,flach}@dcc.ufba.br Abstract.

More information

INFORMATION TECHNOLOGY PROGRAM

INFORMATION TECHNOLOGY PROGRAM INFORMATION TECHNOLOGY PROGRAM The School of Information Technology offers a two-year bachelor degree program in Information Technology for students having acquired an advanced vocational certificate.

More information

Percerons: A web-service suite that enhance software development process

Percerons: A web-service suite that enhance software development process Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software

More information

EvoSpaces: 3D Visualization of Software Architecture

EvoSpaces: 3D Visualization of Software Architecture EvoSpaces: 3D Visualization of Software Architecture Sazzadul Alam, Philippe Dugerdil HEG - Univ. of Applied Sciences, Geneva, Switzerland Sazzadul.Alam@hesge.ch, Philippe.Dugerdil@hesge.ch Abstract This

More information

Risk Knowledge Capture in the Riskit Method

Risk Knowledge Capture in the Riskit Method Risk Knowledge Capture in the Riskit Method Jyrki Kontio and Victor R. Basili jyrki.kontio@ntc.nokia.com / basili@cs.umd.edu University of Maryland Department of Computer Science A.V.Williams Building

More information

Performance Evaluation of Reusable Software Components

Performance Evaluation of Reusable Software Components Performance Evaluation of Reusable Software Components Anupama Kaur 1, Himanshu Monga 2, Mnupreet Kaur 3 1 M.Tech Scholar, CSE Dept., Swami Vivekanand Institute of Engineering and Technology, Punjab, India

More information

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

More information

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases

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,

More information

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -

More information

Understanding Software Static and Dynamic Aspects

Understanding Software Static and Dynamic Aspects Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany loewe@ira.uka.de Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

Software Product Lines

Software Product Lines Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:

More information

SEMANTIC-BASED AUTHORING OF TECHNICAL DOCUMENTATION

SEMANTIC-BASED AUTHORING OF TECHNICAL DOCUMENTATION SEMANTIC-BASED AUTHORING OF TECHNICAL DOCUMENTATION R Setchi, Cardiff University, UK, Setchi@cf.ac.uk N Lagos, Cardiff University, UK, LagosN@cf.ac.uk ABSTRACT Authoring of technical documentation is a

More information

A hybrid approach for the prediction of fault proneness in object oriented design using fuzzy logic

A hybrid approach for the prediction of fault proneness in object oriented design using fuzzy logic J. Acad. Indus. Res. Vol. 1(11) April 2013 661 RESEARCH ARTICLE ISSN: 2278-5213 A hybrid approach for the prediction of fault proneness in object oriented design using fuzzy logic Rajinder Vir 1* and P.S.

More information

Program Understanding with Code Visualization

Program Understanding with Code Visualization Program Understanding with Code Visualization Arif Iftikhar Department of Computer Science National University of Computer and Emerging Sciences 852-B Faisal Town, Lahore, Pakistan l060802@lhr.nu.edu.pk

More information

Visionet IT Modernization Empowering Change

Visionet IT Modernization Empowering Change Visionet IT Modernization A Visionet Systems White Paper September 2009 Visionet Systems Inc. 3 Cedar Brook Dr. Cranbury, NJ 08512 Tel: 609 360-0501 Table of Contents 1 Executive Summary... 4 2 Introduction...

More information

Improving Software Developer s Competence: Is the Personal Software Process Working?

Improving Software Developer s Competence: Is the Personal Software Process Working? Improving Software Developer s Competence: Is the Personal Software Process Working? Pekka Abrahamsson 1, Karlheinz Kautz 2, Heikki Sieppi 3 and Jouni Lappalainen 3 1 VTT Technical Research Centre of Finland,

More information

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram. PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages

More information

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures SOPLE-DE: An Approach to Design -Oriented Product Line Architectures Flávio M. Medeiros, Eduardo S. de Almeida 2, and Silvio R.L. Meira Federal University of Pernambuco (UFPE) 2 Federal University of Bahia

More information

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development (Position paper) Lothar Hotz and Andreas Günter HITeC c/o Fachbereich Informatik Universität Hamburg Hamburg,

More information

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of

More information

Object-Oriented Software Specification in Programming Language Design and Implementation

Object-Oriented Software Specification in Programming Language Design and Implementation Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama

More information

RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY

RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY M. AYMAN AL AHMAR Asstt. Prof. and Deputy Dean, College of Engineering and Information Technology, Fujairah Campus, Ajman University

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

Development/Maintenance/Reuse: Software Evolution in Product Lines

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

More information

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability Volume 5, Issue 4, April 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Review of Static

More information

Clone Detection in a Product Line Context

Clone Detection in a Product Line Context Clone Detection in a Product Line Context Thilo Mende, Felix Beckwermert University of Bremen, Germany {tmende,beckwermert}@informatik.uni-bremen.de Abstract: Software Product Lines (SPL) can be used to

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

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,

More information

A PRODUCT METRICS TOOL INTEGRATED INTO

A PRODUCT METRICS TOOL INTEGRATED INTO A PRODUCT METRICS TOOL INTEGRATED INTO A SOFTWARE DEVELOPMENT ENVIRONMENT Claus Lewerentz, Frank Simon Software and Systems Development Group Computer Science Department, Technical University of Cottbus

More information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

A Model for Component Based E-governance Software Systems

A Model for Component Based E-governance Software Systems A Model for Component Based E-governance Software Systems A.SHRABAN KUMAR 1, G.JAYARAO 2,B.SHANKAR NAYAK 3, KBKS. DURGA 4 A.ESWARA RAO 5 1,2,3,4 Associate Professor CSE, St.MARTIN S ENGINEERING COLLEGE,

More information

Division of Mathematical Sciences

Division of Mathematical Sciences Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree

More information

A Process View on Architecture-Based Software Development

A Process View on Architecture-Based Software Development A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany

More information

Finding Execution Faults in Dynamic Web Application

Finding Execution Faults in Dynamic Web Application International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding

More information

Deploying Artificial Intelligence Techniques In Software Engineering

Deploying Artificial Intelligence Techniques In Software Engineering Deploying Artificial Intelligence Techniques In Software Engineering Jonathan Onowakpo Goddey Ebbah Department of Computer Science University of Ibadan Ibadan, Nigeria Received March 8, 2002 Accepted March

More information

OOT Interface Viewer. Star

OOT Interface Viewer. Star Tool Support for Software Engineering Education Spiros Mancoridis, Richard C. Holt, Michael W. Godfrey Department of Computer Science University oftoronto 10 King's College Road Toronto, Ontario M5S 1A4

More information

Performance evaluation of Web Information Retrieval Systems and its application to e-business

Performance evaluation of Web Information Retrieval Systems and its application to e-business Performance evaluation of Web Information Retrieval Systems and its application to e-business Fidel Cacheda, Angel Viña Departament of Information and Comunications Technologies Facultad de Informática,

More information

Tool Support for Inspecting the Code Quality of HPC Applications

Tool Support for Inspecting the Code Quality of HPC Applications Tool Support for Inspecting the Code Quality of HPC Applications Thomas Panas Dan Quinlan Richard Vuduc Center for Applied Scientific Computing Lawrence Livermore National Laboratory P.O. Box 808, L-550

More information

ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION

ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION Raúl Marticorena, Carlos López Language and Informatic Systems, University of Burgos, EPS Campus Vena Edificio C, Burgos, Spain

More information

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

Selbo 2 an Environment for Creating Electronic Content in Software Engineering BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 9, No 3 Sofia 2009 Selbo 2 an Environment for Creating Electronic Content in Software Engineering Damyan Mitev 1, Stanimir

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful

More information

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Service Oriented Analysis and Design (SOAD) in Practice Part 4 Adomas Svirskas Vilnius University October 2005 Agenda Service identification and definition Business process

More information

RETRATOS: Requirement Traceability Tool Support

RETRATOS: Requirement Traceability Tool Support RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com

More information

Figure 1. Basic Petri net Elements

Figure 1. Basic Petri net Elements ABCM Symposium Series in Mechatronics - Vol. 3 - pp.653-658 Copyright c 2008 by ABCM A REAL OBJECT CONTROL SYSTEM FOR USE IN MANUFACTURING TELEPRESENCE ENVIRONMENTS. Claiton de Oliveira Department of Mechanical

More information

XFlash A Web Application Design Framework with Model-Driven Methodology

XFlash A Web Application Design Framework with Model-Driven Methodology International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,

More information

Object Oriented Metrics Based Analysis of DES algorithm for secure transmission of Mark sheet in E-learning

Object Oriented Metrics Based Analysis of DES algorithm for secure transmission of Mark sheet in E-learning International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-4, Special Issue- E-ISSN: 347-693 Object Oriented Metrics Based Analysis of DES algorithm for secure transmission

More information

Language-Driven, Technology-Enhanced Instructional Systems Design

Language-Driven, Technology-Enhanced Instructional Systems Design Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases

More information

Eclipse 3.5 - A Case Study in Software Visualization Based on Static Analysis

Eclipse 3.5 - A Case Study in Software Visualization Based on Static Analysis MetricAttitude: A Visualization Tool for the Reverse Engineering of Object Oriented Software ABSTRACT Michele Risi Dipartimento di Matematica e Informatica Università di Salerno Fisciano, Italy mrisi@unisa.it

More information

Variation Management for Software Production Lines 1

Variation Management for Software Production Lines 1 Variation Management for Software Production Lines 1 Charles W. Krueger BigLever Software, Inc. 10500 Laurel Hill Cove Austin TX 78730 USA ckrueger@biglever.com Abstract. Variation in a software product

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

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:

More information

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code Jean-Louis Letouzey DNV IT Global Services Arcueil, France jean-louis.letouzey@dnv.com

More information

Software Analysis Visualization

Software Analysis Visualization 28th International Conference on Software Engineering Software Analysis Visualization Harald Gall and Michele Lanza !oftware Visualiza"o# Tutorial F7 Software Evolution: Analysis and Visualization 2006

More information

Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit

Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit Antonio Terceiro 1, Joenio Costa 2, João Miranda 3, Paulo Meirelles 3, Luiz Romário Rios 1, Lucianna Almeida 3, Christina

More information

Semantic Search in Portals using Ontologies

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

More information

Exploiting Dynamic Information in IDEs Eases Software Maintenance

Exploiting Dynamic Information in IDEs Eases Software Maintenance Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development

More information

Pattern Languages for Architecture Visualization

Pattern Languages for Architecture Visualization Pattern Languages for Architecture Visualization YOUNGSU SON, NHN NEXT JIWON KIM, SAMSUNG ELECTRONICS SUNGWOO YU, NHN NEXT HYUNCHUL YANG, UNIVERSITY OF SEOUL HYESEONG OH, SEJONG UNIVERSITY SEUNGSU JEONG,

More information

WHAT DEVELOPERS ARE TALKING ABOUT?

WHAT DEVELOPERS ARE TALKING ABOUT? WHAT DEVELOPERS ARE TALKING ABOUT? AN ANALYSIS OF STACK OVERFLOW DATA 1. Abstract We implemented a methodology to analyze the textual content of Stack Overflow discussions. We used latent Dirichlet allocation

More information

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Current Research Team: Prof. Victor R. Basili Forrest Shull, Ph.D. Guilherme H. Travassos, D.Sc. (1)

More information

Design and Code Complexity Metrics for OO Classes. Letha Etzkorn, Jagdish Bansiya, and Carl Davis. The University of Alabama in Huntsville

Design and Code Complexity Metrics for OO Classes. Letha Etzkorn, Jagdish Bansiya, and Carl Davis. The University of Alabama in Huntsville Design and Code Complexity Metrics for OO Classes Letha Etzkorn, Jagdish Bansiya, and Carl Davis The University of Alabama in Huntsville {letzkorn, jbansiya, cdavis} @cs.uah.edu Software complexity metrics

More information

Measuring the Coherence of Software Product Line Architectures

Measuring the Coherence of Software Product Line Architectures Measuring the Coherence of Software Product Line Architectures Vojislav B. Mišić 1 technical report TR 06/03 Department of Computer Science, University of Manitoba Winnipeg, Manitoba, Canada R3T 2N2 June

More information

Business Family Engineering: Does it make sense?

Business Family Engineering: Does it make sense? Business Family Engineering: Does it make sense? Ildefonso Montero, Joaquín Peña, Antonio Ruiz-Cortés Departamento de Lenguajes y Sistemas Informáticos Av. Reina Mercedes s/n, 41012 Seville (Spain) University

More information

THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS

THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS David L. Spooner Computer Science Department Rensselaer Polytechnic Institute Troy, New York 12180 The object-oriented programming

More information

Artificial Intelligence. Class: 3 rd

Artificial Intelligence. Class: 3 rd Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge

More information

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book. * ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes

More information

Current Research Topic In Software Engineering

Current Research Topic In Software Engineering Current Research Topic In Software Engineering A PROJECT REPORT Submitted by MD. Mithun Ahamed Id: 13-96937-2 Under the guidance of DR. Dip Nandi in partial fulfillment for the award of the degre of Master

More information

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper Parsing Technology and its role in Legacy Modernization A Metaware White Paper 1 INTRODUCTION In the two last decades there has been an explosion of interest in software tools that can automate key tasks

More information

Reusability of WSDL Services in Web Applications

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

More information

CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool

CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool Michele Lanza Software Engineering Group Department of Informatics University of Zurich, Switzerland Stéphane Ducasse

More information

Source Code Translation

Source Code Translation Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven

More information

A Social Network perspective of Conway s Law

A Social Network perspective of Conway s Law A Social Network perspective of Conway s Law Chintan Amrit, Jos Hillegersberg, Kuldeep Kumar Dept of Decision Sciences Erasmus University Rotterdam {camrit, jhillegersberg, kkumar}@fbk.eur.nl 1. Introduction

More information

Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka

Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka Motivation New development trends (IoT, service compositions) Quality of Service/Experience Demands Software (Development) Technologies

More information

The QlikView deployment framework

The QlikView deployment framework Technical Brief The QlikView deployment framework January, 2014 Table of Contents Introduction 2 Who is this document for? 2 The QlikView deployment framework 3 A sample QDF setup 4 What s included in

More information

VISUALIZATION TECHNIQUES OF COMPONENTS FOR LARGE LEGACY C/C++ SOFTWARE

VISUALIZATION TECHNIQUES OF COMPONENTS FOR LARGE LEGACY C/C++ SOFTWARE STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LIX, Special Issue 1, 2014 10th Joint Conference on Mathematics and Computer Science, Cluj-Napoca, May 21-25, 2014 VISUALIZATION TECHNIQUES OF COMPONENTS

More information

A Visualization Approach for Bug Reports in Software Systems

A Visualization Approach for Bug Reports in Software Systems , pp. 37-46 http://dx.doi.org/10.14257/ijseia.2014.8.10.04 A Visualization Approach for Bug Reports in Software Systems Maen Hammad 1, Somia Abufakher 2 and Mustafa Hammad 3 1, 2 Department of Software

More information

Managing Variability in Software Architectures 1 Felix Bachmann*

Managing Variability in Software Architectures 1 Felix Bachmann* Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie

More information

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs César Couto 1,2, Pedro Pires 1, Marco Túlio Valente 1, Roberto S. Bigonha 1, Andre Hora 3, Nicolas Anquetil 3 1 Department

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi

More information

Layered Approach to Development of OO War Game Models Using DEVS Framework

Layered Approach to Development of OO War Game Models Using DEVS Framework Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 5 ISSN 2229-5518

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 5 ISSN 2229-5518 International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 5 INTELLIGENT MULTIDIMENSIONAL DATABASE INTERFACE Mona Gharib Mohamed Reda Zahraa E. Mohamed Faculty of Science,

More information