Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Filippo Ricca is active.

Publication


Featured researches published by Filippo Ricca.


international conference on software engineering | 2001

Analysis and testing of Web applications

Filippo Ricca; Paolo Tonella

The economic relevance of Web applications increases the importance of controlling and improving their quality. Moreover, the newly available technologies for their development allow the insertion of sophisticated functions, but often leave the developers responsible for their organization and evolution. As a consequence, a high demand is emerging for methodologies and tools for the quality assurance of Web-based systems. In this paper, a UML model of Web applications is proposed for their high-level representation. Such a model is the starting point for several analyses, which can help in the assessment of the static site structure. Moreover, it drives Web application testing, in that it can be exploited to define white-box testing criteria and to semi-automatically generate the associated test cases. The proposed techniques were applied to several real-world Web applications. The results suggest that automatic support for verification and validation activities can be extremely beneficial. In fact, it guarantees that all paths in the site which satisfy a selected criterion are properly exercised before delivery. The high level of automation that is achieved in test case generation and execution increases the number of tests that are conducted and simplifies the regression checks.


international conference on software testing, verification, and validation | 2008

State-Based Testing of Ajax Web Applications

Alessandro Marchetto; Paolo Tonella; Filippo Ricca

Ajax supports the development of rich-client Web applications, by providing primitives for the execution of asynchronous requests and for the dynamic update of the page structure and content. Often, Ajax Web applications consist of a single page whose elements are updated in response to callbacks activated asynchronously by the user or by a server message. These features give rise to new kinds of faults that are hardly revealed by existing Web testing approaches. In this paper, we propose a novel state-based testing approach, specifically designed to exercise Ajax Web applications. The document object model (DOM) of the page manipulated by the Ajax code is abstracted into a state model. Callback executions triggered by asynchronous messages received from the Web server are associated with state transitions. Test cases are derived from the state model based on the notion of semantically interacting events. We evaluate the approach on a case study in terms of fault revealing capability. We also measure the amount of manual interventions involved in constructing and refining the model required by this approach.


IEEE MultiMedia | 2001

Understanding and restructuring Web sites with ReWeb

Filippo Ricca; Paolo Tonella

The authors investigated automatic and semiautomatic Web site analysis with our tool ReWeb, focusing on a sites architecture and evolution. A case study demonstrates how ReWeb addresses the need to support Web site maintenance and evolution while retaining and possibly improving quality. Although not definitive, the case study described confirms that an automatic or semiautomatic tool can help developers understand and maintain Web sites. High-level views, describing the overall site architecture, are very useful, and detailed analyses can help with a sites enclosed subparts. Specifically, we based restructuring on the reaching frames, dominators, and shortest path analyses. In fact, they highlight structural and navigation problems before restructuring and their absence after the intervention. We devote future work to improving the ReWebs robustness, widening the spectrum of analyzable sites, and enriching its set of analyses and facilities. We would also like to add abstraction techniques to support a high-level view of the site and to partially automate input selection in the presence of dynamic pages.


workshop on program comprehension | 2003

Using clustering to support the migration from static to dynamic web pages

Filippo Ricca; Paolo Tonella

Web sites of the first generation consist typically of a set of purely static Web pages. Content and presentation are not separated, and a same page structure is replicated every time a similar organization of the information is devised. Such a practice poses several problems to the evolution of these sites. It is not easy to update the content, and each time the HTML structure is modified, the same changes have to be propagated to all replications. In this paper, an approach is proposed for the identification of the Web pages that are more amenable to be migrated into a dynamic version, in that they share a similar structure, filled in with a content organized according to a common scheme. Clustering is used for this purpose: a common template is extracted from the pages in the same cluster and the variable information of the pages matching the template is migrated to a database. A server side program extracts the requested information from the data base, and generates dynamically the HTML pages to be displayed in the browser.


IEEE Transactions on Software Engineering | 2006

Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects

David W. Binkley; Mariano Ceccato; Mark Harman; Filippo Ricca; Paolo Tonella

Aspect-oriented programming (AOP) provides mechanisms for the separation of crosscutting concerns - functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often contain several crosscutting concerns which could not be modularized using traditional programming constructs. This paper presents an automated approach to the problem of migrating systems developed according to the object-oriented programming (OOP) paradigm into aspect-oriented programming (AOP). A simple set of six refactorings has been defined to transform OOP to AOP and has been implemented in the AOP-migrator tool, an Eclipse plug-in. A set of enabling transformations from OOP to OOP complement the initial set of refactorings. The paper presents the results of four case studies, which use the approach to migrate selected crosscutting concerns from medium-sized Java programs (in the range of 10K to 40K lines of code) into equivalent programs in AspectJ. The case study results show the feasibility of the migration and indicate the importance of the enabling transformations as a preprocessing step


international workshop on web site evolution | 2002

Dynamic model extraction and statistical analysis of Web applications

Paolo Tonella; Filippo Ricca

The World Wide Web, initially intended as a way to publish static hypertexts on the Internet, is moving toward complex applications. Static Web sites are gradually being replaced by dynamic sites, where information is stored in databases and nontrivial computation is performed. Reverse engineering of a model from an existing Web application is useful for its understanding and evolution. However, static analysis of its source code may be extremely difficult (and, in general, infeasible) because of the presence of dynamic generation of the HTML code that is part of the application under analysis. Moreover, static analysis requires the ability to process multiple languages. In this paper, a dynamic analysis technique is proposed for the extraction of a Web application model through its execution. The HTML code produced during execution on proper input values is subject to static analysis. Availability of statistical data about accesses to the pages produced by the Web application is exploited for statistical testing and analysis of the navigation habits of users. Anomalous behaviors can be detected and indicated for an improvement intervention.


international conference on software maintenance | 2005

Automated refactoring of object oriented code into aspects

David W. Binkley; Mariano Ceccato; Mark Harman; Filippo Ricca; Paolo Tonella

This paper presents a human-guided automated approach to refactoring object oriented programs to the aspect oriented paradigm. The approach is based upon the iterative application of four steps: discovery, enabling, selection, and refactoring. After discovering potentially applicable refactorings, the enabling step transforms the code to improve refactorability. During the selection phase the particular refactorings to apply are chosen. Finally, the refactoring phase transforms the code by moving the selected code to a new aspect. This paper presents the results of an evaluation in which one of the crosscutting concerns of a 40,000 LoC program (JHotDraw) is refactored.


international conference on software maintenance | 2001

Web application slicing

Filippo Ricca; Paolo Tonella

Program slicing revealed a useful way to limit the search of software defects during debugging and to better understand the decomposition of the application into computations. We propose to extend the extraction of slices to Web applications, in order to produce a reduced Web application which behaves as the original one with respect to some criterion, i.e., some displayed information of interest. After presenting the theoretical implications of applying slicing to Web applications, we demonstrate its usefulness with reference to an example, derived from a survey of a set of travel agency sites. Web application slicing helps to disclose relevant information and understand the internal system structure.


international workshop on web site evolution | 2003

Using keyword extraction for Web site clustering

Paolo Tonella; Filippo Ricca; Emanuele Pianta; Christian Girardi

Reverse engineering techniques have the potential to support Web site understanding, by providing views that show the organization of a site and its navigational structure. However, representing each Web page as a node in the diagrams that are recovered from the source code of a Web site leads often to huge and unreadable graphs. Moreover, since the level of connectivity is typically high, the edges in such graphs make the overall result still less usable. Clustering can be used to produce cohesive groups of pages that are displayed as a single node in reverse engineered diagrams. In this paper, we propose a clustering method based on the automatic extraction of the keywords of a Web page. The presence of common keywords is exploited to decide when it is appropriate to group pages together. A second usage of the keywords is in the automatic labeling of the recovered clusters of pages.


symposium on web systems evolution | 2004

A 2-layer model for the white-box testing of Web applications

Paolo Tonella; Filippo Ricca

White-box testing exercises a software system by ensuring that a model of the internal structure is covered by the test cases. Extending this approach to Web applications is far from obvious, because at least two abstraction levels can be considered to represent the internal structure of a Web application: the navigation model and the control flow model. To further complicate the matter, dynamic code generation must be taken into account in both models. In this paper, the two alternative models are presented and white-box testing criteria are defined on them. Their usage for the white-box testing of a real-world Web application is described, highlighting the associated costs and benefits.

Collaboration


Dive into the Filippo Ricca's collaboration.

Top Co-Authors

Avatar

Paolo Tonella

fondazione bruno kessler

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge