380 research outputs found
Proceedings of 11th Symposium on Programming Languages and Software Tools and 7th Nordic Workshop on Model Driven Software Engineering
Robert C. Martin presented a software metric for a set of classes i.e. a package. The objective of the package level metric is to identify poorly designed packages. The Martin's metric actually consists of eight metrics which measure a few different characteristics of packages. The metric is widely known, but there is lack of theoretical and empirical evaluation of the Martinâs metric. This paper evaluates the theoretical background of the metric against an evaluation framework and presents an experimental evaluation of ïŹve open-source software applications. The theoretical validation reveals a weakness in Martin's definition for cohesion. We propose a modification which is valid according to the evaluation framework.
 </div
IDENTIFICATION AND QUANTIFICATION OF VARIABILITY MEASURES AFFECTING CODE REUSABILITY IN OPEN SOURCE ENVIRONMENT
Open source software (OSS) is one of the emerging areas in software engineering, and
is gaining the interest of the software development community. OSS was started as a
movement, and for many years software developers contributed to it as their hobby
(non commercial purpose). Now, OSS components are being reused in CBSD
(commercial purpose). However, recently, the use of OSS in SPL is envisioned
recently by software engineering researchers, thus bringing it into a new arena. Being
an emerging research area, it demands exploratory study to explore the dimensions of
this phenomenon. Furthermore, there is a need to assess the reusability of OSS which
is the focal point of these disciplines (CBSE, SPL, and OSS). In this research, a mixed
method based approach is employed which is specifically 'partially mixed sequential
dominant study'. It involves both qualitative (interviews) and quantitative phases
(survey and experiment). During the qualitative phase seven respondents were
involved, sample size of survey was 396, and three experiments were conducted. The
main contribution of this study is results of exploration of the phenomenon 'reuse of
OSS in reuse intensive software development'. The findings include 7 categories and
39 dimensions. One of the dimension factors affecting reusability was carried to the
quantitative phase (survey and experiment). On basis of the findings, proposal for
reusability attribute model was presented at class and package level. Variability is one
of the newly identified attribute of reusability. A comprehensive theoretical analysis
of variability implementation mechanisms is conducted to propose metrics for its
assessment. The reusability attribute model is validated by statistical analysis of I 03
classes and 77 packages. An evolutionary reusability analysis of two open source
software was conducted, where different versions of software are analyzed for their
reusability. The results show a positive correlation between variability and reusability
at package level and validate the other identified attributes. The results would be
helpful to conduct further studies in this area
Zones of pain:Visualising the relationship between software architecture and defects
Substantial development time is devoted to software maintenance and testing. As development resources are usually finite, there is a risk that some components receive insufficient effort for thorough testing. Architectural complexity (e.g. tight coupling) can make effective testing particularly challenging. Software components with high architectural complexity are more likely be defectâprone. The aim of this study is to investigate the relationship between established architectural attributes and defectâproneness. We used the architectural attributes: abstractness, instability and distance to measure the architectural complexity of software components. We investigated the ability of these attributes to discriminate between defective and non-defective components on four open source systems. We visualised defectâproneness by plotting architectural complexity and defectiveness using Martinâs âZones of Painâ. Our results show that architecture has an inconsistent impact on defectâproneness. Some architecturally complex components seem immune to defects in some projects. In other projects architecturally complex components significantly suffer from defects. Where architectural complexity does increase defectâproneness the impact is strong. We recommend practitioners monitor the architectural complexity of their software components over time by visualising potential defectâproneness using Martinâs Zones of Pain
Kakas Bantu Penilaian Kopling Menggunakan Metrik Indirect Package Coupling Based On Responsibilty
Pesatnya kemajuan teknologi saat ini menyebabkan perlunya dilakukan
perawatan perangkat lunak secara rutin agar tetap relevan. Perawatan dapat lebih
mudah dilakukan terhadap perangkat lunak dengan kualitas rancangan yang baik.
Kualitas rancangan dapat diukur menggunakan metrik pengukur ketergantungan
antarmodul, yaitu kopling. Metrik untuk menghitung nilai kopling yang baik perlu
mempertimbangkan adanya relasi yang bersifat tidak langsung, seperti metrik
indirect package coupling based on responsibility. Berdasarkan permasalahanpermasalahan
tersebut, dibangunlah kakas bantu penilaian kopling package
dengan metrik indirect package coupling based on responsiblity. Berkas diagram
package yang dimasukkan harus diekspor terlebih dahulu ke dalam format XML
(eXtensible Markup Language) dengan menggunakan perangkat lunak seperti
Visual Paradigm. Berkas tersebut diproses oleh sistem menggunakan parser DOM
(Document Object Model). Kakas bantu ini sudah teruji dengan pengujian unit dan
integrasi menggunakan teknik pengujian white box, serta pengujian validasi
menggunakan teknik pengujian black box. Selain itu, dilakukan pengujian
performa menggunakan 3 package dari diagram package JDraw yang
disederhanakan, yaitu event, gui, dan action. Dari hasil pengujian diperoleh bahwa
kakas bantu berhasil menghemat waktu penilaian kopling package event yang
dibutuhkan manusia sekitar 10 menit 27,1188 detik
MEnDiGa: A Minimal Engine for Digital Games
Game engines generate high dependence of developed games on provided implementation resources. Feature modeling is a technique that captures commonalities and variabilities results of domain analysis to provide a basis for automated configuration of concrete products. This paper presents the Minimal Engine for Digital Games (MEnDiGa), a simplified collection of game assets based on game features capable of building small and casual games regardless of their implementation resources. It presents minimal features in a representative hierarchy of spatial and game elements along with basic behaviors and event support related to game logic features. It also presents modules of code to represent, interpret, and adapt game features to provide the execution of configured games in multiple game platforms. As a proof of concept, a clone of the Doodle Jump game was developed using MEnDiGa assets and compared with original game version. As a result, a new G-factor based approach for game construction is provided, which is able to separate the core of game elements from the implementation itself in an independent, reusable, and large-scale way
MSE and FAMIX 3.0: an Interexchange Format and Source Code Model Family
Software systems exceeding a certain critical size easily become difficult to maintain and adapt. Requirements change, platforms change and if a system does not evolve properly, its usefulness will decay over time. This document presents MSE a robust, scalable, extensible interexchange format and FAMIX 3.0 a family of metamodels to represent source code
IDENTIFICATION AND QUANTIFICATION OF VARIABILITY MEASURES AFFECTING CODE REUSABILITY IN OPEN SOURCE ENVIRONMENT
Open source software (OSS) is one of the emerging areas in software engineering, and
is gaining the interest of the software development community. OSS was started as a
movement, and for many years software developers contributed to it as their hobby
(non commercial purpose). Now, OSS components are being reused in CBSD
(commercial purpose). However, recently, the use of OSS in SPL is envisioned
recently by software engineering researchers, thus bringing it into a new arena. Being
an emerging research area, it demands exploratory study to explore the dimensions of
this phenomenon. Furthermore, there is a need to assess the reusability of OSS which
is the focal point of these disciplines (CBSE, SPL, and OSS). In this research, a mixed
method based approach is employed which is specifically 'partially mixed sequential
dominant study'. It involves both qualitative (interviews) and quantitative phases
(survey and experiment). During the qualitative phase seven respondents were
involved, sample size of survey was 396, and three experiments were conducted. The
main contribution of this study is results of exploration of the phenomenon 'reuse of
OSS in reuse intensive software development'. The findings include 7 categories and
39 dimensions. One of the dimension factors affecting reusability was carried to the
quantitative phase (survey and experiment). On basis of the findings, proposal for
reusability attribute model was presented at class and package level. Variability is one
of the newly identified attribute of reusability. A comprehensive theoretical analysis
of variability implementation mechanisms is conducted to propose metrics for its
assessment. The reusability attribute model is validated by statistical analysis of I 03
classes and 77 packages. An evolutionary reusability analysis of two open source
software was conducted, where different versions of software are analyzed for their
reusability. The results show a positive correlation between variability and reusability
at package level and validate the other identified attributes. The results would be
helpful to conduct further studies in this area
- âŠ