- Software Engineering Research
- Advanced Software Engineering Methodologies
- Service-Oriented Architecture and Web Services
- Web Applications and Data Management
- Software Testing and Debugging Techniques
- Software Reliability and Analysis Research
- Model-Driven Software Engineering Techniques
- Software Engineering Techniques and Practices
- Software System Performance and Reliability
- Web Data Mining and Analysis
- Mobile and Web Applications
- Web Application Security Vulnerabilities
- Business Process Modeling and Analysis
- Advanced Database Systems and Queries
- Open Source Software Innovations
- Advanced Malware Detection Techniques
- Manufacturing Process and Optimization
- Fault Detection and Control Systems
- Blockchain Technology Applications and Security
- Parallel Computing and Optimization Techniques
- Advanced Computational Techniques and Applications
- Scientific Computing and Data Management
- Distributed and Parallel Computing Systems
- FinTech, Crowdfunding, Digital Finance
- Digital Accessibility for Disabilities
University of Sannio
2011-2021
Shanghai University of Electric Power
2010
TU Dortmund University
2010
Software (Spain)
2004-2007
University of Naples Federico II
1996-2003
Gestione Sistemi per l’Informatica (Italy)
2003
Istituto Nazionale Tumori IRCCS "Fondazione G. Pascale"
1985
The rapid diffusion of Internet and open standard technologies is producing a significant growth the demand Web sites applications with more strict requirements usability, reliability, interoperability security. While several methodological technological proposals for developing are coining both from industry academia, there general lack methods tools to carry out key processes that significantly impact quality application (WA), such as validation & verification (V&V), assurance. Some issues...
A relevant consequence of the expansion web and e-commerce is growth demand new sites applications. As a result, applications are usually developed without formalized process, pages directly coded in an incremental way, where obtained by duplicating existing ones. Duplicated pages, having same structure just differing for data they include, can be considered as clones. The identification clones may reduce effort devoted to test, maintain evolve Moreover, clone detection among different aims...
When a software system critical for an organization exhibits problem during its operation, it is relevant to fix in short period of time, avoid serious economical losses. The therefore noticed by the charge maintenance, and should be correctly quickly dispatched right maintenance team. We propose automatically classify incoming requests (also said tickets), routing them specialized teams. final goal develop router working around clock, that, without human intervention, dispatches tickets...
Abstract The rapid, progressive diffusion of Web applications in several productive contexts our modern society is laying the foundations a renewed scenario software development, where one emerging problems that defining and validating cost‐effective approaches for maintaining evolving these systems. Due to factors, solution this problem not straightforward. heterogeneous dynamic nature components making up application, lack effective programming mechanisms implementing basic engineering...
The development of Web sites and applications is increasing dramatically to satisfy the market requests. software industry facing new demand under pressure a very short time-to-market an extremely high competition. As result, are usually developed without disciplined process: directly coded no, or poor, documentation produced support subsequent maintenance evolution activities, thus compromising quality applications. This paper presents tool for reverse engineering UML diagrams used model...
This paper presents algorithms for isolating reusable functions in large monolithic programs. The to be isolated are specified terms of either pre-conditions or binding conditions, and these mapped onto predicates on program's variables. Code components whose execution is triggered and/or bound by then isolated. Each component a candidate implement function. exploit representation the subject program form dependence graph. work forms part RE/sup 2/, research project that addresses wider...
Cross site scripting (XSS) is a vulnerability of Web application that essentially caused by the failure to check up on user input before returning it client's browser. Without an adequate validation, may include malicious code be sent other clients and unexpectedly executed their browsers, thus causing security attack. Techniques prevent this type attacks require all must checked filtered, encoded, or validated sending them any user. In order discover XSS vulnerabilities in application,...
Presents an approach to migrate legacy systems object-oriented platforms. The process consists of six sequential phases and encompasses reverse engineering re-engineering activities. aim the is decompose programs into components implementing user interface management application domain objects. identification objects centred around a persistent data store exploits design metrics. Wrapping techniques are core They make new able exploit existing resources, thus allowing incremental selective...
We present an approach based on queuing theory and stochastic simulation to help planning, managing, controlling the project staffing resulting service level in distributed multiphase maintenance processes. Data from a Y2K massive intervention large COBOL/JCL financial software system were used simulate study different center configurations for geographically project. In particular, monolithic configuration corresponding customer's point-of-view more fine-grained configurations, accounting...
The number and complexity of Web applications are increasing dramatically to satisfy market needs, the need effective approaches for comprehending them is growing accordingly. Recently, reverse engineering methods tools have been proposed support comprehension a application; information recovered by these usually rendered in graphical representations. However, representations become progressively less useful with large-scale applications, do not adequately application. To overcome this...
As Web applications evolve, their structure may become more and complex. Thus, systematic approaches/methods for application testing are needed. Existing methods take into consideration only those actions/events the user is prompted by itself, such as selection of a hypertextual link or submission data contained in form. However, these do not consider also provided browser, usage backward forward buttons, that some cases produce navigation inconsistencies. This paper proposes an approach to...
Knowledge about design pattern (DP) instances improves program comprehension and reengineering of object-oriented systems. Effectively, it helps to discover developer decisions trade-offs that often are not documented. This work describes an approach automatically detect DPs in existing systems by tracing systems' source code components with the roles they play patterns. In proposed approach, modeled based on their high-level structural properties (e.g., inheritance, dependency, invocation,...
The growth of the video game market, large proportion games targeting mobile devices or streaming services, and increasing complexity trigger availability game-specific tools to assess performance maintainability problems. This paper proposes UnityLinter, a static analysis tool that supports Unity developers detect seven types bad smells we have identified as relevant in development. Such smell pertain performance, incorrect behavior After having defined by analyzing existing literature...
The new possibilities offered by WEB applications are pervasively and radically changing several areas. applications, compared to sites, offer substantially greater opportunities: a application provides the user with means modify site status. must cope an extremely short development/evolution life cycle. Usually, they implemented without producing any useful documentation for subsequent maintenance evolution, thus compromising desired high level of flexibility, maintainability, adaptability...
Developers working on related artifacts often communicate each other to coordinate their changes and make others aware of changes. When such a communication does not occur, this could create misunderstanding cause the introduction bugs. This paper investigates how level between committers relates proneness introduce faults. is done by identifying likely responsible bug-introducing changes, comparing-through social network measures-characteristics with characteristics committers. We report...
Use case models describe the behavior of a software system from user's perspective. This paper presents reverse engineering approach for recovering use model object-oriented code. The identifies cases by analyzing class method activation sequences triggered input events and terminated output events. produces structured including diagrams at various levels abstraction, comprising actors, cases, associations between actors relationships among cases. A study carried out to validate on C++...
We propose an approach to program decomposition as a preliminary step for the migration of legacy systems. A slicing algorithm is defined identify statements implementing user interface component. An interactive re-engineering tool also presented that supports software engineer in comprehension source code during program. The focus this paper on partition system, while issues related re-engineering, encapsulation, and wrapping components definition middleware layer through which they...
The growing diffusion of Web-based services in many and different business domains has triggered the need for new Web applications (WAs). pressing market demand imposes very short time development WAs, frequent modifications existing ones. Well-defined software processes methodologies are rarely adopted both maintenance phases. As a consequence, WAs' quality usually degrades terms architecture, documentation, maintainability. Major concerns regard difficulties estimating costs interventions....
Web applications are today becoming more and interactive dynamic: the pages rendered in a browser on client side can be dynamically built by server according to user inputs or requests. Moreover, even pieces of code (e.g., client-side scripts) generated. The comprehension such applications, needed effectively perform maintenance testing, may very hard. Indeed, for highly dynamic static analysis is likely give only an imprecise approximate picture, thus, also required gain proper...
In this paper an approach to automatically detect Design Patterns (DPs) in Object Oriented systems is presented. It allows link system's source code components the roles they play each pattern. DPs are modelled by high level structural properties (e.g. inheritance, dependency, invocation, delegation, type nesting and membership relationships) that checked against system structure components. The proposed metamodel also define DP variants, overriding of existing models, improve detection...
We present an approach to decomposing legacy systems written in procedural languages into objects. The identification of the objects is centred around persistent data scores, such as files or tables database, while programs and subroutines are candidate implement object methods. proposed for assigning methods exploits oriented design metrics. rationale behind this choice that any decomposition a system should not lead poor design, would make reengineered more difficult maintain.
In this paper, a reverse engineering approach for reconstructing UML diagrams at business level of the application domain Web is presented. particular, allows reconstruction class diagram providing an object-oriented conceptual model domain, sequence modeling interactions among identified objects and use case user functionalities provided by Application. Heuristic criteria exploiting source code analysis are used recovering diagrams. Tools implementing these have been produced, experiments...