The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current a...The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.展开更多
Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detecti...Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.展开更多
Various code development platforms, such as the ATHENA Framework [1] of the ATLAS [2] experiment encounter lengthy compilation/linking times. To augment this situation, the IRIS Development Platform was built as a sof...Various code development platforms, such as the ATHENA Framework [1] of the ATLAS [2] experiment encounter lengthy compilation/linking times. To augment this situation, the IRIS Development Platform was built as a software development framework acting as compiler, cross-project linker and data fetcher, which allow hot-swaps in order to compare various versions of software under test. The flexibility fostered by IRIS allowed modular exchange of software libraries among developers, making it a powerful development tool. The IRIS platform used input data ROOT-ntuples [3];however a new data model is sought, in line with the facilities offered by IRIS. The schematic of a possible new data structuring—as a user implemented object oriented data base, is presented.展开更多
The quality element of a design class is important as it has a substantial listed influence on overall required quality of the software. The complexity and lengthy codes of program severely affect several quality meas...The quality element of a design class is important as it has a substantial listed influence on overall required quality of the software. The complexity and lengthy codes of program severely affect several quality measures, especially efficiency of the final delivered software. This paper does an appropriate review on efficiency of object oriented software, and suggests some relevant information about class design level efficiency. Program efficiency is an important factor to software quality. Moreover, if software efficiency analysis has been done in the early steps of the software creation process then it assures as a criterion to software quality. This article proposes a comprehensive research idea for estimation of the efficiency index. Subsequently, it does an extremely methodical review on design efficiency of software. After that, a design metric based efficiency estimation model at the design time has been proposed by creating the link between design properties of the program and efficiency criteria. Furthermore, the correlation is mapped among all with the help of statistical values for selected design properties and efficiency criteria. In addition, efficiency estimation model is empirically validated with try-out data.展开更多
Various software development approaches in the present scenario are best suited for a specific application. The software development strategies include both merits and demerits when talked in terms of generalization. ...Various software development approaches in the present scenario are best suited for a specific application. The software development strategies include both merits and demerits when talked in terms of generalization. The Model Driven Architecture (MDA) describes software development based on models on various levels of abstraction. The model driven software development process consists of sequence of model transformations between various models. This paper presents incorporation of the merits of Aspect Oriented Software Development (AOSD) like modularization, reusability and reduced complexity into Model Driven Architecture (MDA) software development strategy. The proposed Model Driven Software Development approach which combines the merits of MDA and AOSD meets the ever changing and challenging demand of the enterprise software development.展开更多
There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to tak...There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.展开更多
文摘The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.
文摘Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.
文摘Various code development platforms, such as the ATHENA Framework [1] of the ATLAS [2] experiment encounter lengthy compilation/linking times. To augment this situation, the IRIS Development Platform was built as a software development framework acting as compiler, cross-project linker and data fetcher, which allow hot-swaps in order to compare various versions of software under test. The flexibility fostered by IRIS allowed modular exchange of software libraries among developers, making it a powerful development tool. The IRIS platform used input data ROOT-ntuples [3];however a new data model is sought, in line with the facilities offered by IRIS. The schematic of a possible new data structuring—as a user implemented object oriented data base, is presented.
文摘The quality element of a design class is important as it has a substantial listed influence on overall required quality of the software. The complexity and lengthy codes of program severely affect several quality measures, especially efficiency of the final delivered software. This paper does an appropriate review on efficiency of object oriented software, and suggests some relevant information about class design level efficiency. Program efficiency is an important factor to software quality. Moreover, if software efficiency analysis has been done in the early steps of the software creation process then it assures as a criterion to software quality. This article proposes a comprehensive research idea for estimation of the efficiency index. Subsequently, it does an extremely methodical review on design efficiency of software. After that, a design metric based efficiency estimation model at the design time has been proposed by creating the link between design properties of the program and efficiency criteria. Furthermore, the correlation is mapped among all with the help of statistical values for selected design properties and efficiency criteria. In addition, efficiency estimation model is empirically validated with try-out data.
文摘Various software development approaches in the present scenario are best suited for a specific application. The software development strategies include both merits and demerits when talked in terms of generalization. The Model Driven Architecture (MDA) describes software development based on models on various levels of abstraction. The model driven software development process consists of sequence of model transformations between various models. This paper presents incorporation of the merits of Aspect Oriented Software Development (AOSD) like modularization, reusability and reduced complexity into Model Driven Architecture (MDA) software development strategy. The proposed Model Driven Software Development approach which combines the merits of MDA and AOSD meets the ever changing and challenging demand of the enterprise software development.
文摘There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.