This work proposes a methodology for source code quality and static behaviour evaluation of a sof... more This work proposes a methodology for source code quality and static behaviour evaluation of a software system, based on the standard ISO/IEC-9126. It uses elements automatically derived from source code enhanced with expert knowledge in the form of quality characteristic rankings, allowing software engineers to assign weights to source code attributes. It is flexible in terms of the set of metrics and source code attributes employed, even in terms of the ISO/IEC-9126 characteristics to be assessed. We applied the methodology to two case studies, involving five open source and one proprietary system. Results demonstrated that the methodology can capture software quality trends and express expert perceptions concerning system quality in a quantitative and systematic manner.
This paper presents ongoing work on using data mining to evaluate a software system's maintainabi... more This paper presents ongoing work on using data mining to evaluate a software system's maintainability according to the ISO/IEC-9126 quality standard. More specifically it proposes a methodology for knowledge acquisition by integrating data from source code with the expertise of a software system's evaluators A process for the extraction of elements from source code and Analytical Hierarchical Processing for assigning weights to these data are provided; K-Means clustering is then applied on these data, in order to produce system overviews and deductions. The methodology is evaluated on Apache Geronimo, a large Open Source Application Server; results are discussed and conclusions are presented together with directions for future work.
Peer-to-Peer (P2P) data integration combines the P2P infrastructure with traditional scheme-based... more Peer-to-Peer (P2P) data integration combines the P2P infrastructure with traditional scheme-based data integration techniques. Some of the primary problems in this research area are the techniques to be used for querying, indexing and distributing documents among peers in a network especially when document files are in XML format. In order to handle this problem we describe an XML P2P system
Electronic Notes in Theoretical Computer Science, 2009
Abstract This paper presents ongoing work on using data mining clustering to support the evaluati... more Abstract This paper presents ongoing work on using data mining clustering to support the evaluation of software systems’ maintainability. As input for our analysis we employ software measurement,data extracted from Java source code. We propose a two-steps clustering process which facilitates the assessment of a system’s maintainability at rst, and subsequently an in-cluster analysis in order to study the evolution
2009 13th European Conference on Software Maintenance and Reengineering, 2009
The aim of the Code4Thought project was to deliver a tool supported methodology that would facili... more The aim of the Code4Thought project was to deliver a tool supported methodology that would facilitate the evaluation of a software product's quality according to ISO/IEC-9126 software engineering quality standard. It was a joint collaboration between Dynacomp S.A. and the Laboratory for Graphics, Multimedia and GIS of the Department of Computer Engineering and Informatics of the University of Patras. The Code4thought project focused its research on extending the ISO/IEC-9126 standard by employing additional metrics and developing new methods for facilitating system evaluators to define their own set of evaluation attributes. Furthermore, to develop innovative and platform-free methods for the extraction of elements and metrics from source code data. Finally, to design and implement new data mining algorithms tailored for the analysis of software engineering data.
Peer-to-Peer (P2P) data integration combines the P2P infrastructure with traditional scheme-based... more Peer-to-Peer (P2P) data integration combines the P2P infrastructure with traditional scheme-based data integration techniques. Some of the primary problems in this research area are the techniques to be used for querying, indexing and distributing documents among peers in a network especially when document files are in XML format. In order to handle this problem we describe an XML P2P system that efficiently distributes a set of clustered XML documents in a P2P network in order to speed-up user queries. The novelty of the proposed system lies in the efficient distribution of the XML documents and the construction of an appropriate virtual index on top of the network peers.
The World Wide Web has rapidly become the dominant Internet tool which has overwhelmed us with a ... more The World Wide Web has rapidly become the dominant Internet tool which has overwhelmed us with a combination of rich hypertext information, multimedia data and various resources of dynamic information. This evolution in conjunction with the immense ...
Information filtering systems constitute a critical component in modern information seeking appli... more Information filtering systems constitute a critical component in modern information seeking applications. As the number of users grows and the information available becomes even bigger it is imperative to employ scalable and efficient representation and filtering techniques. Typically the use of XML representation entails the profile representation with the use of the XPath query language and the employment of efficient heuristic techniques for constraining the complexity of the filtering mechanism. However, as the number of XML documents exchanged daily grows rapidly, the need for distributed management is becoming vital. In this paper we introduce the Distributed Bloom Filters and we propose a new distributed XML filtering system for peer-to-peer (P2P) networks. The major advantage of Distributed Bloom Filters, in comparison to the classical structure is their space efficiency and improved performance. The proposed system efficiently filters the incoming XML documents using a virtual index created on top of the network. In addition, the proposed system supports semantic disambiguation of both the stored user profiles and the XML documents, thus providing better matching results.
Clustering is a data analysis technique, particularly useful when there are many dimensions and l... more Clustering is a data analysis technique, particularly useful when there are many dimensions and little prior information about the data. Partitional clustering algorithms are efficient, but suffer from sensitivity to the initial partition and noise. We propose here k-Attractors, a partitional clustering algorithm tailored to numeric data analysis. As a pre-processing (initialization) step, it employs maximal frequent itemset discovery and partitioning to define the number of clusters k and the initial cluster "attractors". During its main phase the algorithm utilizes a distance measure, which is adapted with high precision to the way initial attractors are determined. We applied k-Attractors as well as k-Means, EM and FarthestFirst clustering algorithms to several datasets and compared results. Comparison favored k-Attractors in terms of convergence speed and cluster formation quality in most cases, as it outperforms these 3 algorithms except from cases of datasets with very small cardinality containing only a few frequent itemsets. On the downside, its initialization phase adds an overhead that can be deemed acceptable only when it contributes significantly to the algorithm's accuracy.
International Journal of Software Engineering & Applications, 2010
This work proposes a methodology for source code quality and static behaviour evaluation of a sof... more This work proposes a methodology for source code quality and static behaviour evaluation of a software system, based on the standard ISO/IEC-9126. It uses elements automatically derived from source code enhanced with expert knowledge in the form of quality characteristic rankings, allowing software engineers to assign weights to source code attributes. It is flexible in terms of the set of metrics and source code attributes employed, even in terms of the ISO/IEC-9126 characteristics to be assessed. We applied the methodology to two case studies, involving five open source and one proprietary system. Results demonstrated that the methodology can capture software quality trends and express expert perceptions concerning system quality in a quantitative and systematic manner.
Electronic Notes in Theoretical Computer Science, 2009
Abstract This paper presents ongoing work on using data mining clustering to support the evaluati... more Abstract This paper presents ongoing work on using data mining clustering to support the evaluation of software systems’ maintainability. As input for our analysis we employ software measurement,data extracted from Java source code. We propose a two-steps clustering process which facilitates the assessment of a system’s maintainability at rst, and subsequently an in-cluster analysis in order to study the evolution
Uploads
Papers by Nikos Tsirakis