{"title":"Reflection Support: Java Reflection Made Easy","authors":"Z. Shams, S. Edwards","doi":"10.2174/1874107X20130422001","DOIUrl":"https://doi.org/10.2174/1874107X20130422001","url":null,"abstract":"Large software projects often require the ability to load and manage new code assets that were not originally available during system compilation. Moreover, testing tools need to inspect and run code components regardless of their structures. Reflection in Java supports these tasks by providing programmers with facilities to dynamically create objects, invoke methods, access fields, and perform code introspection at runtime. These capabilities come at the cost of reduced readability and writeability, since code written using Java's reflection classes is clunky, bulky and unintuitive. Common tasks such as object creation, method invocation, and field manipulation need to be decomposed into multiple steps that require try-catch blocks to guard against checked exceptions. Type casts and explicit use of class types as parameters make development and maintenance of code difficult, time consuming and error prone. In this paper, we discuss the diffi- culties of using reflection in Java. We also present an open-source library called ReflectionSupport that addresses these problems and makes reflection in Java easier to use. ReflectionSupport provides static helper methods that offer the same reflective capabilities but that encapsulate the overhead of coding with reflection. This paper focuses on improving the us- ability of Java reflection by presenting an API that allows programmers to obtain the benefits of reflection without the hassle.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127247426","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Seminars on Software Maintenance and Evolution: An Empirical Study of the Background Factors Affecting Student Success","authors":"Jussi Koskinen","doi":"10.2174/1874107X00903010039","DOIUrl":"https://doi.org/10.2174/1874107X00903010039","url":null,"abstract":"Software maintenance and evolution (SME) is an important but challenging topic area for university-level computer science education. Seminars can be used to provide students with versatile and up-to-date knowledge on scien- tifically relevant issues. We organized three systematic university-level seminars on SME. In these seminars 127 groups have each been assigned the task of analyzing one scientific SME article. The main results concern background factors re- lating to the students, groups and articles as these affect student success in the seminars. This paper presents a strict statis- tical analysis and a discussion of these factors. Fourteen hypotheses were set and tested regarding the relation of various background factors and a student's success in the seminar. The results indicate a clear relation between some of the factors and success. Most of the student- and group-related factors clearly affected student success, whereas most of the article- related factors did not. The study also revealed many important ancillary results. The results support organizing, studying, and improving feasible seminars in this area.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131533365","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An Empirical Study of Different Types of Changes in the Eclipse Project","authors":"P. Tiwari, Wei Li, Raouf Alomainy, Bingyang Wei","doi":"10.2174/1874107X01307010024","DOIUrl":"https://doi.org/10.2174/1874107X01307010024","url":null,"abstract":"This paper studied the distribution of different types of changes in the various contexts of the system and the relationship between artifact (file and module) size and different changes. We used the change data in the open source Eclipse Project through its decade-long evolution history. The latest release has 220 modules, 33904 files, 3780201 lines of code, and 49853 changes (accumulatively). This study focused on two levels of software artifacts: module and file; and four contexts of changes: all changes, error changes, non-error changes, and 19 change categories. At the module level, we found that the power-law distribution was a common phenomenon for three contexts of changes at both the module and file levels: it existed in all changes, in error changes, and in non-error changes. When we analyzed the 19 change categories, the files and modules exhibited different behavior: the power-law distribution existed in all but one category at the module level, but, about two third of the change categories did not show the power-law distribution at the file level. On the relationship between artifact size and changes, we found, at the module level, a few modules that had the majority of changes accounted for the majority of the code size; however, this phenomenon disappeared when we separated the er- ror from non-error changes. At the file level, this phenomenon did not exist at all. We did not find any correlation between artifact size and changes at either the module or file level.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115659935","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fault-proneness of open source software: Exploring its relations to internal software quality and maintenance process","authors":"D. Kozlov, Jussi Koskinen, Markku Sakkinen","doi":"10.2174/1874107X01307010001","DOIUrl":"https://doi.org/10.2174/1874107X01307010001","url":null,"abstract":"The goal of this study is to explore how fault-proneness of open source software (OSS) could be explained in terms of internal quality attributes and maintenance process metrics. We reviewed earlier studies and performed a multiple case study of eight Java-based projects based on data available in the Source Forge repository. Overall, we studied 342 re- leases of those systems. As is usual, software quality was regarded as a set of internal and external quality attributes. A to- tal of 76 internal quality attributes were measured from the source code of the selected systems via the tool SoftCalc. Two external quality attributes contributing to fault-proneness were in turn obtained from the Source Forge Issue Tracking Sys- tem. The framework for assessing the maintenance process was adopted from our previous studies. Its distinguishing fea- ture is that it takes into account the peculiarities of OSS development. We included 23 maintenance process metrics to this study. Relationships between the metrics under study were identified by means of correlation analysis, multiple regression analysis and factor analysis. The obtained results give an interesting insight into interpretation of the earlier results of other researchers, regarding especially their generalizability. The strengths of our study include the following: 1) we stud- ied a greater number of metrics than most of the related studies, 2) we studied a greater number of OSS-systems than most of the studies, and 3) we focused on the fault-proneness of modern Java-based systems and investigated them as an aggre- gated sample.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-02-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127985795","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Formalizing and Automating Use Case Model Development","authors":"Marinos G. Georgiades, A. Andreou","doi":"10.2174/1874107X01206010021","DOIUrl":"https://doi.org/10.2174/1874107X01206010021","url":null,"abstract":"This paper proposes an approach that formalizes specific elements and activities of the use case modeling proc- ess in order to overcome problematic issues common to the conventional use case methods, namely the lack of systematic elicitation support in the identification of use case elements, the vagueness introduced by the use of informal natural lan- guage to define use case specifications, and the limited support of dedicated software tools that makes UCDA a time- consuming and error-prone activity. In particular, with the use of our approach, formalization of the stage for identifying the use case elements is achieved with the use of predefined types of use cases and actors, specific guidelines to define as- sociations, relationships and business rules, and formalized sentential patterns. Formalization and clarity of the use case specification is achieved with the use of specific types of actions and guidelines, on one hand, and natural language-based authoring rules, on the other. A dedicated software tool supports the automation of the proposed approach including the automated generation of use case diagrams and specifications. Preliminary empirical evaluation of the proposed approach indicated its effectiveness and efficiency.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"12 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116824300","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Joerg Hauber, H. Regenbrecht, A. Cockburn, M. Billinghurst
{"title":"The Impact of Collaborative Style on the Perception of 2D and 3D Videoconferencing Interfaces","authors":"Joerg Hauber, H. Regenbrecht, A. Cockburn, M. Billinghurst","doi":"10.2174/1874107X01206010001","DOIUrl":"https://doi.org/10.2174/1874107X01206010001","url":null,"abstract":"Video-based collaborative virtual environments (CVE) attempt to emulate face-to-face meetings by immersing remote collaborators in a shared 3D virtual setting. To investigate potential advantages of this novel type of collaborative user interfaces for creating a better sense of social presence and affording a more efficient collaborative process we con- ducted an empirical study in which pairs of users solved a simple task (matching a set of celebrity photos with a set of quotes) using four different media: face-to-face, a standard desktop videoconferencing system (VC), a desktop video- CVE, and a stereo large-screen video-CVE. As expected, results showed that face-to-face provided a significantly stronger sense of social presence than any of the systems, but relatively little differences showed between the systems themselves. However, significant gender effects emerged in an ex-post analysis for the different system types, with females perceiving more social presence when using the standard video conferencing environment and less with the video-CVE conditions, while males showed the opposite effect. Linguistic analysis of audio transcriptions and video analysis further illuminates differences between collaboration styles of males and females across the collaborative conditions. We discuss the implica- tions of our findings for future studies into CVEs and video conferencing systems.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114283936","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Quantitative framework for managing software life cycle","authors":"A. Stoica, P. Babu, P. Stoica","doi":"10.2174/1874107X01105010001","DOIUrl":"https://doi.org/10.2174/1874107X01105010001","url":null,"abstract":"The paper presents a rigorous and practical way of managing the quantitative yields of new (improved) software engineering methods in the software life cycle. A meaningful set of metrics and models is used to measure the value of applying tailored methods. The value-based framework is proposed as a system of integrated models (such as cost models, productivity models, quality-related models, benefit models, and value-related models) that combine project data and expert opinion. The framework is proactive, as it allows to estimate the value-based metrics of a software engineering method in order to monitor it, improve software quality and convince developers and managers that the method and related investment are worthwhile. To demonstrate the applicability of the proposed framework, the results of a case study are presented and used as an initial validation of the framework. In this paper we use the model system concept to address the problem of quantifying the yields of new (improved) software engineering methods and suggest a value-based framework (VF). VF entails the application of interrelated metrics and models from (3-7) for estimating the relevant costs, the benefits translated into software quality management and improvement, as well as the resulting value-related metrics evaluated during the software system life cycle. The framework is applicable at a high level of abstraction and offers useful results from a practical point of view, as our case study indicates.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116872104","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Studying the impact of global software development characteristics on project goals: a causal model","authors":"Ansgar Lamersdorf, Jürgen Münch","doi":"10.2174/1874107X01004020002","DOIUrl":"https://doi.org/10.2174/1874107X01004020002","url":null,"abstract":"Despite the growing importance of global software development (GSD), a high failure rate of GSD projects is reported in the literature. In order to understand the underlying reasons, the goals of GSD projects and the special charac- teristics of GSD that might have an influence on these goals have to be identified. This article presents a combined litera- ture and interview study aimed at identifying goals and influencing factors in GSD and integrates them into a causal model. The article presents the goal and design of the study; the literature review, which resulted in a preliminary model of factors and cause-effect relationships; and the revision of the model based on interviews with practitioners in GSD.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114568405","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Improving Distributed Software Development in Small and Medium Enterprises","authors":"Miguel A. Jiménez, A. Vizcaíno, M. Piattini","doi":"10.2174/1874107X01004020026","DOIUrl":"https://doi.org/10.2174/1874107X01004020026","url":null,"abstract":"One of the current tendencies of software enterprises is that of making greater development efforts in more at- tractive zones by decentralizing their production units. Small and Medium Enterprises (SMEs) are a very important cog in the application of Distributed Software Development (DSD). The software industries of many countries are made up mainly of small and medium software enterprises which in many cases employ this approach by taking advantage of the greater availability of human resources in decentralized zones at a lower cost. However, this leads to certain disadvantages which are mainly due to the distance that separates the teams. Coordination and communication become more difficult, thus affecting productivity and product quality. Efficient Software Engineering practices which are adapted to SME char- acteristics are therefore necessary. In this paper, we review the main challenges and proposals relating to DSD which may be useful in SME environments, with the principal purpose of providing a set of methods and techniques that can be ap- plied in a generic environment.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132461331","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Analyzing and Evaluating the Main Factors that Challenge Global Software Development","authors":"Gabriela N. Aranda, A. Vizcaíno, M. Piattini","doi":"10.2174/1874107X01004020014","DOIUrl":"https://doi.org/10.2174/1874107X01004020014","url":null,"abstract":"Global Software Development (GSD) projects are characterized by the fact that work is distributed throughout many geographically distanced sites. Software engineering activities in such scenarios face various challenges. Although interpersonal communication is crucial if a common understanding with regard to the system under construction is to be achieved, time separation, cultural diversity and economical factors make it impossible for face-to-face meetings to take place. In this paper, we introduce a basis for analyzing those aspects that might cause communication problems in GSD environments and suggest some strategies to reduce misunderstandings among stakeholders, with the aim of improving distributed projects.","PeriodicalId":262856,"journal":{"name":"The Open Software Engineering Journal","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117244680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}