The development of Web sites and applications is increasing dramatically to satisfy the market requests. The software industry is facing the new demand under the pressure of a very short time-to-market and an extremely high competition. As a result, Web sites and applications are usually developed without a disciplined process: Web applications are directly coded and no, or poor, documentation is produced to support the subsequent
maintenance and evolution activities, thus compromising the quality of the applications.
This paper presents a tool for reverse engineering Web applications. UML diagrams are used to model a set of views that depict several aspects of a Web application at different abstraction levels. The recovered diagrams ease the comprehension of the application and support its maintenance and evolution. A case study, carried out with the aim of assessing the effectiveness of the proposed tool, allowed relevant information about some real Web applications to be successfully recovered and modeled by UML diagrams.
The heterogeneous and dynamic nature of components making up a Web Application, the lack of effective programming mechanisms for implementing basic software engineering principles in it, and undisciplined development processes induced by the high pressure of a very short time-to-market, make Web Application maintenance a challenging problem. A relevant issue consists of reusing the methodological and technological experience in the sector of traditional software maintenance, and exploring the opportunity of using Reverse Engineering to support effective Web Application maintenance.
The Ph.D. Thesis presents an approach for Reverse Engineering Web Applications. The approach include the definition of Reverse Engineering methods and supporting software tools, that help to understand existing undocumented Web Applications to be maintained or evolved, through the reconstruction of UML diagrams. Some validation experiments have been carried out and they showed the usefulness of the proposed approach and highlighted possible areas for improvement of its effectiveness.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.Marco Brambilla
As the Web becomes a platform for multimedia content fruition, audiovisual search assumes a central role in providing users with the content most adequate to their information needs. A key issue for enabling audiovisual search is extracting indexable knowledge from opaque media. Such a process is heavily constrained by scalability and performance issues and must be able to flexibly incorporate specialized components for educing selected features from media elements. This paper shows how the use of a model-driven approach can help designers specify multimedia indexing processes, verify properties of interest in such processes, and generate the code that orchestrates the components, so as to enable rapid prototyping of content analysis processes in presence of evolving requirements.
• 11+ Years of IT Industry experience in Analysis, Design, Development, Maintenance and Support of various software applications mainly in Data Warehousing (Informatica Power Center, OWB, SSIS and Business Objects), Oracle (SQL, PL/SQL) and Teradata in industry verticals like Finance, Telecom, Retail and Healthcare.
• Work experience in client facing roles in UK and Ireland.
• Performed numerous roles in Business Intelligence projects as Data warehouse System Analyst, ETL Designer, Onshore coordinator, Technical Lead and Senior Data warehouse Developer roles with multinational IT result-driven organizations
• Extensive experience on Data integration projects accessing sources like Teradata, Oracle and SQL server.
• Created robust EDW Solution from various types of sources like Flat files, XML Files, EDCDIC Cobol copybook from Mainframe systems, DB2 Unload files.
• Extensive experience on Data discovery, cleansing using Informatica IDQ.
• Resolved Inconsistent and Duplicate Data issues during Data Analysis to Support Strategic EDW Goals.
• Extensive experience of Data Integration using Informatica Power center Tool stack.
• Strong knowledge on Data Warehousing concepts, ETL concepts, Data Modeling, Dimensional Modeling.
• Conducted training on Informatica and have achieved awards for proficient training capabilities.
• Excellent understanding of OLTP and OLAP concepts and expert in writing SQL, Stored procedure on Teradata, Oracle and SQL Server.
• Extensive experience in implementing Data Warehousing methodologies including STAR SCHEMA and SNOW-FLAKE SCHEMAS & 3NF for huge data warehouses.
• Extensive knowledge on Change Data Capture (CDC) and SCD Type 1, Type 2, Type 3 Implementations.
• Excellent understanding of Kimball and Inmon Methodologies.
• Provided leadership when addressing high level technical issues and questions with the functionality of the reporting and business intelligence applications.
• Managed the current and strategize to foresee and plan for the future engineering needs in Data Integration space.
• Performed roles as a interface and coordinator between Database Administration, ETL Development, Testing teams and reporting teams to eliminate the road blocks for smooth flow of information.
• Hands on experience in tuning ETL mappings, identifying and resolving performance bottlenecks in various levels like sources, targets, mappings, and sessions.
• Expert in designing and developing of complicate ETL mappings using Informatica PowerCenter.
• Proficient in optimizing performance issues using Informatica PowerCenter and Teradata.
• Having experience on using Teradata utilities (TPT, BTEQ, Fast Load, MultiLoad, FastExport, Tpump).
• Exposure in writing Shell Scripting as per given requirement.
• Work extensively in Teradata GCFR tool.
• Experience in SAP ECC integration with Informatica.
• Got training in Tableau, Qlik View& SAP BW 3.5and done POC for the same.
The heterogeneous and dynamic nature of components making up a Web Application, the lack of effective programming mechanisms for implementing basic software engineering principles in it, and undisciplined development processes induced by the high pressure of a very short time-to-market, make Web Application maintenance a challenging problem. A relevant issue consists of reusing the methodological and technological experience in the sector of traditional software maintenance, and exploring the opportunity of using Reverse Engineering to support effective Web Application maintenance.
The Ph.D. Thesis presents an approach for Reverse Engineering Web Applications. The approach include the definition of Reverse Engineering methods and supporting software tools, that help to understand existing undocumented Web Applications to be maintained or evolved, through the reconstruction of UML diagrams. Some validation experiments have been carried out and they showed the usefulness of the proposed approach and highlighted possible areas for improvement of its effectiveness.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.Marco Brambilla
As the Web becomes a platform for multimedia content fruition, audiovisual search assumes a central role in providing users with the content most adequate to their information needs. A key issue for enabling audiovisual search is extracting indexable knowledge from opaque media. Such a process is heavily constrained by scalability and performance issues and must be able to flexibly incorporate specialized components for educing selected features from media elements. This paper shows how the use of a model-driven approach can help designers specify multimedia indexing processes, verify properties of interest in such processes, and generate the code that orchestrates the components, so as to enable rapid prototyping of content analysis processes in presence of evolving requirements.
• 11+ Years of IT Industry experience in Analysis, Design, Development, Maintenance and Support of various software applications mainly in Data Warehousing (Informatica Power Center, OWB, SSIS and Business Objects), Oracle (SQL, PL/SQL) and Teradata in industry verticals like Finance, Telecom, Retail and Healthcare.
• Work experience in client facing roles in UK and Ireland.
• Performed numerous roles in Business Intelligence projects as Data warehouse System Analyst, ETL Designer, Onshore coordinator, Technical Lead and Senior Data warehouse Developer roles with multinational IT result-driven organizations
• Extensive experience on Data integration projects accessing sources like Teradata, Oracle and SQL server.
• Created robust EDW Solution from various types of sources like Flat files, XML Files, EDCDIC Cobol copybook from Mainframe systems, DB2 Unload files.
• Extensive experience on Data discovery, cleansing using Informatica IDQ.
• Resolved Inconsistent and Duplicate Data issues during Data Analysis to Support Strategic EDW Goals.
• Extensive experience of Data Integration using Informatica Power center Tool stack.
• Strong knowledge on Data Warehousing concepts, ETL concepts, Data Modeling, Dimensional Modeling.
• Conducted training on Informatica and have achieved awards for proficient training capabilities.
• Excellent understanding of OLTP and OLAP concepts and expert in writing SQL, Stored procedure on Teradata, Oracle and SQL Server.
• Extensive experience in implementing Data Warehousing methodologies including STAR SCHEMA and SNOW-FLAKE SCHEMAS & 3NF for huge data warehouses.
• Extensive knowledge on Change Data Capture (CDC) and SCD Type 1, Type 2, Type 3 Implementations.
• Excellent understanding of Kimball and Inmon Methodologies.
• Provided leadership when addressing high level technical issues and questions with the functionality of the reporting and business intelligence applications.
• Managed the current and strategize to foresee and plan for the future engineering needs in Data Integration space.
• Performed roles as a interface and coordinator between Database Administration, ETL Development, Testing teams and reporting teams to eliminate the road blocks for smooth flow of information.
• Hands on experience in tuning ETL mappings, identifying and resolving performance bottlenecks in various levels like sources, targets, mappings, and sessions.
• Expert in designing and developing of complicate ETL mappings using Informatica PowerCenter.
• Proficient in optimizing performance issues using Informatica PowerCenter and Teradata.
• Having experience on using Teradata utilities (TPT, BTEQ, Fast Load, MultiLoad, FastExport, Tpump).
• Exposure in writing Shell Scripting as per given requirement.
• Work extensively in Teradata GCFR tool.
• Experience in SAP ECC integration with Informatica.
• Got training in Tableau, Qlik View& SAP BW 3.5and done POC for the same.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Keyphrase Extraction And Source Code Similarity Detection- A Survey Nakul Sharma
This is the presentation given at chsn2020. For full article please visit the website:https://iopscience.iop.org/article/10.1088/1757-899X/1074/1/012027 or https://doi.org/10.1088/1757-899X/1074/1/012027
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Keyphrase Extraction And Source Code Similarity Detection- A Survey Nakul Sharma
This is the presentation given at chsn2020. For full article please visit the website:https://iopscience.iop.org/article/10.1088/1757-899X/1074/1/012027 or https://doi.org/10.1088/1757-899X/1074/1/012027
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
Esta presentación expone las principales herramientas y técnicas a utilizar para llevar a cabo un proceso de ingeniería inversa sobre una aplicación Android, con el objetivo de identificar código malicioso en la misma. En la exposición se presenta, desde el punto de vista de un analista de seguridad y de una forma práctica, el proceso de análisis de una aplicación existente en la Google Play Store.
Gracias a
http://programadorphp.org
.
Muestra cómo sacarle todo el partido a FireBug sobre FireFox, un componente imprescindible para el día a día de un programador php, web o un diseñador.
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
Slides from our talk at the RecSys 2016 conference in Boston, MA 2016-09-18 on our perspective for what are important areas for future work in recommender systems.
Our objective for the Netflix recommendation engine is to create a personalized experience for our members, making it easier for them to find a video to watch and enjoy. When a member logs on to the service, she/he may be in one or a combination of different watching modes: discovering a new content to watch, continuing to watch a partially-watched movie or a TV show she/he has been binging on, playing one of the contents she/he had put in her play list during an earlier session, etc. If, for example, we can reasonably predict when a member is more likely to be in the continuation mode, and which videos she/he is more likely to resume, it makes sense to place those videos in more prominent places of the home page. In this talk we focus on understanding the discovery vs. continuation behavior and explain how we have used machine learning to improve the member experience by learning a personalized balance between those two modes. As a case study, we focus on a recent change on the personalization of a row of recommendations called “Continue Watching,” which appears on the main page of the Netflix member homepage on the website and the app and currently drives a significant proportion of member streaming hours.
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.jsChris Saint-Amant
At Netflix we run hundreds of A/B tests every year. Maintaining multivariate experiences quickly adds strain to any UI engineering team. In this talk, Alex Liu and Micah Ransdell explore the patterns we’ve built in Node.js to tame this beast - ultimately enabling quick feature development and rapid test iteration on our service used by over 50 million people around the world.
This webinar presentation shows you how easy it is to build Series 40 web apps based on templates in Nokia Web Tools 2.0. Tapan Acharya, lead evangelist and consultant with Nokia in Bangalore, describes templates including Multi-view, RSS Feed, Accordion, Carousel, and Tab Control. He presents sample apps and shows you how to use existing templates to localise your apps for languages you choose to support. The knowledge from this webinar will help you to select templates effectively and thus develop Series 40 web apps quickly.
A view on architectural considerations and models for the emerging context of software plus services and in view of technologies such as Windows Azure.
This presentation covers four things:
1. Why every business is a software business
2. The clear trends with VMware vFabric customers and prospects
3. Cloud Scale and Economics
4. Pricing Comparisons of vFabric to Competitors
Read an article summarizing the presentation and access the recording here: http://blogs.vmware.com/vfabric/2012/11/why-is-vfabric-on-the-cio-agenda-trends-and-economics.html
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
The Accelrys Enterprise Platform (AEP) provides support for scientific data integration and application delivery within an Enterprise environment. During this session, we’ll provide a primer on the Accelrys Enterprise Platform and how it fits within an existing Enterprise Platform. This will include the deployment scenarios and key integration points that are found most common (and sometimes not so common) in many organizations.
Accelrys Enterprise Platform scales from laptops to grids, but can how does it do that and how can it scale to meet the demands of an Enterprise Application? Enterprise Architects and Developers will get a detailed view of how Pipeline Pilot handles job management, job queuing, job pooling, security, memory management, process isolation and more. This session provides background information that will support later presentations in the platform and developers tracks.
If you’re looking for great ideas for your first (or next) Series 40 web app, this webinar is for you. Join Tapan Acharya, lead evangelist and consultant with Nokia in Bangalore, as he presents ideas and concepts that can be developed as Series 40 web apps. He’ll cover features, available with Nokia Web Tools 2.0, that you can use along with sound business acumen to develop addictive web apps. He’ll also include sample applications.
A Lecture given in Aalto University course "Design of WWW Services".
Single page app is already several years old web application paradigm that is now gaining traction due to the interest towards HTML5 and particularly cross-platform mobile (web) applications. The presentation overviews the single page application paradigm and compares it with other web app paradigms.
The presentation uses Backbone.js as the sample and gives practical tips on how to best structure Backbone.js applications. It contains an extensive set of tips and links in the notes section.
The reader is adviced to download the presentation for better readability of the notes.
Objectives:
- Getting an understanding of what SharePoint is.
- Getting familiar with the features SharePoint offers as a development Platform.
-Comprehend the different Development options.
- SharePoint Workflow Development.
- SharePoint Application Lifecycle Management.
In this fast paced world, how many users would like to stare at loading screen or the spinning wheel, while the request or process is being completed? If your answer is "None", you are spot on. The application developers work does not get easier with the myriad range of devices they need to cater to. We already have desktops, laptops,tablets, smartphones, smart TVs and adding further to this complexity are the distinctive characteristics of these devices like screen size, operating system, computing power, limited battery life, storage and many more.
This leaves the developers to make variety of decisions regarding application compatibility, performance, usability and maintainability. One also needs to ensure that the application is scalable to meet future goals and needs of an organization.
Here is where JavaScript frameworks come to the rescue; many of them work on the Model-View-Controller (MVC) design, thus enabling you to focus on making your applications rich and engaging rather than on their code structure and maintenance.
However, with the large number of JavaScript frameworks available, it can become a nightmare on the development team to choose the right framework for their web app development.
Thank you, for joining us for webinar on "JavaScript MVC Frameworks: Backbone, Ember and Angular JS - The paradigm shift and the impact on application development" on May 6. Attendees gained insights on the major JavaScript frameworks utilized for web app development and selecting the right framework.
THE WEBINAR KEY TAKEAWAYS :
1- How JavaScript MVC frameworks are becoming the cornerstone in Web Application development: The business need, the impact, and the advantages
2-Who are the key players? - Backbone JS, Ember JS, Angular JS -A brief introduction
3-What are the Key considerations while selecting a framework
4-The salient features and constraints of each framework
5-Use case walk-through
WebML and WebRatio 5 - TOOLS conference, Zurich 2008Marco Brambilla
We present WebRatio 5.0, a design tool that supports WebML (Web Modelling Language). WebML is a domain specific language (DSL) for designing complex, distributed, multi-actor, and adaptive applications deployed on the Web and on Service Oriented Architectures using Web Services. WebRatio 5.0 provides visual design facilities based on the WebML notation and code generation engines for J2EE Web applications. The tool is developed as a set of Eclipse plug-ins and takes advantage of all the features of this IDE framework. It also provides support of customized extensions to the models, project documentation, and requirements specifications. The overall approach moves towards a full coverage of the specification, design, verification, and implementation of Web applications.
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
The popularity of Augmented Reality (AR) applications has strongly been increased with the worldwide
success of the Pokemon Go videogame released by Niantic in 2016. However, AR offers tangible benefits
in many further areas beyond entertainment, such as advertisement, education, navigation, maintenance,
health, and so on. With the growing spread and success of AR applications in these fields, there has also
been a growing necessity for approaches and technologies for assuring the quality of these applications,
such as testing. A few technologies and frameworks have been recently proposed supporting the
implementation and execution of test scripts that can be used to exercise the applications, but there still
is a lack of effective techniques and tools for the automatic generation of executable test cases. In this
paper, we investigate the possibility of using Model Based Testing techniques to generate executable
test scripts from Finite State Machines modeling the behaviour of the GUI of AR applications, similarly
to other GUI based applications. We have applied several model coverage criteria to design test suites
and we have shown the feasibility of this approach by testing two small example applications involving
Unity3D and Vuforia technologies
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
Capture and Replay techniques provide a well known
solution for End-To-End (E2E) testing of Web applications.
They allow a tester to generate test scripts without
requiring advanced programming skills. For this reason, they
are very popular in acceptance and regression testing activities.
These techniques are affected by the issue of fragility of the
produced test cases, which may break even if small changes
are operated in the user interface, without modifications of the
app functionality. To overcome this issue, several approaches for
either generating robust test cases or automatically repairing
broken test cases have been proposed. In this paper we propose an
alternative solution that aims at improving the testability of Web
applications for generating robust test cases. This solution applies
to Web applications developed with template-based technologies.
It is based on the template source code automatic injection of
additional hook attributes and on the proposal of a new type
of locators based on such hooks. These locators aid the unique
retrieval of the user interface items involved in test cases. We
validated our technique in the context of a continuous integration
and delivery processes of template-based web applications that
was developed from scratch. The study showed that the use of
hook-based locators can improve the robustness of test cases
generated by a Capture & Replay testing tool, introducing
relevant savings in the regression test case repairing activity.
Development and diffusion of Mobile applications go forward at a tremendous rhythm, due to the always increasing impact of smartphones and other mobile devices on people’s habitudes but many applications are uninstalled and discarded by users when they experience the presence of bugs. Functional testing represents a crucial activity in the context of mobile applications, and there is a large request in both industry and scientific community for mobile testing methodologies, techniques and tools. In particular, since these activities are usually repetitive, expensive and time consuming, there is a remarkable request for automated techniques and tools supporting them.
This talk will provide a view of the state-of-the-art on techniques and tools supporting the automation of functional testing of mobile applications, including model based, model learning, search based, user session based and random testing techniques.
A technique for parallel gui testing of android applicationsPorfirio Tramontana
There is a large need for effective and efficient testing processes and tools for mobile applications, due to their continuous evolution and to the sensitivity of their users to failures. Industries and researchers focus their effort to the realization of effective fully automatic testing techniques for mobile applications. Many of the proposed testing techniques
lack in efficiency because their algorithms cannot be executed in parallel. In particular, Active Learning testing techniques usually relay on sequential algorithms.
In this paper we propose a Active Learning technique for the fully automatic exploration and testing of Android applications, that parallelizes and improves a general algorithm proposed in the literature. The novel parallel algorithm has been implemented in the context of a prototype tool exploiting a component-based architecture, and has been experimentally evaluated on 3 open source Android applications by varying different deployment configurations.
The measured results have shown the feasibility of the proposed technique and an average saving in testing time between 33% (deploying two testing resources) and about 80% (deploying 12 testing resources).
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
Nevertheless spreadsheets were originally designed for computing purposes and for commercial applications, they are often used in industry to implement Information Systems, thanks to the functionalities offered by integrated scripting languages and ad-hoc frameworks (e.g., Visual Basic for Applications). This technological solution allows the adoption of Rapid Application Development processes for the quickly development of Spreadsheets-based Information Systems, but the resulting systems are quite difficult to be maintained and very difficult to be migrated to other architectures such as Database-oriented Informative Systems or Web applications. In this paper we present an approach for reverse engineering the data model from an Excel spreadsheet-based system in the context of a process of migration to a Web based application based on a MVC architecture. The proposed approach was successfully applied in a real context of a company operating in the automotive industry. The main contribution of this paper is represented by the Data Model Reverse Engineering activity that is the basis of the Migration process.
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
Web systems evolved in the last years starting from static websites to Web applications, up to Ajax-based Rich Internet Applications (RIAs). Reverse Engineering techniques followed the same evolution, too. The authors and many other WSE contributors proposed a lot of innovative and effective ideas providing important advances in the reverse engineering field. In this paper, we will show the historical evolution of reverse engineering approaches for Web Systems with particular attention to the ones presented in the WSE events.
Over the last fifteen years, Web applications have evolved from the early simple and hyper-text based ones into the more complex, interactive, usable and adaptive applications of the new generations. New paradigms, architectures, and technologies for developing Web-based systems continuously emerge and transform this specific context. At the same time, new techniques and tools for effectively testing them have been proposed. This paper reports some relevant contributions about the Web application testing topic that appeared in the past editions of the Web Systems Evolution international symposium (WSE) and discusses some future trends for this specific field.
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
The rapid diffusion of Internet has triggered a growing request for new Web sites and Web Applications (WA).
Due to the pressing market demand, new WAs are usually developed in a very short time, while existing WAs are modified frequently and quickly. In these conditions, the well-known software engineering principles are not usually applied, as well as well-defined software processes and methodologies are rarely adopted. As a consequence, WAs usually present disordered architectures, poor or non-existing documentation, and can be analyzed, comprehended and modified with a considerable effort.
Reverse engineering methods and tools are being proposed in order to reduce the effort required to comprehend existing WAs and to support their maintenance and evolution. In this paper, the experimentation of a reverse engineering approach is described. Experimentation was carried out with the aim of assessing which characteristics of a WA mostly affect comprehensibility. The results of the experiments highlighted a set of techniques and best practices that should be applied for producing best analyzable and maintainable WAs.
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
The number and the complexity of web applications are increasing dramatically to satisfy the market requests, and the need of effective approaches for comprehending them is growing accordingly. Recently, some reverse engineering methods and tools have been proposed to support the comprehension of a web application; the information recovered by these tools is usually rendered in graphical representations. However, the graphical representations become progressively less useful with large-scale applications, and do not support adequately the comprehension of the application.
In this paper, to overcome this limitation, we propose an approach based on a clustering method for decomposing a web application (WA) into groups of highly functionally related components. The approach is based on the definition of a coupling measure between interconnected components of the WA that takes into account both the typology and the topology of the connections. The coupling measure is exploited by a clustering algorithm that produces a hierarchy of clustering. This hierarchy allows a structured approach to the comprehension of the web application to be carried out. The approach has been experimented with on medium sized web applications and produced interesting and encouraging results.
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
In the last years, appropriate user interaction design patterns for Web Applications have been defined to improve the development and quality of such applications. Identifying which interaction design patterns are implemented in the Web client pages of an existing application may make easier some maintenance tasks, such as the re-engineering of the user interfaces.
In this paper a method to support the automatic identification of interaction design patterns implemented in a Web client page is proposed. The method is based on reverse engineering techniques aiming to search the page code for those features characterizing a pattern.
Warranting the access to Web contents to any citizen, even to people with physical disabilities, is a major concern of many government organizations. Although guidelines for Web developers have been proposed by international organisations (such as the W3C) to make Web site contents accessible, the wider part of today’s Web sites are not completely usable by peoples with sight disabilities.
In this paper, two different approaches for dynamically transforming Web Pages into Aural Web Pages, i.e. pages that are optimised for blind peoples, will be presented. The approaches exploit heuristic techniques for summarising Web pages contents and providing them to blind users in order to improve the usability of Web sites. The techniques have been validated in an experiment where usability metrics have been used to assess the effectiveness of the Web page transformation techniques.
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
The User Interfaces of Rich Internet Applications (RIAs) present a richer functionality and enhanced usability than the ones of traditional Web applications which are obtained by means of a successful combination of heterogeneous technologies, frameworks, and communication models. Due to its increased complexity, dynamicity, and responsiveness, testing the user interfaces of an RIA is more complex than testing the user interfaces of a traditional Web application and requires that effective and efficient testing techniques are proposed and validated. In this paper we analyse the most critical open issues in RIA testing automation and propose a classification framework that characterizes existing RIA testing techniques from four different perspectives. Driven by this classification, we present a set of testing techniques that can be used for automatically and semi-automatically generating test cases, for executing them and evaluating their results. Some examples of applying the proposed techniques for testing real Ajax applications will also be shown in the paper.
Thanks to Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity, the user experience in the Web 2.0 is becoming more and more appealing and user-friendly. The dynamic nature of RIAs and the heterogeneous technologies, frameworks, communication models used for implementing them negatively affect their analyzability and understandability. Consequently, specific software techniques and tools are needed for supporting RIA comprehension. This paper presents DynaRIA, a tool for the comprehension of RIAs implemented in Ajax that is based on dynamic analysis. It provides functionalities for recording and analyzing user sessions from several perspectives, and for producing various types of abstractions and visualizations about the run-time behavior of the application. In order to evaluate this tool, four case studies involving different comprehension tasks of Ajax applications have been executed. The experimental results showed the usefulness and effectiveness of the tool that provided a valid support for Ajax comprehension in reverse engineering, debugging, testing and quality assessment contexts.
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
As mobile applications become more complex, specific development tools and frameworks as well as cost-effective testing techniques and tools will be essential to assure the development of secure, high-quality mobile applications.
This paper addresses the problem of automatic testing of mobile applications developed for the Google Android platform, and presents a technique for rapid crash testing and regression testing of Android applications. The technique is based on a crawler that automatically builds a model of the application GUI and obtains test cases that can be automatically executed. The technique is supported by a tool for both crawling the application and generating the test cases. In the paper we present an example of using the technique and the tool for testing a real small size Android application that preliminary shows the effectiveness and usability of the proposed testing approach.
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
The relevance of end user documentation for improving usability, learnability and operability of software applications is well known. However, software processes often devote little effort to the production of end user documentation due to budget and time constraints, or leave it not up-to-date as new versions of the application are produced. In particular, in the field of Web applications, due to their quick release time and the rapid evolution, end user documentation is often lacking, or it is incomplete and of poor quality. In this paper a semi-automatic approach for user documentation generation of Web 2.0 applications is presented. The approach exploits dynamic analysis techniques for capturing the user visible behaviour of a web application and, hence, producing end user documentation compliant with known standards and guidelines for software user documentation. A suite of tools support the approach by providing facilities for collecting user session traces associated with use case scenarios offered by the Web application, for abstracting a Navigation Graph of the application, and for generating tutorials and procedure descriptions. The obtained documentation is provided in textual and hypertextual formats. In order to show the feasibility and usefulness of the approach, an example of generating the user documentation for an existing Web application is presented in the paper.
Considering Context Events in Event-Based Testing of Mobile Applications Porfirio Tramontana
A relevant complexity factor in developing and testing mobile apps is given by their sensibility to changes in the context in which they run. As an example, apps running on a smartphone can be influenced by location changes, phone calls, device movements and many other typologies of context events.
In this paper, we address the problem of testing a mobile app as an event-driven system by taking into account both context events and GUI events. We present approaches based on the definition of reusable event patterns for the manual and automatic generation of test cases for mobile app testing.
One of the proposed testing techniques, based on a systematic and automatic exploration of the behaviour of an Android app, has been implemented and some preliminary case studies on real apps have been carried out in order to explore their effectiveness.
As mobile applications become more complex and business-critical, use of well-defined software engineering techniques becomes essential to assure the necessary software quality. In particular, testing and its automation play a strategic part for assuring the quality of applications that are often developed by small teams, working on strict timelines and under the pressure of short time-to-market. This paper presents an automated GUI based testing technique for Android apps. The technique is based on a ripper that automatically explores the GUI with the aim of exercising the application and revealing run-time crashes. At the same time, the ripper builds a GUI model and an executable test suite based on the JUnit test framework. The technique has been evaluated by an experiment where the ripper has been used to test a real Android application. The experiment has shown the fault-detection capability of the technique and its cost-effectiveness in smoke testing processes.
This paper presents a toolset for GUI testing of Android applications. The toolset is centered on a GUI ripper that systematically explores the GUI structure of an application under test with the aim of firing sequences of user events and exposing failures of the application. The toolset supports the execution of a testing procedure that automatically performs crash testing of subject applications and provides test results made of several artifacts. The paper illustrates some examples of using the toolset for testing real Android applications.
Thanks to Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity, the user experience in the Web 2.0 is becoming more and more appealing and user-friendly. The dynamic nature of RIAs and the heterogeneous technologies, frameworks, communication models used for implementing them negatively affect their analyzability and understandability. Consequently, specific software techniques and tools are needed for supporting RIA comprehension. This paper presents DynaRIA, a tool for the comprehension of RIAs implemented in Ajax that is based on dynamic analysis. It provides functionalities for recording and analyzing user sessions from several perspectives, and for producing various types of abstractions and visualizations about the run-time behavior of the application. In order to evaluate this tool, four case studies involving different comprehension tasks of Ajax applications have been executed. The experimental results showed the usefulness and effectiveness of the tool that provided a valid support for Ajax comprehension in reverse engineering, debugging, testing and quality assessment contexts.
Rich Internet Application Testing Using Execution Trace Data Porfirio Tramontana
The rapid and growing diffusion of Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity is sharpening the distance between Web applications and desktop applications, making the Web experience more and more appealing and user-friendly. This paper presents a technique for testing RIAs that generates test cases from application execution traces, and obtains more scalable test suites thanks to testing reduction techniques. Execution traces provide a fast and cheap way for generating test cases and can be obtained either from user sessions, or by crawling the application or by combining both approaches. The proposed technique has been evaluated by a preliminary experiment that investigated the effectiveness of different approaches for execution trace collection and of several criteria for reducing the test suites. The experimental results showed the feasibility of the technique and that its effectiveness can be improved by hybrid approaches that combine both manually and automatically obtained execution traces of the application.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
WARE: a tool for the Reverse Engineering of Web Applications
1. WARE: a tool for the Reverse
Engineering of Web Applications
Anna Rita Fasolino
G. A. Di Lucca, F. Pace, P. Tramontana, U. De Carlini
Dipartimento di Informatica e Sistemistica
University of Naples Federico II, Italy
CSMR 2002, Budapest, Hungary
1
2. Web Applications (WA):
problems and open issues
• The pressing market demand of web applications
– WAs developed in very short time
• The continuously changing needs of the evolving
application domains
– WAs frequently and rapidly modified with ad hoc approaches
• The lack of method in producing and maintaining
Web applications
– low quality software, with disordered architecture, and
inadequate and incomplete documentation
CSMR 2002, Budapest, Hungary
2
3. Web applications: a recent classification
• Class 1: primarily static web sites
• Class 2: sites providing client-side interaction
– Based on an event model exploiting some script code
• Class 3: applications with dynamic content
– Pages are dynamically created on the fly, with the support of
various WWW rechnologies (CGI, JSP, PHP, Javascript,
XML, ODBC,…ASP,… )
Tilley and Huang, ICSE 2001
CSMR 2002, Budapest, Hungary
3
4. Dynamic web applications
• Due to the large number of employed technologies,
understanding, maintaining and evolving a Class 3
application is a complex task
• The need for specific Reverse Engineering
techniques and processes to recover:
– Static and dynamic aspects of the applications
– Suitable representation models
• The need for reverse engineering tools that support
the extraction and the abstraction of the needed
information from a WA
CSMR 2002, Budapest, Hungary
4
5. Reverse engineering Web Applications
• A reverse engineering process to recover the
following views:
– The static architecture of the WA
– The dynamic interactions between its components
– The final behavior offered
• Extended UML diagrams to represent these views
– Class diagrams to model the architecture
– Sequence and Collaboration diagrams to represent the
dynamic model
– Use case diagrams to describe the behavior of the WA
CSMR 2002, Budapest, Hungary
5
6. The Reverse Engineering process
STATIC Components and
Web Application Direct Relations
ANALYSIS
Source Code between them
BEHAVIORAL Behavioral
ANALYSIS Model
DYNAMIC Dynamic Interactions
WA in ANALYSIS between Components
Execution
CSMR 2002, Budapest, Hungary
6
7. Views obtainable by static analysis
• A coarse grained view:
– Web pages and Hypertextual links between pages :
– Pages are distinguished into server and client pages, static and
dynamic pages, simple and framed pages
• A finer grained view:
– inner page components and relationships
– input/output form, text box, anchors, scripts, applets, text, images,
multimedia objects (sounds, movies), …...
– Page components may be active components (e.g.,scripts or
applets)
– The relationships include: submit, build, redirect, include
• A UML class diagram representing both views
CSMR 2002, Budapest, Hungary
7
9. The WARE tool
• Designed to support the reverse engineering of a WA
– executes the static analysis of the WA source code
– populates a repository with the extracted information
– supports the user in abstracting the WA models
• Three main components:
– Interface Layer
– Service Layer
– Repository
CSMR 2002, Budapest, Hungary
9
10. Interface layer
Graphical Visualizer
WARE
GUI VCG Dotty RIGI
WARE
Architecture
Service Layer
Parsers
IRF Translator
HTML JS
WA ASP Query Executor
Source ….
Files VBS
UML Diagram
PHP Abstractor
Extractor Abstractor
IRF Diagrams
DBR Repository
CSMR 2002, Budapest, Hungary
10
11. The Service layer
• The Extractor component
– The Extractor parses the WA source code and produces an
Intermediate Representation Form (IRF)
– Several distinct parsers (for HTML, JavaScript, VBScript, ASP and
PHP technologies)
– New parsers can be added as the technology evolves
• The Abstractor component
– It implements abstraction operations necessary for reconstructing
the more abstract views of the WA
– It includes three main components
• A Translator that populates the relational database from the IRF
• A Query Executor that implements predefined queries over the
database
• The UML Diagram Abstractor that produces the class diagrams of a
WA at various degrees of detail and other relevant information
CSMR 2002, Budapest, Hungary
11
12. The conceptual schema of the Repository
Java Applet Media Flash Object Mail Address Other Object
Web Object redirect Server Class
Server Function
Client Function
Static Page Built Page redirect Server Script
Web Page
Session Variable
Client Script Parameter
Modify Tag Client Page
Server Page include Server Cookie
event
Anchor
Client Module HTML Tag
Interface Object
Download Hyperlink
Submits
Form
DB Interface Mail Interface Server File Interface Other Interface
Frameset
Generic File
Field
Select Button Textarea
Frame
source
CSMR 2002, Budapest, Hungary
12
13. The Interface Layer
• It provides the user interface for accessing the WARE
facilities:
– Reverse Engineering for parsing the WA and producing the
IRF
– Comprehension for executing comprehension-related
activities, such as exploring the inventory of the WA
components and their source code, computing the
reachability set of a component, creating clusters of related
components according to a given clustering criterion
– Query (Predefined query and Parametric query) for
activating the Abstractor’s functions, and graphically
visualizing the recovered information
CSMR 2002, Budapest, Hungary
13
14. Computation of
the Reachability
set of a WA
component
Figure 4.4 – b: WA Components reachable starting from a selected
component
Grouping the WA
components into
cohesive clusters
CSMR 2002, Budapest, Hungary
14
15. An experiment
• Carried out for assessing the adequacy of the tool functions in
supporting maintenance tasks
• The tool has been used to understand and redocument existing
WAs
• An example: A WA implementing a ‘Juridical Laboratory’
– 201 files, in 19 directories, sizing 4 Mbytes
– 55 Static Pages (55 HTML files in 10 directories)
– 19 Server Pages (19 ASP files in 4 directories)
– No design documentation available
• The WARE tool was preliminarly used to perform:
– The static analysis of the application, and for producing an
inventory of the WA components
CSMR 2002, Budapest, Hungary
15
16. First step: the static analysis
• Main results:
– The population of the repository automatically produced by
the tool
– The inventory of the WA components
– Graphical representations of the class diagram of the WA at
various degrees of detail
• Coarse-grained representations (including just the pages)
• Fine-grained representation (including inner page components)
CSMR 2002, Budapest, Hungary
16
17. The inventory of the WA components
Component type # Detected
Server page 19
Client Static page 55
Client Built page 14
External web page 3
Client script block 53
Function in Client script block 19
Form 11
Input/ output field 71
Submit Operation (POST method) 4
Submit Operation (GET method) 7
Anchor to files to be downloaded 111
Anchor to Hypertextual link 49
Data File 61
Server script block 76
Function in Server scripts 4
Database Interface Object 29
Mail Interface Object 3
Image file 65
Redirect operation in server 7
blocks
CSMR 2002, Budapest, Hungary
17
19. The second phase: formulating and validating
hypotheses about the WA behavior
• Driven by the graphical representations, notable sub-graphs
were looked for (isolated sub-graphs, sub-trees, strongly
connected components, …)
• A tentative hypothesis about the behavior implemented by each
sub-graph was formulated with the support of:
– the names of the components, their source code analysis, and by
tracing the application execution
• Hypotheses were validated by the source code execution
CSMR 2002, Budapest, Hungary
19
20. Results from the sub-graph analysis
• Four isolated sub-graphs
– Three small ones without static client pages
• Two of them implemented server-side functions for the web
administrator (management of the mailing list, and of the
registered users list)
• The third one resulted from an incorrectly made maintenance
operation
– A large one, rooted in the home page
• Nine user functions could be associated with nine notable sub-
graphs contained in it
CSMR 2002, Budapest, Hungary
20
21. The sub-graphs in the WA class diagram
Professional Yellow Pages
Mailing List
Judicial
Proceedings
Judicial
Case
News Studies
Home
Web Searching
Chat
Forum
About
CSMR 2002, Budapest, Hungary
21
22. Modeling the WA behavior
About
• A use case was defined and
associated with each notable
News
Home
sub-graph
Judicial Case Studies
• The scenarios describing the
use cases were defined with
User
Judicial Proceedings
the support of the tool (the
interactions between objects
Web Searching
Professionals Yellow Pages involved in the sub-graph
Registered User
WA Administrator were searched for and
Forum Mailing List analyzed)
Chat
CSMR 2002, Budapest, Hungary
22
23. Modeling the WA dynamic view
CSMR 2002, Budapest, Hungary
23
24. Conclusions
• The experiments we carried out showed that the
reverse engineering tool WARE can be used to
support the comprehension of Web Applications to be
maintained
• It supports the reconstruction of various UML
diagrams from undocumented applications:
– Static views are automatically produced by the tool
– Behavioral and dynamic views can be semi-automatically
obtained with the tool assistance
• A reverse engineering process based on the WARE
tool could be defined
CSMR 2002, Budapest, Hungary
24
25. Future work
• Specific clustering criteria may support a more
effective analysis of the class diagrams recovered by
the tool
• A clustering approach should take into account both
the topology of the graphs, and the typology of the
connections in the graph
• The automatic clustering of Was will be investigated
in the context of large size web applications
CSMR 2002, Budapest, Hungary
25