Clustering Sample Programs for Software Componentization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information processing systems face challenges in efficiently identifying suitable software components from a large number of sample programs due to the generation of multiple classification results with varying numbers of clusters, making it burdensome to determine which clusters are suitable for software componentization.

Innovation Solution

An information processing apparatus that performs clustering of sample programs based on features and execution performances, calculates evaluation values for each cluster, and selects the most suitable clustering result to streamline the creation of software components by identifying clusters with high reusability and utility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple clustering results with varying numbers of clusters are generated to classify sample programs, then the classification comprehensiveness is improved, but the complexity of determining suitable clusters for software componentization increases

Engineering Contradiction:
Improveclassification comprehensivenessVSAvoidcomplexity of determining suitable clusters
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system automatically calculates evaluation values for each cluster based on reusability indices and execution performances, and autonomously selects the most suitable clustering result without requiring manual analysis. The information processing apparatus performs self-evaluation and self-selection of optimal clusters, eliminating the burden on users to manually determine suitable clusters from multiple clustering results.

Inventive Principle:
Principle #25Self-service

2Reliability

If multiple clustering results are generated to ensure high reusability of software components, then the quality of software components is improved, but the processing time and computational load increase

Engineering Contradiction:
Improvereusability of software componentsVSAvoidprocessing time for cluster evaluation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-calculates and stores reusability indices and execution performances for each sample program before clustering. These preliminary computed values are then reused during the evaluation of multiple clustering results, avoiding redundant computations and reducing the time required to assess different clustering configurations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system evaluates multiple clustering results by changing the number of clusters parameter and selecting the configuration that optimizes the balance between reusability and execution performance. By systematically varying this parameter and using automated evaluation, the system efficiently identifies the optimal clustering configuration without exhaustive manual analysis.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated evaluation and selection of clustering results is implemented, then the productivity of software component creation is improved, but the computational complexity of the system increases

Engineering Contradiction:
Improvesoftware component creation efficiencyVSAvoidcomputational complexity of evaluation system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The evaluation process is segmented into distinct components: calculating reusability indices for each cluster, computing execution performances, determining evaluation values based on both metrics, and selecting the optimal clustering result. This segmentation allows each component to be handled independently and efficiently, reducing overall computational complexity while maintaining automated productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240211494A1Information processing method and information processing apparatus
Publication Date: 2024.06.27 FUJITSU LTD
  • US20240211494A1 patent drawing
  • US20240211494A1 patent drawing
  • US20240211494A1 patent drawing

AI summary

A computer acquires a plurality of clustering results, each of which differs in the number of clusters, by performing clustering that classifies a plurality of sample programs into two or more clusters based on features associated with description and an execution performance of each sample program. The computer calculates, for each of the two or more clusters in each of the clustering results, a first evaluation value based on an index value for reusability of sample programs included in the cluster and the execution performances of the sample programs. The computer calculates, for each of the clustering results, a second evaluation value based on two or more of the first evaluation values corresponding to the two or more clusters. The computer selects, based on the second evaluation values corresponding to the clustering results, one clustering result amongst the multiple clustering results.