Information Technology Reference
In-Depth Information
Using Machine Learning and Information
Retrieval Techniques to Improve Software
Maintainability
Anna Corazza 1 ,SergioDiMartino 1 , Valerio Maggio 1 ,
Alessandro Moschitti 2 , Andrea Passerini 2 ,
Giuseppe Scanniello 3 , and Fabrizio Silvestri 4
1 University of Naples “Federico II”, Italy
2 University of Trento, Italy
3 University of Basilicata, Italy
4 ISTI Institute - CNR, Italy
Abstract. In this paper, we investigate some ideas based on Machine
Learning, Natural Language Processing, and Information Retrieval to
outline possible research directions in the field of software architecture
recovery and clone detection. In particular, after presenting an extensive
related work, we illustrate two proposals for addressing these two issues,
that represent hot topics in the field of Software Maintenance. Both
proposals use Kernel Methods for exploiting structural representation of
source code and to automate the detection of clones and the recovery of
the actually implemented architecture in a subject software system.
Keywords: Information Retrieval, Natural Language Processing, Ma-
chine Learning, Software Maintenance and Evolution.
1
Introduction
Software maintenance is an essential step in the evolution of software systems and
represents one of the most expensive, time consuming, and challenging phases
of the whole development process. As declared in Lehman's laws of Software
Evolution [31], a software system must be continuously adapted during its overall
life cycle or it progressively becomes less satisfactory ( Lehman's first law ). Thus,
as software applications are doomed to evolve and grow [13], all of the applied
changes and adaptations inevitably reduce their quality ( Lehman's second law ).
According to Garlan [18], architectural information represents an important
resource for software maintainers to aid the comprehension, the analysis, and
the maintenance of large and complex systems. In fact, software architectures
The research described in this paper has been partially supported by the European
Community's Seventh Framework Programme (FP7/2007-2013) under the grants
#247758: EternalS - Trustworthy Eternal Systems via Evolving Software, Data
and Knowledge, and #288024: LiMoSINe - Linguistically Motivated Semantic ag-
gregation engiNes.
 
Search WWH ::




Custom Search