Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C
|
|
|
- Della Marsh
- 9 years ago
- Views:
Transcription
1 Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C Flávio Medeiros 1, Thiago Lima 2, Francisco Dalton 2, Márcio Ribeiro 2, Rohit Gheyi 1, Baldoino Fonseca 2 1 Departamento de Sistemas e Computação Universidade Federal de Campina Grande (UFCG) Campina Grande Brasil 2 Instituto de Computação Universidade Federal de Alagoas (UFAL) Maceió Brasil [email protected], [email protected] {marcio, teol, fdbd, baldoino}@ic.ufal.br Abstract. A Software Product Line (SPL) is a set of products developed from reusable assets. These products share a common platform and we can customize them for specific customers. In an SPL, developers use the concept of features. They are the semantic units by which we can differentiate products. In C programming, we can implement features by mapping them to preprocessor directives, such as #ifdef and #endif. In this context, although there are tools to deal with C preprocessors and SPLs, they are not integrated, which hinders their usage in product line development. In this paper, we propose a tool that provides an integrated environment based on the Eclipse platform to support the development of preprocessor-based SPLs in C. Thus, developers can create feature models, see SPL metrics, and generate SPL products automatically after checking for the absence of invalid products. 1. Introduction A Software Product Line (SPL) consists of software systems that share common features that satisfy the needs of a specific market segment [Clements and Northrop 2001]. In this context, features are the semantic units by which we can differentiate programs in an SPL [Trujillo et al. 2006]. In C programming, developers may use the C preprocessor to implement features by mapping them to preprocessor directives, such as #ifdef and #endif [Thüm et al. 2012]. Although there are tools to deal with C preprocessors and SPLs, they are not integrated, which hinders their usage in product line development. For example, FeatureIDE [Thüm et al. 2012] enables developers to create and gather a feature model to their software projects in some languages like Java, but there is no mapping between this feature model and C preprocessors. As another example: despite recognizing preprocessors, C compilers such as GCC do not check all products to identify potential errors before generating them. Last but not least, TypeChef [Kästner et al. 2011], a variability-aware parser for C, outputs the results in console, making the tasks of locating and analyzing errors difficult. Therefore, to have the benefits of each tool, developers may need to write scripts to use the output of a tool as input of another and use different environments, technologies and languages, increasing their effort.
2 To minimize these problems and provide an environment containing the functionalities of these tools, we present in this paper Colligens, 1 an Eclipse plug-in tool to support C developers during preprocessor-based SPL implementations. When using our tool, developers can create feature models and map them to C preprocessor directives, check invalid products before generating them, reach erroneous code points by just clicking on the tool views, generate valid products according to both feature model and C language rules (with respect to syntax and type), analyze SPL metrics, and so forth. We applied our tool to real software families that contain feature constraints defined in the configure files. In particular, we use the libssh project, 2 a multiplatform C library that implements the Secure Shell (SSH) protocol on client and server side, and libpng, the official PNG reference library 3. Using the Colligens tool, we find syntax errors that the project developers confirmed as bugs. 2. Motivating Example To implement SPLs and software families in C, developers may use preprocessors to implement features. For example, Figure 1 presents a real code snippet from the libssh software family that verifies signatures using the cryptographic libraries libgcrypt and libcrypto static int sig_verify(ssh_session *session, PUBKEY *pubkey, SIGNATURE *signature){ // Code here.. switch (pubkey->type){ case TYPE_DSS: #ifdef HAVE_LIBGCRYPT // Code here.. if (gcry_err_code (valid)!= GPG_ERR_BAD_SIGNATURE){ ssh_set_error(2, "DSA error : %s", gcry_strerror(valid)); #elif defined (HAVE_LIBCRYPTO) // Code here.. if (valid == -1){ ssh_set_error(session, 2, "DSA error : %s", ERR_get_error()); #endif return -1; } ssh_set_error(session, 2, "Invalid DSA signature"); return -1; // Other case options } return -1; } Figure 1. Code Fragment from the libssh project. We may use TypeChef as illustrated in Figure 2 to detect errors. It identifies a syntax error, i.e., a missing bracket, in line when configuration (not HAVE LIBGCRYPT and not HAVE LIBCRYPTO) is set. However, in this scenario we face two problems. Firstly, the line number, pointed by TypeChef, that contains the error does not correspond to the original code (line 543 of dh.c file). Thus, developers need to spend additional time to manually identify the actual problematic line. Also, according to the configure file of the libssh project, the configuration where TypeChef identified the
3 error is not valid (not HAVE LIBGCRYPT and not HAVE LIBCRYPTO). In particular, one of the features must be always enabled. Again, developers would spend extra effort to investigate an error that actually does not exist. Notice that this kind of error does not arise in case we integrate a feature model to our project, since we can make TypeChef aware of such a feature model. Further, the Colligens tool can check problems like this one in several files. MacBook-Pro: Typechef Flavio$ java -Xmx1024m -jar lib/typechef jar -h platform.h --parse libssh/dh.c parsing. (def(have_libgcrypt) def(have_libcrypto)) succeeded (!def(have_libgcrypt) &!def(have_libcrypto)) failed: end of input expected at file libssh/dh.c:11500:12 (List()) Figure 2. Analyzing a libssh file with TypeChef using a command line tool. Besides, we execute TypeChef using command line tools. To minimize these problems, we present a tool that not only integrates other tools, i.e., FeatureIDE and TypeChef, but also provides new functionalities such as mapping features and preprocessor directives, feature renaming, and SPL metrics. 3. A Tool to Support the Development of Software Product Lines in C In this section, we present how our tool deals with the aforementioned problems. Then, we describe its architecture in Section 3.1, and the main functionalities in Section 3.2. Colligens is an Eclipse plug-in distributed under the GNU General Public License (GPL) that provides support for the development of preprocessor-based SPLs using the C language. It integrates the TypeChef and FeatureIDE tools on the Eclipse platform. When using our tool, developers can identify invalid products (regarding syntax and type errors) without preprocessing the source code and generating binary code. In Figure 3, we present a view of the tool showing a type error that is present in all products with the feature HAVE LIBGCRYPT. This view shows the file that contains the problem, so that developers can reach the original erroneous code by just clicking on the tool view. In addition, Colligens also uses a feature model editor as we can see on the right hand side of Figure 3. Using the libssh feature model, our tool do not identify the syntax error in the invalid configuration that we mention in Section 2 (not HAVE LIBGCRYPT and not HAVE LIBCRYPTO). In this context, the tool checks the feature model constraints and TypeChef analyzes only valid configurations. Also, since the tool maps features to preprocessor directives, the renaming of a feature implies modifications on the source code, keeping the feature model and the source code consistent, which might reduce developers effort. Even after checking the presence of errors and invalid products, we can force the Colligens tool to generate the SPL products. The generation of invalid products can ease the identification of problems, since the developers can focus on a single product, which contains no preprocessor directives on the source code. In Figure 4, we depict a view that lists the invalid products.
4 Figure 3. Colligens view to show syntax and type errors found by TypeChef, and the partial feature model of the libssh project. Figure 4. Colligens view to list invalid products. Moreover, Colligens provides a view that shows metrics about the SPL (see Figure 5). Thus, developers can view data, such as the number of features, number of products, number of files, number of files with preprocessor directives, average number of directives per file, and the Lines of Code (LOC). The tool executes its functionalities on the Eclipse development environment without the need of additional scripts or command line tools. Hence, SPL developers may not need to perform tasks manually. Figure 5. Colligens view to show SPL metrics information Architecture In this section, we present the architecture of our tool. It is an Eclipse plug-in that integrates the TypeChef and FeatureIDE tools. As we can see in Figure 6, the tool architecture is composed by the Eclipse infrastructure, Eclipse C/C++ Development Tooling (CDT) plug-in, FeatureIDE, TypeChef, and the modules that we implemented using the Model- View-Controller (MVC) pattern as explained next: Core: it integrates TypeChef and FeatureIDE, maps features to preprocessor directives, and so forth; View: It provides views to show invalid products and configurations, and metrics, such as the number of features and products, median of preprocessor directives per file, and LOC; Model: it contains classes to represent, for example, syntax errors, invalid configurations and metric values; Controller: it is responsible to connect the model and view components, it notifies the model to update changes and the views to update the presentation of the model.
5 Colligens CDT C o r e View Controller Model FeatureIDE TypeChef E C L I P S E Legend Component Depends on Figure 6. The Architecture of Colligens. Colligens tool works in the following way. The user clicks on the tool views, and the controller calls TypeChef and FeatureIDE functionalities. Then, the controller calls the model methods to get the results and passes it back to the views. The controller also uses the CDT plug-in to get information, such as project name, paths, files selected on the project explorer, and source roots. As we can see in Figure 6, our tool depends on the Eclipse platform, CDT, FeatureIDE and TypeChef. FeatureIDE also depends on the CDT functionalities, such as source code editors, preference screens, and its building infrastructure Main Functionalities In this section, we present the main functionalities of the Colligens tool to support the development of SPLs in C. Its main functionaries are: Since we implement a mapping between the FeatureIDE feature model and the C preprocessor directives, our tool provides a feature renaming functionality that keeps both feature model and code consistent; Generation of all SPL valid products in C, which is possible due to the aforementioned mapping; A list of the errors pointed by TypeChef in terms of an Eclipse view. Using this view, developers can click on its elements and our tool makes the cursor points to the actual erroneous line, improving code navigation; When trying to generate products, our tool warns whether there are erroneous ones (according to C language syntax and type rules). In case the user decides to continue, our tool provides a view that lists invalid products (see Figure 4); A metric view that provides SPL information; A preferences screen, allowing developers to set some FeatureIDE and TypeChef parameters. 4. Related Work Beyond the TypeChef and FeatureIDE tools, we relate our work with the following tools. The FeatureC++ tool extends the syntax of C++ with new keywords to support Feature- Oriented Programming (FOP) [Apel et al. 2005]. It focuses on providing techniques to express features in a modular way, e.g., using aspects. Our tool has a different focus, it aims to support existing software families that implement features in a non-modular way using preprocessor directives. FeatureHouse is a general approach to the composition of software artifacts [Apel et al. 2009]. It is language-independent in that we can compose artifacts written in various languages. It integrates the FSTComposer, FSTMerge and FSTGenerator tools.
6 The AHEAD tool suite provides several tools for FOP [Batory 2006]. The AHEAD tool also focuses on compositional SPL, and implements features as modular units, e.g., using C++ classes. Thus, these tools are appropriated to compositional SPL, different from our work that focuses on preprocessor-based product lines. The CIDE tool implements the concept of virtual separation of concerns, where we can associate a feature with a specific background colour [Kästner and Apel 2009]. It focuses on preprocessor-based SPL. CIDE also integrates a variability-aware parser that checks for syntax and type errors. However, different from our work, it only accepts directives on structured code fragments. 5. Concluding Remarks This paper presented Colligens, a tool to support the development of preprocessor-based SPLs in C. The tool consists mainly of an Eclipse plug-in that provides an integrated environment to create feature models, map features to preprocessor directives, and generate executable codes for the SPL products. Moreover, we applied our tool to real software families, the libssh and libpng projects. Our tool is based on FeatureIDE, a tool for feature-oriented programming, and TypeChef, which allows the checking of SPL properties without generating products. As a future work, we intend to implement extension points to integrate other tools, such as SuperC [Gazzillo and Grimm 2012], which is another variability-aware parser. References Apel, S., Kastner, C., and Lengauer, C. (2009). FEATUREHOUSE: Languageindependent, automated software composition. In Proceedings of the ICSE. IEEE Computer Society. Apel, S., Leich, T., Rosenmüller, M., and Saake, G. (2005). FeatureC++: On the symbiosis of feature-oriented and aspect-oriented programming. In In Proceedings of the GPCE. Springer. Batory, D. (2006). A tutorial on feature oriented programming and the ahead tool suite. In Proceedings of the GTTSE. Springer-Verlag. Clements, P. C. and Northrop, L. (2001). Software Product Lines: Practices and Patterns. Addison-Wesley. Gazzillo, P. and Grimm, R. (2012). SuperC: parsing all of c by taming the preprocessor. In Proceedings of the PLDI. ACM. Kästner, C. and Apel, S. (2009). Virtual separation of concerns a second chance for preprocessors. Journal of Object Technology (JOT), 8(6). Kästner, C., Giarrusso, P. G., Rendel, T., Erdweg, S., Ostermann, K., and Berger, T. (2011). Variability-aware parsing in the presence of lexical macros and conditional compilation. In Proceedings of the OOPSLA. ACM. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., and Leich, T. (2012). FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming. Trujillo, S., Batory, D., and Diaz, O. (2006). Feature refactoring a multi-representation program into a product line. In Proceedings of the GPCE, pages ACM.
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development Thomas Thüm a, Christian Kästner b, Fabian Benduhn a, Jens Meinicke a, Gunter Saake a, Thomas Leich c a University of Magdeburg,
SPLConfig: Product Configuration in Software Product Line
SPLConfig: Product Configuration in Software Product Line Lucas Machado, Juliana Pereira, Lucas Garcia, Eduardo Figueiredo Department of Computer Science, Federal University of Minas Gerais (UFMG), Brazil
Generative Software Product Line Development using Variability-Aware Design Patterns
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Generative Software Product Line Development using Variability-Aware Design Patterns Christoph Seidl, Sven Schuster, Ina Schaefer May
Feature-Oriented Software Development
Feature-Oriented Software Development A Short Tutorial on Feature-Oriented Programming, Virtual Separation of Concerns, and Variability-Aware Analysis Christian Kästner 1 and Sven Apel 2 1 Philipps University
Generating Unit Tests for Checking Refactoring Safety
Generating Unit Tests for Checking Refactoring Safety Gustavo Soares, Rohit Gheyi, Tiago Massoni Márcio Cornélio, Diego Cavalcanti UFCG / UPE {gsoares, rohit, massoni, diegot}@dsc.ufcg.edu.br [email protected]
How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science Otto-von-Guericke-University
Dungeon: A Case Study of Feature-Oriented Programming with Virtual Classes
Dungeon: A Case Study of Feature-Oriented Programming with Virtual Classes Vaidas Gasiunas Ivica Aracic Technische Universität Darmstadt, Germany {gasiunas,aracic}@informatik.tu-darmstadt.de Abstract A
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]
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science University of Magdeburg,
Bridging the Gap between Variability in Client Application and Database Schema
Bridging the Gap between Variability in Client Application and Database Schema Norbert Siegmund 1, Christian Kästner 1, Marko Rosenmüller 1, Florian Heidenreich 2, Sven Apel 3, and Gunter Saake 1 1 School
Variability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
Technical Review. The Institution of Electronics and Telecommunication Engineers. www.ietejournals.org. Volume 26 No.
ISSN : 0256-4602 THE INSTITUTION OF IETE ELECTRONICS AND TELECOMMUNICATION ENGINEERS The Institution of Electronics and Telecommunication Engineers IETE Technical Review Volume 26 No. 5 Sep-Oct 2009 www.ietejournals.org
RobbyDBMS A Case Study on Hardware/Software Product Line Engineering
RobbyDBMS A Case Study on Hardware/Software Product Line Engineering Jörg Liebig and Sven Apel and Christian Lengauer Department of Infmatics and Mathematics University of Passau, Germany {joliebig,apel,lengauer}@fim.uni-passau.de
FAME-DBMS: Tailor-made Data Management Solutions for Embedded Systems
FAME-DBMS: Tailor-made Data Management Solutions for Embedded Systems Marko Rosenmüller 1, Norbert Siegmund 1, Horst Schirmeier 2, Julio Sincero 3, Sven Apel 4, Thomas Leich 5, Olaf Spinczyk 2, Gunter
Software Architecture
Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel
Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.
Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Systematic Review
Easing embedded Linux software development for SBCs
Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving
NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms
NXTware Remote Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms Gerrit Woertman CTO OpenVMS Business Generating Software [email protected] +31 6 51341600 Introduction
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, [email protected] 2 Dep.
Enhanced Project Management for Embedded C/C++ Programming using Software Components
Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software
Safe Generation in Feature-Oriented Software Development Sven Apel
Safe Generation in Feature-Oriented Software Development Sven Apel Lehrstuhl für Programmierung Universität Passau Software Product Line Engineering OS FAME-DBMS BufferMgr Statistics Storage Domain Analysis
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu
Meister Going Beyond Maven
Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities
Verification of Software Product Lines Using Contracts
Verification of Software Product Lines Using Contracts Thomas Thüm School of Computer Science University of Magdeburg Magdeburg, Germany Abstract Software product lines are widely used to achieve high
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
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
Reactive Variability Realization with Test-Driven Development and Refactoring
Reactive Variability Realization with Test-Driven Development and Refactoring Glauco Silva Neves Informatics and Statistics Department - INE Federal University of Santa Catarina - UFSC Florianópolis, Brazil
Visualizing Software Product Line Variabilities in Source Code
Visualizing Software Product Line Variabilities in Source Code Christian Kästner School of Computer Science University of Magdeburg Magdeburg, Germany [email protected] Salvador Trujillo IKERLAN Research
An Overview of Feature-Oriented Software Development
Vol. 8, No. 5, July August 2009 An Overview of Feature-Oriented Software Development Sven Apel, Department of Informatics and Mathematics, University of Passau, Germany Christian Kästner, School of Computer
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
Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)
Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
Tutorial: Packaging your server build
Tutorial: Packaging your server build This tutorial walks you through the steps to prepare a game server folder or package containing all the files necessary for your game server to run in Amazon GameLift.
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
Superimposition: A Language-Independent Approach to Software Composition
Superimposition: A Language-Independent Approach to Software Composition Sven Apel and Christian Lengauer Department of Informatics and Mathematics University of Passau, Germany {apel, lengauer}@uni-passau.de
Microsoft Windows PowerShell v2 For Administrators
Course 50414B: Microsoft Windows PowerShell v2 For Administrators Course Details Course Outline Module 1: Introduction to PowerShell the Basics This module explains how to install and configure PowerShell.
Department of Veterans Affairs. Open Source Electronic Health Record Services
Department of Veterans Affairs Open Source Electronic Health Record Services MTools Installation and Usage Guide Version 1.0 June 2013 Contract: VA118-12-C-0056 Table of Contents 1. Installation... 3 1.1.
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
2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML
Open Source Tools for Software Product Line Development Sergio Segura, David Benavides, Antonio Ruiz-Cortés and Pablo Trinidad Department of Computer Languages and Systems University of Seville email:{segura,
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
Goals and Scenarios to Software Product Lines: the GS2SPL Approach
Goals and Scenarios to Software Product Lines: the GS2SPL Approach Gabriela Guedes, Carla Silva, Jaelson Castro Centro de Informática Universidade Federal de Pernambuco (UFPE) CEP 50740-540, Recife/ PE
Unification of AOP and FOP in Model Driven Development
Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify
Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab
Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Developer Day San Francisco, 2013 Jessica Zhang Introduction Welcome to the Yocto Project Eclipse plug-in
Programming with the Dev C++ IDE
Programming with the Dev C++ IDE 1 Introduction to the IDE Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. As similar IDEs, it offers to the programmer
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,
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,
Code Estimation Tools Directions for a Services Engagement
Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary
Cassandra 2.0: Tutorial
Cassandra 2.0 Tutorial V1.0 Sébastien Jourdain, Fatiha Zeghir 2005/06/01 1 / 16 Abstract Cassandra is a generic VTK data viewer written in Java which provides native multiplatform support. Cassandra is
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Towards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany [email protected] Abstract. Test-Driven Development is a technique where
A Brief Analysis of Web Design Patterns
A Brief Analysis of Web Design Patterns Ginny Sharma M.Tech Student, Dept. of CSE, MRIU Faridabad, Haryana, India Abstract Design patterns document good design solutions to a recurring problem in a particular
Processing and data collection of program structures in open source repositories
1 Processing and data collection of program structures in open source repositories JEAN PETRIĆ, TIHANA GALINAC GRBAC AND MARIO DUBRAVAC, University of Rijeka Software structure analysis with help of network
Toad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
IBM WebSphere Adapter for PeopleSoft Enterprise 6.2.0. Quick Start Tutorials
IBM WebSphere Adapter for PeopleSoft Enterprise 6.2.0 Quick Start Tutorials Note: Before using this information and the product it supports, read the information in "Notices" on page 94. This edition applies
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
Yocto Project ADT, Eclipse plug-in and Developer Tools
Yocto Project ADT, Eclipse plug-in and Developer Tools Jessica Zhang LinuxCon - Japan Tokyo 2013 Agenda The Application Development Toolkit Usage Flow And Roles Yocto Project Eclipse Plug-in Interacts
Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
JetBrains ReSharper 2.0 Overview Introduction ReSharper is undoubtedly the most intelligent add-in to Visual Studio.NET 2003 and 2005. It greatly increases the productivity of C# and ASP.NET developers,
Quality Assurance of Software Models within Eclipse using Java and OCL
Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why
Profiling and Testing with Test and Performance Tools Platform (TPTP)
Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada [email protected]
Web Application Development and Frameworks
Web Application Development and Frameworks Student: Abdullah Mamun (Mamun) Spring 2008 April 18, 2008 Mamun: COMS E6125 1 Introduction Web application and frameworks Exponential growth of human s dependency
Using Eclipse CDT/PTP for Static Analysis
PTP User-Developer Workshop Sept 18-20, 2012 Using Eclipse CDT/PTP for Static Analysis Beth R. Tibbitts IBM STG [email protected] "This material is based upon work supported by the Defense Advanced Research
Pattern Insight Clone Detection
Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology
Multivariate Testing of Native Mobile Applications
Multivariate Testing of Native Mobile Applications Clemens Holzmann University of Applied Sciences Upper Austria Department of Mobile Computing Softwarepark 11, 4232 Hagenberg, Austria [email protected]
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 [email protected] Len Bass Software Engineering Institute Carnegie
Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development
Introduction to -based solution for embedded software development Section 1 Eddy Real-Time, Lemonix Section 2 Eddy Integrated Development Environment, LemonIDE Section 3 Eddy Utility Programs Eddy Integrated
1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
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:
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 7 Scanner Parser Project Wednesday, September 7 DUE: Wednesday, September 21 This
Tutorial: Load Testing with CLIF
Tutorial: Load Testing with CLIF Bruno Dillenseger, Orange Labs Learning the basic concepts and manipulation of the CLIF load testing platform. Focus on the Eclipse-based GUI. Menu Introduction about Load
A COMPARISON OF AOP BASED MONITORING TOOLS
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system
Tutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and
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
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
How Programmers Use Internet Resources to Aid Programming
How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,
Initializing SAS Environment Manager Service Architecture Framework for SAS 9.4M2. Last revised September 26, 2014
Initializing SAS Environment Manager Service Architecture Framework for SAS 9.4M2 Last revised September 26, 2014 i Copyright Notice All rights reserved. Printed in the United States of America. No part
System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks
System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks OnurSoft Onur Tolga Şehitoğlu November 10, 2012 v1.0 Contents 1 Introduction 3 1.1 Purpose..............................
Comparative Analysis of Open Source Automated Software Testing Tools: Selenium, Sikuli and Watir
International Journal of Information & Computation Technology. ISSN 0974-2239 Volume 4, Number 15 (2014), pp. 1507-1518 International Research Publications House http://www. irphouse.com Comparative Analysis
1 How to install CQ5 with an Application Server
1 How to install CQ5 with an Application Server Contents 1.1. WebSphere v6.1... 1 1.2. WebLogic v10.3... 3 1.3. Tomcat v6... 6 1.4. JBoss v4... 8 1.5. Generic Procedures... 10 The following sections detail
