9 research outputs found

    Designing and implementing a tool to transform source code to UML diagrams

    Get PDF
    Currently, reverse engineering is considered as a significant process to extract the design information and abstractions of a system from the present software. The extracted source codes have been converted into a certain structure to be easily analyzed in the following procedure. For facilitating the software process development, it might be optimum to have tools beingcertain which generate automatically or help UML generating models from the codes as a source. The current study focuses on the reverse engineering process regarding the python and java source codes to the behavior diagrams: the use case and the activity diagrams which might be of high importance in the process of software maintenance. This approach is carried out in the current study in the application referred to as the RCUML tool with the use of the python language which helped in understanding python and java source codes in the software application, and enabling visualization regarding the software behavior

    Preventive measures of struck-by accidents at the construction site: Perspectives from construction personnel in Johor

    Get PDF
    Struck-by accidents are among the main contributor to fatality number in the Malaysian construction industry. From the standpoint of construction safety professionals, this study explores the main preventive measures for struck-by accidents at the construction site. The data for this study was gathered through the questionnaire distributed to construction site safety workers in Johor, Malaysia, and about 116 answered questionnaires were received. Data were analyzed using the Relative Importance Index (RII) and Spearman’s rank correlation. The main preventive measure factor identified was related to training. This study provides eye-opening findings in terms of the weak correlational relation between the views of safety personnel and the most effective preventive strategy. This research raises awareness of the problem, and more action should be made to lower the fatality rate in struck-by-object accidents

    A tool to promote sustainability in casting processes: Development highlights

    Get PDF
    The validity of traditional manufacturing decision variables (i.e. cost, quality, flexibility and time) is questioned by some important challenges of our time: the scarcity of natural resources and environmental pollution. Increasing energy cost to extract and process natural resources, alongside regulatory pressures against pollution, pushes very mature and competitive processes like casting towards a holistic approach where sustainability contributes to strategic decisions together with the mentioned traditional manufacturing variables. As a contribution to this industrial necessity, a modular tool able to analyse material and energy flows in casting processes is under development. In particular, the ability to represent automatically Sankey diagrams of the flows recently implemented is described and validated

    Slicing for architectural analysis

    Get PDF
    Current software development often relies on non trivial coordination logic for combining autonomous services, eventually running on different platforms. As a rule, however, such a coordination layer is strongly weaved within the application at source code level. Therefore, its precise identification becomes a major methodological (and technical) problem and a challenge to any program understanding or refactoring process. The approach introduced in this paper resorts to slicing techniques to extract coordination data from source code. Such data is captured in a specific dependency graph structure from which a coordination model can be recovered either in the form of an Orc specification or as a collection of code fragments corresponding to the identification of typical coordination patterns in the system. Tool support is also discussed.Fundação para a Ciência e a Tecnologia (FCT) - projeto Mondrian, PTDC/EIA-CCO/108302/200

    Програмний засіб автоматизації відлагодження вихідного коду високої зв’язаності

    Get PDF
    Магістерська дисертація містить 106 сторінок пояснювальної записки, 21 рисунок, 20 таблиць, 10 додатків та 22 посилання на використані літературні джерела. Об’єктом дослідження є процес відлагодження та рефакторингу програм. Предметом дослідження є використання графічних візуалізацій з метою автоматизації процесу відлагодження та рефакторингу програм. Метою дисертації є створення інструменту візуалізації вихідного коду за допомогою блок-схем з можливістю багаторазового використання розроблених модулів. Актуальність даної роботи полягає у вирішенні проблеми проведення рефакторингу та відлагодження програмних систем з сильно зв’язаним вихідним кодом. В роботі реалізовано засіб автоматизації відлагодження що використовує графічнне представлення вихідного коду для полегшення аналізу алгоритмів, на яких побудовано програму. Засіб відрізняється від аналогів використанням модульної архітектури, що значно полегшує процес його інтеграції з популярними середовищами розробки. Архітектура, розроблена в результаті виконання цієї роботи, може бути розширена та використана при побудові блок-схем з вихідного коду будь-якої мови програмування та в довільному середовищі виконання, оскільки використані технології дозволяють встановити та користуватися засобом на всіх розповсюджених платформах.The master's thesis contains 106 pages of explanatory note, 21 drawings, 20 tables, 10 appendices and 22 references to used information sources. The object of research is the process of software debugging and refactoring. The subject of research is the use of graphical visualizations in enhancing software debugging and refactoring experience. The purpose of this thesis is to design and develop a software tool for source code flowcharting. The work has an added goal of creating reusable infrastructure. The relevance of research is tied to the severity of challenge debugging and refactoring of highly-coupled source code presents to the developer. As the result of research, a software tool for automatization of debugging and refactoring was developed. The tool utilizes a flowchart representation of the source code to aid the analysis of algorithms that implement the software’s functionality. The main feature of the developed product is its design, which is based on modular architecture and encourages integration with popular IDEs. Architecture designed during the work on this thesis can be easily extended and used to plot flowcharts based on arbitrary programming language source code. The technologies utilized in development allow the tool to be set up and executed on virtually any operating system and runtime environment

    Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme

    Get PDF
    Modelle und Metamodelle repräsentieren Kernkonzepte der modellgetriebenen Softwareentwicklung (MDSD). Programme, die Modelle (unter Bezugnahme auf ihre Metamodelle) manipulieren oder ineinander überführen, werden als Modelltransformationen (MTs) bezeichnet und bilden ein weiteres Kernkonzept. Für dieses klar umrissene Aufgabenfeld wurden und werden speziell angepasste, domänenspezifische Transformationssprachen entwickelt und eingesetzt. Aufgrund der Bedeutung von MTs für das MDSD-Paradigma ist deren Korrektheit essentiell und eine gründliche Qualitätssicherung somit angeraten. Entsprechende Ansätze sind allerdings rar. In der Praxis erweisen sich die vornehmlich erforschten formalen Verifikationsansätze häufig als ungeeignet, da sie oft zu komplex oder zu teuer sind. Des Weiteren skalieren sie schlecht in Abhängigkeit zur Größe der betrachteten MT oder sind auf Abstraktionen bezogen auf die Details konkreter Implementierungen angewiesen. Demgegenüber haben testende Verfahren diese Nachteile nicht. Allerdings lassen sich etablierte Testverfahren für traditionelle Programmiersprachen aufgrund der Andersartigkeit der MT-Sprachen nicht oder nur sehr eingeschränkt wiederverwenden. Zudem sind angepasste Testverfahren grundsätzlich wünschenswert, da sie typische Eigenschaften von MTs berücksichtigen können. Zurzeit existieren hierzu überwiegend funktionsbasierte (Black-Box-)Verfahren. Das Ziel dieser Arbeit besteht in der Entwicklung eines strukturbasierten (White-Box-)Testansatzes für eine spezielle Klasse von Modelltransformationen, den sog. programmierten Graphtransformationen. Dafür ist anhand einer konkreten Vertreterin dieser Sprachen ein strukturelles Überdeckungskonzept zu entwickeln, um so den Testaufwand begrenzen oder die Güte der Tests bewerten zu können. Auch müssen Aspekte der Anwendbarkeit sowie der Leistungsfähigkeit der resultierenden Kriterien untersucht werden. Hierzu wird ein auf Graphmustern aufbauendes Testüberdeckungskriterium in der Theorie entwickelt und im Kontext des eMoflon-Werkzeugs für die dort genutzte Story- Driven-Modeling-Sprache (SDM) praktisch umgesetzt. Als Basis für eine Wiederverwendung des etablierten Ansatzes der Mutationsanalyse zur Leistungsabschätzung des Kriteriums hinsichtlich der Fähigkeiten zur Fehlererkennung werden Mutationen zur synthetischen Einbringung von Fehlern identifiziert und in Form eines Mutationstestrahmenwerks realisiert. Letzteres ermöglicht es, Zusammenhänge zwischen dem Überdeckungskonzept und der Mutationsadäquatheit zu untersuchen. Im Rahmen einer umfangreichen Evaluation wird anhand zweier nichttrivialer Modelltransformationen die Anwendbarkeit und die Leistungsfähigkeit des Ansatzes in der Praxis untersucht und eine Abgrenzung gegenüber einer quellcodebasierten Testüberdeckung durchgeführt. Es zeigt sich, dass das entwickelte Überdeckungskonzept praktisch umsetzbar ist und zu einer brauchbaren Überdeckungsmetrik führt. Die Visualisierbarkeit einzelner Überdeckungsanforderungen ist der grafischen Programmierung bei Graphtransformationen besonders nahe, so dass u. a. die Konstruktion sinnvoller Tests erleichtert wird. Die Mutationsanalyse stützt die These, dass die im Hinblick auf Steigerungen der Überdeckungsmaße optimierten Testmengen mehr Fehler erkennen als vor der Optimierung. Vergleiche mit quellcodebasierten Überdeckungskriterien weisen auf die Existenz entsprechender Korrelationen hin. Die Experimente belegen, dass die vorgestellte Überdeckung klassischen, codebasierten Kriterien vielfach überlegen ist und sich so insbesondere auch für das Testen von durch einen Interpreter ausgeführte Transformationen anbietet
    corecore