35 research outputs found
Software-Engineering Process Simulation (SEPS) model
The Software Engineering Process Simulation (SEPS) model is described which was developed at JPL. SEPS is a dynamic simulation model of the software project development process. It uses the feedback principles of system dynamics to simulate the dynamic interactions among various software life cycle development activities and management decision making processes. The model is designed to be a planning tool to examine tradeoffs of cost, schedule, and functionality, and to test the implications of different managerial policies on a project's outcome. Furthermore, SEPS will enable software managers to gain a better understanding of the dynamics of software project development and perform postmodern assessments
CASE TECHNOLOGY AS A MEDIATING FACTOR IN ANALYST AND PROGRAMMER JOB OUTCOMES
Information Systems Working Papers Serie
Co-evolutionary automated software correction: a proof of concept
The task of ensuring that a software artifact is correct can be a very time consuming process. To be able to say that an algorithm is correct is to say that it will produce results in accordance with its specifications for all valid input. One possible way to identify an incorrect implementation is through the use of automated testing (currently an open problem in the field of software engineering); however, actually correcting the implementation is typically a manual task for the software developer. In this thesis a system is presented which automates not only the testing but also the correction of an implementation. This is done using genetic programming methods to evolve the implementation itself and an appropriate evolutionary algorithm to evolve test cases. These two evolutionary algorithms are tied together using co-evolution such that each population plays a large role in the evolution of the other population. A prototype of the Co-evolutionary Automated Software Correction (CASC) system has been developed, which has allowed for preliminary experimentation to test the validity of the idea behind the CASC system --Abstract, page iii
Comparing the performance of string operations across programming languages
Abstract. In this thesis, the performance of string operations are compared across programming languages. Handling strings effectively is important especially when performance is a crucial factor and large string sizes may emerge. Common examples where large string sizes emerge are during digitalization of a product, reading string data from a database, reading and handling large CSV-files and Excel-files, converting file format to another file format (e.g. CSV to Excel and vice versa), and reading and handling a DOM-tree of a website.
There has been a lot of corresponding research where programming languages are benchmarked, but none of them focus directly on string operations. The main goal of this thesis is to fill this gap in literature and try to find out which programming languages have the best results on string operations in terms of execution time and memory (maximum RSS) usage.
The test environment was formed by creating randomly generated string files with sizes varying from ten thousand characters to 100 million characters. The generated characters were âaâ, âbâ, and â â (whitespace character). The programming languages selected for this thesis were Python, C, C++, Java, Perl, Ruby, Go, and Swift.
Go seemed to be the most effective language in execution times, although it was not the fastest in many operations. C used very little memory, but only five operations were implemented in it. Every operation was implemented in Python, and it used additional memory to loading the string file in only one operation, which was sorting a string. Swift had quite bad results, and this could be caused by the Linux version of Swift that was used. In regular expressions, Perl and C++ were overwhelmingly effective. Java used the most memory in every operation
AufwandschÀtzung und ProduktivitÀt in der Softwareentwicklung : Probleme und ProblemlösungsansÀtze
Softwareentwicklungsprojekte sind vielfach durch gravierende Termin- und BudgetĂŒberschreitungen gekennzeichnet. Sofern Methoden und Verfahren zur AufwandschĂ€tzung hierfĂŒr ausschlaggebend sind, kommen bestehende MeĂprobleme des Software Engineering bzw. der Softwaremetrie zum Tragen, die durch verbesserte Interpretation eingeschrĂ€nkt werden können. Ein solcher Lösungsansatz wird nachfolgend in seinen GrundzĂŒgen vorgestellt
CASE TECHNOLOGY AS A MEDIATING FACTOR IN ANALYST AND PROGRAMMER JOB OUTCOMES
Information Systems Working Papers Serie