Network


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

Hotspot


Dive into the research topics where Michele Risi is active.

Publication


Featured researches published by Michele Risi.


Journal of Systems and Software | 2009

Design pattern recovery through visual language parsing and source code analysis

Andrea De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

In this paper we propose an approach for recovering structural design patterns from object-oriented source code. The recovery process is organized in two phases. In the first phase, the design pattern instances are identified at a coarse-grained level by considering the design structure only and exploiting a parsing technique used for visual language recognition. Then, the identified candidate patterns are validated by a fine-grained source code analysis phase. The recognition process is supported by a tool, namely design pattern recovery environment, which allowed us to assess the retrieval effectiveness of the proposed approach on six public-domain programs and libraries.


conference on software maintenance and reengineering | 2005

Design pattern recovery by visual language parsing

Gennaro Costagliola; A. De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

We propose an object oriented (OO) design pattern recovery approach which makes use of a design pattern library, expressed in terms of visual grammars, and based on a visual language parsing technique. We also present a visual environment, which supports the pattern recognition process by automatically retrieving design patterns from imported UML class diagrams. The visual environment has been automatically generated through the VLDesk system, starting from a description of the design pattern grammar.


conference on software maintenance and reengineering | 2010

Improving Behavioral Design Pattern Detection through Model Checking

Andrea De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

Recovering design pattern instances in a software system can help maintainers to understand its design and implementation. In this paper we present a fully automated design pattern recovery approach that analyzes the behavior of pattern instances both statically and dynamically. In particular, the proposed approach exploits model checking to statically verify the behavioral aspects of design pattern instances. To this end, we encode the properties defining the correct behavior of a pattern as LTL (Linear Temporal Logic) formulae and the sequence diagram representing the possible interaction traces among the objects involved in the candidate instances as PROMELA specifications. To verify whether the LTL properties are satisfied by the candidates we employ the SPIN model checking tool. The dynamic analysis of the pattern behavior is performed through a code instrumentation and monitoring phase applied on the candidate pattern instances. This phase allows us to obtain actual dynamic data during program execution, which is then used to verify its compliance to the pattern definition. The effectiveness of the proposed approach is shown by presenting and discussing the results obtained on JHotDraw and JRefactory.


conference on software maintenance and reengineering | 2009

Behavioral Pattern Identification through Visual Language Parsing and Code Instrumentation

Andrea De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

In this paper we present a new technique able to recover behavioral design pattern instances which combines static analysis, based on visual language parsing, with dynamic analysis, based on source code instrumentation. In particular, the dynamic analysis is performed through the automatic instrumentation of the method calls involved in the candidate pattern instances identified during static analysis. The results obtained from a program monitoring activity are matched against the definitions of the pattern behaviors expressed in terms of monitoring grammars. We also present and discuss the results of a case study on JHotDraw 5.1 software library performed to assess the retrieval effectiveness of the proposed approach.


symposium on visual languages and human-centric computing | 2004

A Parsing Technique for Sketch Recognition Systems

Gennaro Costagliola; Vincenzo Deufemia; Giuseppe Polese; Michele Risi

Several disciplines require the support of computer-based tools for creating sketches during early design phases. Unfortunately, most computer programs cannot parse and semantically interpret handwritten sketches. In this paper, we present a framework for modeling sketch languages and for generating parsers to recognize them. The underlying parsing technique addresses the issues of stroke clustering and ambiguity resolution in sketches. We also present a workbench supporting the presented framework


international symposium on end-user development | 2011

MicroApps development on mobile phones

Stefania Cuccurullo; Rita Francese; Michele Risi; Genoveffa Tortora

The definition of an approach supporting an End-User in the development of mobile applications is a hard task because of the characteristics and the limitations of mobile device interfaces. In this paper we present an approach and a tool to enable End-Users to visually compose their own applications directly on their mobile phone. To this aim, a touchable interface and an ad-hoc visual language have been developed, enabling the user to compose simple focused applications, named MicroApps. The user has not in charge the creation of the user interface that is automatically generated.


conference on software maintenance and reengineering | 2007

A Two Phase Approach to Design Pattern Recovery

A. De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

In this paper we present a two phase approach to the recovery of structural design pattern. In the first phase, the design pattern instances are identified at a course-grained level by considering the design structure only and using a visual language parsing technique. Then, the identified candidate patterns are validated by a fine-grained source code analysis phase. The latter phase is an enhancement of a previous approach developed by the authors aiming at improving the results of precision and time performances. The retrieval effectiveness of the approach is assessed by applying the recovery technique on four software systems


Pattern Recognition | 2014

Sketched symbol recognition using Latent-Dynamic Conditional Random Fields and distance-based clustering

Vincenzo Deufemia; Michele Risi; Genoveffa Tortora

In this paper we propose a two-stage method for recognizing sketched symbols that combine the use of a discriminative model, for labeling symbol strokes and a distance-based clustering algorithm, for grouping the labels belonging to the same symbol. In the first stage, we employ Latent-Dynamic Conditional Random Field (LDCRF), a discriminative model able to analyze the features of unsegmented sequences of strokes by taking into account spatio-temporal information, and to classify the symbol parts by considering contextual information. In the second stage, the labels obtained from LDCRF are grouped into symbol labels by using a distance-based clustering algorithm which takes into account the geometric relationships among strokes. The effectiveness of our method has been evaluated on the domain of electric circuit diagrams achieving accuracy values varying between 81.3% and 91.0%. HighlightsA two stage methodology for the recognition of sketched symbols is proposed.The approach combines a discriminative graphical model and a clustering algorithm.The LDCRF model is applied to the domain of sketched symbol recognition.A complete evaluation of the approach in the electric circuit domain is provided.The achieved performance is compared with that of a baseline system.


conference on software maintenance and reengineering | 2006

Case studies of visual language based design patterns recovery

Gennaro Costagliola; A. De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

In this paper, we present case studies of recovering structural design patterns from object-oriented source code. The proposed recovery technique is based on the use of visual language parsing techniques, and is supported by a visual environment automatically produced by a grammar based visual environment generator. We have applied the recovery technique to public-domain programs and libraries obtaining encouraging results. In particular, for the considered software our recovery approach is characterized by higher recall and precision values with respect to other recovery techniques


international conference on software maintenance | 2010

An Eclipse plug-in for the detection of design pattern instances through static and dynamic analysis

Andrea De Lucia; Vincenzo Deufemia; Carmine Gravino; Michele Risi

The extraction of design pattern information from software systems can provide conspicuous insight to software engineers on the software structure and its internal characteristics. In this demonstration we present ePAD, an Eclipse plug-in for recovering design pattern instances from object-oriented source code. The tool is able to recover design pattern instances through a structural analysis performed on a data model extracted from source code, and a behavioral analysis performed through the instrumentation and the monitoring of the software system. ePAD is fully configurable since it allows software engineers to customize the design pattern recovery rules and the layout used for the visualization of the recovered instances.

Collaboration


Dive into the Michele Risi's collaboration.

Top Co-Authors

Avatar

Genoveffa Tortora

Information Technology University

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

Genoveffa Tortora

Information Technology University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Damiano Distante

Sapienza University of Rome

View shared research outputs
Researchain Logo
Decentralizing Knowledge