40 research outputs found
Recommended from our members
Agent-based Simulation of Open Source Software Evolution
We present an agent-based simulation model of open source software (OSS). To our knowledge, this is the first model of OSS evolution that includes four significant factors: productivity limited by the complexity of software modules, the software's fitness for purpose, the motivation of developers, and the role of users in defining requirements. The model was evaluated by comparing the simulated results against four measures of software evolution (system size, proportion of highly complex modules, level of complexity control work, and distribution of changes) for four large OSS systems. The simulated results resembled all the observed data, including alternating periods of growth and stagnation. The fidelity of the model suggests that the factors included here have significant effects on the evolution of OSS systems
What Does It Take to Develop a Million Lines of Open Source Code?
This article presents a preliminary and exploratory study of the relationship between size, on the one hand, and effort, duration and team size, on the other, for 11 Free/Libre/Open Source Software (FLOSS) projects with current size ranging between between 0.6 and 5.3 million lines of code (MLOC). Effort was operationalised based on the number of active committers per month. The extracted data did not fit well an early version of the closed-source cost estimation model COCOMO for proprietary software, overall suggesting that, at least to some extent, FLOSS communities are more productive than closedsource teams. This also motivated the need for FLOSS-specific effort models. As a first approximation, we evaluated 16 linear regression models involving different pairs of attributes. One of our experiments was to calculate the net size, that is, to remove any suspiciously large outliers or jumps in the growth trends. The best model we found involved effort against net size, accounting for 79 percent of the variance. This model was based on data excluding a possible outlier (Eclipse), the largest project in our sample. This suggests that different effort models may be needed for certain categories of FLOSS projects. Incidentally, for each of the 11 individual FLOSS projects we were able to model the net size trends with very high accuracy (R 2 тЙе 0.98). Of the 11 projects, 3 have grown superlinearly, 5 linearly and 3 sublinearly, suggesting that in the majority of the cases accumulated complexity is either well controlled or don't constitute a growth constraining factor
Fluorescent amino acids as versatile building blocks for chemical biology
Fluorophores have transformed the way we study biological systems, enabling non-invasive studies in cells and intact organisms, which increase our understanding of complex processes at the molecular level. Fluorescent amino acids have become an essential chemical tool because they can be used to construct fluorescent macromolecules, such as peptides and proteins, without disrupting their native biomolecular properties. Fluorescent and fluorogenic amino acids with unique photophysical properties have been designed for tracking proteinтАУprotein interactions in situ or imaging nanoscopic events in real time with high spatial resolution. In this Review, we discuss advances in the design and synthesis of fluorescent amino acids and how they have contributed to the field of chemical biology in the past 10 years. Important areas of research that we review include novel methodologies to synthesize building blocks with tunable spectral properties, their integration into peptide and protein scaffolds using site-specific genetic encoding and bioorthogonal approaches, and their application to design novel artificial proteins, as well as to investigate biological processes in cells by means of optical imaging. [Figure not available: see fulltext.]
A Model to Predict Anti-Regressive Efforts in Open Source Software
Accumulated changes on a software system are not uniformly distributed: some elements are changed much more often than others. For optimal impact, the always limited time and effort for complexity control work, the anti-regressive work, should be applied to the elements of the system which are complex. If two elements are similarly complex then we should improve the one that attract more changes. Based on this observation, we propose a maintenance guidance model (MGM) which is tested against real-world data in order to study how developers handle the complexity of their systems. MGM takes into account several dimensions of complexity: size, structural complexity and coupling. The results show that maintainers of the eight studied open source systems tend, in general, to prioritize their anti-regressive work in line with the predictions given by our MGM, even though, divergences also exist. MGM offers a history-focused alternative to existing approaches to the identification of elements for anti-regressive work, most of which use certain static code characteristics only
Rules and Tools for Software Evolution Planning and Management
About the book: In summary, the book covers conceptual, phenomenological, empirical, technological and theoretical aspects of the field of software evolution - with contributions from the leading experts.
This book delivers an up-to-date scientific understanding of what software evolution is, to show why it is inevitable for real world applications, and it demonstrates the role of feedback in software development and maintenance. The book also addresses some of the phenomenological and technological underpinnings and includes rules and guidelines for increased software evolvability and, in general, sustainability of the evolution process
Recommended from our members
Defining and applying metrics in the context of continuing software evolution
Addresses a set of relevant issues in the context of the definition and application of measurement to long-term software evolution processes and their products. It presents a practical example using empirical data from one of the systems studied as part of the on-going FEAST (Feedback, Evolution And Software Technology) investigation. Such example demonstrates the use of a sequential statistical test (CUSUM) on a suite of eight evolution activity metrics. The metrics are based on module and subsystem counts. The test permitted the examination of whether productivity had changed over an 11-year period. The results were consistent in six of the eight metrics studied, suggesting that sequential tests have potential in, for example, measuring the impact of process improvement (intervention analysis), in the identification of the stages of software evolution and, in general, in supporting evolution managemen
An empirical study of the evolution of an agile-developed software system
We have analyzed evolution patterns over two and a half years for a system developed using eXtreme Programming. We find that the system shows a smooth pattern of growth overall, that (McCabe) code complexity is low, and that the relative amount of complexity control work (e.g. refactoring) is higher than in other systems we have studied. To interpret these results, we have drawn on qualitative data including the results of an observational study, records of progress and productivity, and comments on our findings from team member
Immortalizing Mesenchymal Stromal Cells from Aged Donors While Keeping Their Essential Features
Human bone marrow-derived mesenchymal stromal cells (MSCs) obtained from aged patients are prone to senesce and diminish their differentiation potential, therefore limiting their usefulness for osteochondral regenerative medicine approaches or to study age-related diseases, such as osteoarthiritis (OA). MSCs can be transduced with immortalizing genes to overcome this limitation, but transduction of primary slow-dividing cells has proven to be challenging. Methods for enhancing transduction efficiency (such as spinoculation, chemical adjuvants, or transgene expression inductors) can be used, but several parameters must be adapted for each transduction system. In order to develop a transduction method suitable for the immortalization of MSCs from aged donors, we used a spinoculation method. Incubation parameters of packaging cells, speed and time of centrifugation, and valproic acid concentration to induce transgene expression have been adjusted. In this way, four immortalized MSC lines (iMSC#6, iMSC#8, iMSC#9, and iMSC#10) were generated. These immortalized MSCs (iMSCs) were capable of bypassing senescence and proliferating at a higher rate than primary MSCs. Characterization of iMSCs showed that these cells kept the expression of mesenchymal surface markers and were able to differentiate towards osteoblasts, adipocytes, and chondrocytes. Nevertheless, alterations in the CD105 expression and a switch of cell fate-commitment towards the osteogenic lineage have been noticed. In conclusion, the developed transduction method is suitable for the immortalization of MSCs derived from aged donors. The generated iMSC lines maintain essential mesenchymal features and are expected to be useful tools for the bone and cartilage regenerative medicine research.status: publishe