Transformations of Erlang programs based on complexity metrics

Size: px
Start display at page:

Download "Transformations of Erlang programs based on complexity metrics"

Transcription

1 Transformations of Erlang programs based on complexity metrics Thesises of the Doctoral Dissertation 2013 Roland Király Advisor: Dr. Horváth Zoltán Eötvös Loránd University, Faculty of Informatics H-1117 Budapest, Pázmány Péter sétány 1/C. PhD School of Computer Science Title of the PhD Program: Basics and methodology of informatics Leader of the PHD School: Dr. Benczúr András This research was supported by the European Union and the State of Hungary, co-financed by the European Social Fund in the framework of TÁMOP A/ National Excellence Program.

2 2 Introduction As the size and complexity of programs increase, the development (and the resource cost of development) has an ever increasing part consisting of testing, solving the difficulties arising during testing, and proving that the modification of source code does not change the program semantically. The cost (be it in work hour, human resources, etc.) of modifications in code does not solely depend on its amount, but its complexity also plays a significant role in it. Measuring complexity makes it possible to estimate testing and maintenance costs, both of which are an important factor of code development. The various methods of analyzing source code measure such properties, that help us get an idea about its structure, characteristics, and complexity. Based on the results obtained from such analysis we can give estimates about the cost of testing, developing, or modifying the code. The measure of software complexity can grade the programming style, usability, and the expected developmental costs. Comparably the relationship between various parts of code, exploration of the relationship between these measures and their interaction can give a more precise picture of the code forming the subject matter of the measurement. Based on this statement, in the theses we build a model, that we can use to examine the software measures, and the effect of code transformations through which automatic, source code quality improving transformations can be applied. Objectives Since the start of the research my goals were the following: 1. To find methods which make it possible to measure the complexity of, and can apply agile and simple transformations to large programs used even in industrial environments written in Erlang [32, 40], a language that supports the paradigms of shared programming, and behavioral patterns 2. To create a structured query language and its filters that are capable of measure complexity measures, with the help of which measuring Erlang source code complexity becomes easier and faster 3. To construct a complexity based analyzing algorithm, with the help of which during any phase of coding the change in complexity measures can indicate programming errors or inconsistencies, therefore the code development can be limited to pre-defined, clearly stated confines

3 3 4. To extend this query language with elements to implement automatic code transformations (transformational meta language), as well as creating an algorithm to run scripts written in this language, that provides the ability to automatically transform source code based on complexity measure. Antecedent of the choice of subject I started my research with the research team operating at the Faculty of Informatics at Eötvös Lóránd University that deals with refactoring Erlang programs, where there were plenty of code transformation steps developed, that I used in my work, and properly referred to and cited in my thesis. The results I can introduce in my thesis are based on my work in that research team. A prototype of the analyzing program built for transformations of Erlang code was made available to me, and I could develop further the data structure used by the analyzer to create the first version of my analyzing algorithm. This version was able to measure complexity, and later inspired many ideas to create the transformational language and the methods of querying this data. The methods and algorithms introduced in this thesis form the base of a program called RefactorErl [33], that is currently still under development, though already being used in industrial environment as a prototype software system, and is a grant application supported by ELTE IKKK, KMOP / and Ericsson Hungary. Antecedent of the research subject Functional programming languages, thus Erlang as well, contain several special program constructs, that are unheard of in the realm of object-oriented and imperative languages. The special syntactic elements make functional languages different, these attributes contribute to those being interesting or extraordinary, but also due to these, some of the known complexity measures are not, or only through modifications usable to measure code. This does not mean that complexity measures are not developed to these languages, but very few of the existing ones are generic enough to be used with any functional language [39, 35, 34] language-independently, therefore with Erlang as well, because most of these only work well with one specific language, thus have low efficiency with Erlang codes. For all of this I needed to define the measures of complexity that can be utilized with this paradigm, and create new ones as necessary.

4 4 There are tools for measuring software complexity, like Eclipse [41], or the software created by Simon, Steinbrückner and Lewerentz, that implements several complexity measures that help the users in measurement. The aim of the Crocodile [38] project is to create a program that helps to efficiently analyze source code, therefore it can be used quite well to makes measurements after code transformations. Tidier [13, 14] is an automatic source code analyzer, and transformer tool, that is capable of automatically correcting source code, eliminating the syntactic errors static analysis can find, but neither software/method uses complexity measures for source code analysis and transformation. This environment raised the demand for a complex and versatile tool, that is capable of measuring the complexity of Erlang codes, and based on these measurements localize as well as automatically or semi-automatically correct unmanageably complex parts. The methods used While making the collection of complexity measures and developing new ones, I researched the attributes of Erlang programs, and tried to find the complexity measures for every possible code construct that describe those properly. After managing the ones deemed important, with careful observation of the relationship between them I either introduced a new measure, or transformed the existing ones so that they could be used with Erlang language too. I defined the resulting measurement system with mathematical methods, and implemented each individually. Using the completed analyzer I validated every measure with various methods to assert the measurements are all proper ones. The results gained from this validation is detailed in my thesis. To measure the complexity, I created a high-level structured query language, and extended the analyzer with it. I analyzed the effect of various program transforming steps, and based on these I created the transformational programming language, that made writing transformational scripts possible and to automatically optimize source code. These scripts improve code quality based on complexity measures. The algorithm in the theses measuring structural complexity, the textual query language and its extension, the automatic transformational algorithm that runs the scripts, the automatic error-correcting methods, and the code complexity based errordetection, implemented in RefactorErl, are in their entirety my own work. Each of the theses were published in journals and presented at conferences as mentioned in the bibliography.

5 5 1 Thesis 1. - Developing and measuring metrics that can be used with Erlang language, and the creation of the query language While extending the semantic graph [8] in the analyzing algorithm of RefactorErl, I introduced a data structure, that can record the expected and the measured complexity measures of source code, and can mark the unmanageable/difficult code parts. With the modification of existing complexity measures, and making new ones, I created a complex measure system to calculate the complexity related attributes of Erlang, and of possibly every program construct it uses. Besides presenting the semantic graph, and its formal definition, I have detailed a low level language capable of traversing the graph with path expressions necessary to measure complexity measures. I devised a special structured query language to be able to access the semantic graph containing the processed source code on a higher abstraction layer of complexity measurements. MetricQuery Show for Type Show show metric Type module module function function Figure 1: The syntax of the query language I presented the syntax of this language, the possible queries it can define, the filters that can be used with it, and the merits of using them. Gyorsendezés show fun_return_points for function ({ a, quicksort,1}, { a, split,3}) sum Figure 2: Querying the return point of a function with the structured query language. The premise of the queries and the query language is that one can call, complexity measurement functions on the series of elements in the semantic graph of the processed source code. The runtime environment of the defined query language is coded in a functional language (Erlang), and provided an interface to run queries. The algorithm analyzing complexity is able to store the calculated complexity values, to reduce the resources needed to process more difficult analyzes. Storing the measures so, is an effective method, because it can track changes made to the source code and to recalculate automatically the complexity of only the modified

6 6 parts. This characteristic holds many possibilities. If the modification applied to the analyzed source code results in an unnecessary increase of complexity, it can highlight this complication, and also this attribute of the analyzer holds the possibility to apply automatic program transformations. Thesis 2. - Localizing complex code parts, and the effect of program transformations aimed at code refactoring on code quality I created an analyzer that reveals inadequate programming style or unmanageably complex program constructs during the whole lifecycle of the code using complexity measures describing the program. I devised a rule set, with which the analyzing processes in every measurements only perform on the sub-graph that directly was influenced by the transformational steps changing the code. The algorithm is also based upon the analysis of the semantic graph built from the source code (that, in this case, is naturally based on the measurements of structural complexity), but at this stage we can define default complexity measures, and these defaults are compared to the actual measured values of the code, therefore the differences can be indicated. The impact analysis of the transformations is theoretical, but based on conclusions, still, these statements are proven by running tests and interpreting the results on the implemented analyzing prototype. 2 Thesis 3. - Automatic source code transformation based on software complexity metrics, and the elaboration of refactoring transformational schemes. I created an algorithm measuring code complexity in Erlang programs, that provides automatic code transformations based on these measures. I created a script language, that can calculate the structural complexity of Erlang source codes, and based on the resulting outcome providing the descriptions of transformational steps. With the help of this language we can describe automatic code transformations that are based on code complexity measurements. I defined the syntax of the language that can describe the series of steps in these automatic code refactoring, that are complexity measurement based, and presented the principle of operation of the analyzer and run-time providing algorithm.

7 7 Query MetricQuery OptQuery OptQuery Opti Where Limit Opti optimize Transformation Transformation TransformationName TransformationName Params Params (Attr, ValueList) Where where Cond Cond Metric Rel CondValue Cond LogCon Cond Limit limit Int Figure 3: The syntax of transformational scripts. Besides the introduction of the syntax and use cases, I presented what results we can achieve using this language. The transformational language consists of sections, each of which has three parts. The first, starting with the keyword optimize, we instruct it which transformation and its parameters are we trying to use in the current step. optimize extract_fun (expr_type, case_expr) where max_depth_of_cases > 3 limit 2 optimize extract_fun where max_depth_of_cases > 3 and number_of_fun < 20 limit 3 Figure 4: The script performing the automatic transformation. In the second part, starting with the where label we can define conditions based on complexity measures, that specify which nodes take part in the transformational process. These conditions can relate to functions or module type nodes. This part runs the functions built into the algorithms, that analyze the whole source code, choose the appropriate graph nodes, and with those and the type of transformation it produces the parameters described in the optimize part that are necessary to complete a particular step, and furthermore, besides the collection of parameters, stop the running of scripts based on a customizable rule set.

8 References 8 The third part starting with the limit keyword controls the running of the scripts so, that this parameter limits the iteration step number. That is needed when the constrains in the where clause does not stop the transformational process. After defining and implementing the language, I created several scripts solving source code transformational problems that are based on complexity measures, and presented their run-time results, proving their usability. References [1] Roland Király: Results of complexity metric based automatic source code transformations. Annales Mathematicae et Informaticae 42 (2013) (accepted) [2] Tóth, M., Bozó, I., Horváth, Z., Kitlei, R., Király, R., Horpácsi, D., and Kőszegi, J.: RefactorErl: a source code analyser and transformer tool Poster at the High Speed Network Workshop 2011, Budapest, Hungary, May 2011 [3] Roland Király, Róbert Kitlei. Metric Based optimalization of functional source code. Annales Mathematicae et Informaticae 37 (2011) Pages: [4] István Bozó, Dániel Horpácsi, Zoltán Horváth, Judit Kõszegi, Roland Király, Róbert Kitlei, Máté Tejfel, Melinda Tóth,. Haladó technológiák szoftverrendszerek forráskódú elemzésére A RefactorErl hatékonyságának és felhasználói felületének továbbfejlesztése Az Ericsson Magyarország Kft megbízásából és támogatásával a KMOP / projekt keretében az ERFA támogatásával Tech report 2011 Ericsson Hungary [5] Király, R., Kitlei R.: Complexity measurments for functional code 8th Joint Conference on Mathematics and Computer Science (MaCS 2010) refereed, and the proceedings will have ISBN classification July 14-17, 2010 [6] Király, R., Kitlei R.: Implementing structural complexity metrics in Erlang. 10 ICAI th International Conference on Applied Informatics to be held in Eger, Hungary January 27-30, 2010 [7] Király, R. and Kitlei, R.: Implementing structural complexity metrics for Erlang Poster on the 8th International Conference on Applied Informatics, ICAI 2010, 2010 [8] Zoltán Horváth, László Lövei Tamás Kozsik, Roland Király, Melinda Tóth, Róbert Kitlei, Dániel Horpácsi, István Bozó. Extended semantic queries on Erlang programs and comprehensive testing of RefactorErl. Tech. Report Ericsson Hungary [9] Király Roland, Funkcionális programozási nyelvek EKF TTK TAMOP oldal.

9 References 9 [10] Zoltán Hernyák, Roland Király. Teaching programming language in grammar schools. Annales Mathematicae et Informaticae 36 (2009) Pages: [11] Horváth, Z., Lövei, L., Kozsik, T., Kitlei, R., Víg, A., Nagy, T., Tóth, M., and Király, R.: Modeling semantic knowledge in Erlang for refactoring. In Knowledge Engineering: Principles and Techniques, Proceedings of the International Conference on Knowledge Engineering, Principles and Techniques, KEPT 2009, volume 54(2009) Sp. Issue, Studia Universitatis Babeş-Bolyai, Series Informatica, pages 7 16, Cluj-Napoca, Romania, Jul 2009 [12] Lövei, L., Tóth, M., Horváth, Z., Kozsik, T., Király, R., Kitlei, R., Bozó, I., Hoch, C., and Horpácsi, D.: Reengineering legacy Erlang code by refactoring. Central Europen Functional Programming Summer School, May [13] Thanassis Avgerinos, Konstantinos F. Sagonas Cleaning up Erlang code is a dirty job but somebody s gotta do it. Erlang Workshop 2009: 1-10 [14] Konstantinos F. Sagonas, Thanassis Avgerinos Automatic refactoring of Erlang programs. PPDP 09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming 2009: [15] Zoltán Horváth, László Lövei Tamás Kozsik, Roland Király, Melinda Tóth, Róbert Kitlei, Dániel Horpácsi, István Bozó. Complexity Metrics and simple semantic queries for Erlang. Report Ericsson Hungary [16] Tamás Kozsik, Zoltán Csörnyei, Zoltán Horváth, Roland Király, Róbert Kitlei, László Lövei, Tamás Nagy, Melinda Tóth, Anikó Víg Use Cases for Refactoring in Erlang. In Central European Functional Programming School, volume 5161/2008, Lecture Notes in Computer Science, pages , (2008) [17] R. Kitlei, L. Lövei, M Tóth, Z. Horváth, T. Kozsik, T. Kozsik, R. Király, I. Bozó, Cs. Hoch, D. Horpácsi. Automated Syntax Manipulation in RefactorErl. 14th International Erlang/OTP User Conference. Stockholm, November 13, [18] Lövei, L., Hoch, C., Köllö, H., Nagy, T., Nagyné-Víg, A., Kitlei, R., and Király, R.: Refactoring Module Structure In 7th ACM SIGPLAN Erlang Workshop, 2008 [19] Zoltán Horváth, László Lövei, Tamás Kozsik, Róbert Kitlei, Anikó Nagyné Víg, Tamás Nagy, Melinda Tóth, and Roland Király. Building a Refactoring Tool for Erlang. In K. Mens, M. van den Brand, A. Kuhn, H.M. Kienle, and R. Wuyts, editors, 1st International Workshop on Academic Software Development Tools and Techniques, pages. [20] Lövei, L., Hoch, C., Köllő, H., Nagy, T., Nagyné-Víg, A., Horpácsi, D., Kitlei, R., and Király, R.: Refactoring Module Structure In Proceedings of the 7th

10 References 10 ACM SIGPLAN workshop on Erlang, pages 83 89, Victoria, British Columbia, Canada, Sep [21] Lövei, L., Hoch, C., Köllö, H., Nagy, T., Nagyné-Víg, A., Horpácsi, D., Kitlei, R., and Király, R.: Refactoring module structure in.:proceedings of the 7th ACM SIGPLAN workshop on ERLANG Columbia, Canada, (2008) [22] Zoltán Horváth, Zoltán Csörnyei, Roland Király, Róbert Kitlei, Tamás Kozsik, László Lövei, Tamás Nagy, Melinda Tóth, and Anikó Víg.: Use cases for refactoring in Erlang, To appear in Lecture Notes in Computer Science, (2008) [23] R. Kitlei, L. Lövei, M Tóth, Z. Horváth, T. Kozsik, T. Kozsik, R. Király, I. Bozó, Cs. Hoch, D. Horpácsi.: Automated Syntax Manipulation in RefactorErl. 14th International Erlang/OTP User Conference. Stockholm, (2008) [24] Lövei, L., Hoch, C., Köllö, H., Nagy, T., Nagyné-Víg, A., Kitlei, R., and Király, R.: Refactoring Module Structure In 7th ACM SIGPLAN Erlang Workshop, (2008) [25] Zoltán Horváth, László Lövei Tamás Kozsik, Anikó Nagyné Víg, Tamás Nagy, Roland Király, Melinda Tóth, Róbert Kitlei, Dániel Horpácsi, Hanna Kölló, Krisztián Tóth, Csaba Hoch.: Erlang programok modulszerkezetének refaktorálása, Technical report (2008) [26] Horváth, Z., Lövei, L., Kozsik, T., Kitlei, R., Víg, A., Nagy, T., Tóth, M., and Király, R.: Building a refactoring tool for Erlang In Workshop on Advanced Software Development Tools and Techniques, WASDETT 2008, (2008) [27] Huiqing Li, Simon Thompson, György Orosz, Melinda Tóth.: Refactoring with wrangler, updated: data and process refactorings, and integration with Eclipse Proceedings of the 7th ACM SIGPLAN workshop on ERLANG (2008) [28] Lövei, L., Horváth, Z., Kozsik, T., Király, R., Víg, A., and Nagy, T.: Refactoring in Erlang, a Dynamic Functional Language In Proceedings of the 1st Workshop on Refactoring Tools, pages 4546, Berlin, Germany, 2007 extended abstract [29] László Lövei, Zoltán Horváth, Tamás Kozsik, Roland Király, and Róbert Kitlei. Static rules of variable scoping in Erlang. In Emőd Kovács, Péter Olajos, and Tibor Tómács, editors, Proceedings of the 7th International Conference on Applied Informatics, volume 2, pages , rev: Zbl pre [30] Tamás Kozsik, Zoltán Csörnyei, Zoltán Horváth, Roland Király, Róbert Kitlei, László Lövei, Tamás Nagy, Melinda Tóth, and Anikó Víg. Use Cases for Refactoring in Erlang. In Central European Functional Programming School (The Second Central European Summer School, CEFP 2007, Cluj, Romania, June 23-30, 2007), Revised Selected Lectures, volume 5161 of Lecture Notes in Computer Science, pages Springer Berlin/Heidelberg, rev: Zbl , DBLP

11 References 11 [31] László Lövei, Zoltán Horváth, Tamás Kozsik, and Roland Király. Introducing records by refactoring. In Proceedings of the 2007 ACM SIGPLAN Erlang Workshop, pages ACM Press, [32] Lövei, L., Horváth, Z., Kozsik, T., Király, R., Víg, A., and Nagy, T.: Refactoring in Erlang, a Dynamic Functional Language In Proceedings of the 1st Workshop on Refactoring Tools, pages 45 46, Berlin, Germany, extended abstract, poster (2007) [33] T. Kozsik, Z. Horváth, L. Lövei, T. Nagy, Z. Csörnyei, A. Víg, R. Király, M. Tóth, R. Kitlei.. Refactoring Erlang programs. CEFP 07, Kolozsvár (2007) [34] Ryder, C., Thompson, S. Software Metrics: Measuring Haskell, In Marko van Eekelen and Kevin Hammond, editors, Trends in Functional Programming (September 2005) [35] Ryder, C. Software Measurement for Functional Programming, PhD thesis, Computing Lab, University of Kent, Canterbury, UK 2004) [36] Fóthi Á., Nyéki-Gaizler J., Porkoláb Z. The Structured Complexity of Object Oriented Programs Computers and Mathematics with applications, (2002) [37] Frank Simon, Frank Steinbrückner, Claus Lewerentz Metrics based refactoring IEEE Computer Society Press , [38] Claus Lewerentz, Frank Simon A Product Metrics Tool Integrated into a Software Development Environment Object-Oriented Technology (ECOOP 98 Workshop Reader), LNCS 1543 Springer-Verlag [39] Klaas van den Berg.: Software Measurement and Functional Programming, PhD Thesis University of Twente (1995) [40] Erlang - Dynamic Functional Language [41] Eclipse Foundation

Detecting and Visualising Process Relationships in Erlang

Detecting and Visualising Process Relationships in Erlang Procedia Computer Science Volume 29, 2014, Pages 1525 1534 ICCS 2014. 14th International Conference on Computational Science Melinda Tóth and István Bozó Eötvös Loránd University, Budapest, Hungary {tothmelinda,

More information

Static rules of variable scoping in Erlang

Static rules of variable scoping in Erlang Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 137 145. Static rules of variable scoping in Erlang László Lövei, Zoltán Horváth,

More information

Prototype Environment for Refactoring Clean Programs

Prototype Environment for Refactoring Clean Programs Prototype Environment for Refactoring Clean Programs Extended abstract Rozália Szabó-Nacsa, Péter Diviánszky, Zoltán Horváth Department of Software Technology and Methodology, Eötvös Loránd University,

More information

Generic syntactic analyser: ParsErl

Generic syntactic analyser: ParsErl Generic syntactic analyser: ParsErl Róbert Kitlei, László Lövei, Tamás Nagy, Anikó Nagyné Vig, Zoltán Horváth, Zoltán Csörnyei Department of Programming Languages and Compilers, Eötvös Loránd University,

More information

Refactoring via Database Representation

Refactoring via Database Representation 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Refactoring via Database Representation Péter Diviánszky 1, Rozália Szabó-Nacsa 2, Zoltán Horváth 1 1 Department

More information

Teaching Principles of Dependable Distributed Software

Teaching Principles of Dependable Distributed Software Teaching Principles of Dependable Distributed Software Zoltán Horváth hz@inf.elte.hu Faculty of Informatics, Eötvös Loránd University, Budapest 14th Workshop on Software Engineering Education and Reverse

More information

Teaching Functional Programming

Teaching Functional Programming Zoltán Horváth hz@inf.elte.hu lecturers: István Bozó, Zoltán Csörnyei, Andrea Kovács, Gábor Páli, Máté Tejfel, Melinda Tóth Faculty of Informatics, Eötvös Loránd University, Budapest 15th Workshop on Software

More information

Where shall I parallelize?

Where shall I parallelize? Where shall I parallelize? Judit Dániel Tamás Melinda István Viktória Zoltán Kőszegi Horpácsi Kozsik Tóth Bozó Fördős Horváth Eötvös Loránd University and ELTE-Soft Kft. Budapest, Hungary Erlang User Conference

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Thesis book. Extension of strongly typed object-oriented systems using metaprograms István Zólyomi

Thesis book. Extension of strongly typed object-oriented systems using metaprograms István Zólyomi Thesis book Extension of strongly typed object-oriented systems using metaprograms István Zólyomi Supervisor: Dr. Zoltán Porkoláb Eötvös Loránd University Faculty of Informatics Department of Programming

More information

Comparative analysis of refactoring and code optimization

Comparative analysis of refactoring and code optimization Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 257 264. Comparative analysis of refactoring and code optimization Róbert Kitlei,

More information

Teaching programming language in grammar schools

Teaching programming language in grammar schools Annales Mathematicae et Informaticae 36 (2009) pp. 163 174 http://ami.ektf.hu Teaching programming language in grammar schools Zoltán Hernyák, Roland Király Eszterházy Károly College, Department of Information

More information

Functional Modelling of Operating Systems

Functional Modelling of Operating Systems BABEŞ-BOLYAI UNIVERSITY, CLUJ-NAPOCA FACULTY OF MATHEMATICS AND COMPUTER SCIENCE EÖTVÖS LORÁND UNIVERSITY, BUDAPEST FACULTY OF INFORMATICS Functional Modelling of Operating Systems Theses of the Doctoral

More information

On the correctness of template metaprograms

On the correctness of template metaprograms Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán

More information

Why code complexity metrics fail on the C++ standard template library

Why code complexity metrics fail on the C++ standard template library Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 271 276. Why code complexity metrics fail on the C++ standard template library Norbert

More information

Detaching and Reconstructing the Documentary Structure of Source Code

Detaching and Reconstructing the Documentary Structure of Source Code Chapter 1 Detaching and Reconstructing the Documentary Structure of Source Code Péter Diviánszky, Attila Góbi, Dániel Leskó, Mónika Mészáros, 1 Gábor Páli 2 Category: Research 3 Abstract: Comments and

More information

Refactoring Erlang Programs

Refactoring Erlang Programs Refactoring Erlang Programs Huiqing Li, Simon Thompson University of Kent, UK László Lövei, Zoltán Horváth, Tamás Kozsik, Anikó Víg, Tamás Nagy Eötvös Loránd University, Hungary Abstract We describe refactoring

More information

Analysing and visualising callback modules of Erlang generic server behaviours

Analysing and visualising callback modules of Erlang generic server behaviours Analysing and visualising callback modules of Erlang generic server behaviours István Bozó bozoistvan@caesar.elte.hu Melinda Tóth tothmelinda@caesar.elte.hu Mátyás Béla Kuti matyas.kuti@gmail.com ELTE

More information

LAYOUT PRESERVING PARSER FOR REFACTORING IN ERLANG

LAYOUT PRESERVING PARSER FOR REFACTORING IN ERLANG 54 Acta Electrotechnica et Informatica, Vol. 9, No. 3, 2009, 54 63 LAYOUT PRESERVING PARSER OR REACTORING IN ERLANG Róbert KITLEI, László LÖVEI, Tamás NAGY, Zoltán HORVÁTH, Tamás KOZSIK Department of Programming

More information

Feldspar A Functional Embedded Language for Digital Signal Processing *

Feldspar A Functional Embedded Language for Digital Signal Processing * Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 149 156. Feldspar A Functional Embedded Language for Digital Signal Processing *

More information

Practical Analyses for Refactoring Tools. University of Kent, UK

Practical Analyses for Refactoring Tools. University of Kent, UK Practical Analyses for Refactoring Tools Simon Thompson University of Kent, UK Huiqing Li EE, UK Context Building refactoring tools for functional programming languages. Haskell, OCaml, CakeML, Wrangler,

More information

Parallel Functional Programming Using D-Clean

Parallel Functional Programming Using D-Clean Parallel Functional Programming Using D-Clean The theses of the Ph.D. dissertation Zsók Viktória http://zsv.web.elte.hu/ 2012 zsv@elte.hu Supervisor: Prof. Dr. Horváth Zoltán Eötvös Loránd University,

More information

Egy Erlang Refaktor Lépés: Függvényparaméterek Összevonása Tuple-ba

Egy Erlang Refaktor Lépés: Függvényparaméterek Összevonása Tuple-ba Egy Erlang Refaktor Lépés: Függvényparaméterek Összevonása Tuple-ba TDK Dolgozat Nagy Tamás és Víg Anikó e-mail: {n_tamas viganiko}@inf.elte.hu Konzulensek: Horváth Zoltán és Simon Thompson Programozási

More information

Evolution of XML Applications

Evolution of XML Applications Evolution of XML Applications University of Technology Sydney, Australia Irena Mlynkova 9.11. 2011 XML and Web Engineering Research Group Department of Software Engineering Faculty of Mathematics and Physics

More information

UNIT TESTING OF C++ TEMPLATE METAPROGRAMS

UNIT TESTING OF C++ TEMPLATE METAPROGRAMS STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LV, Number 1, 2010 UNIT TESTING OF C++ TEMPLATE METAPROGRAMS ÁBEL SINKOVICS Abstract. Unit testing, a method for verifying a piece of software, is a widely

More information

Intermediate representations of functional programming languages for software quality control

Intermediate representations of functional programming languages for software quality control Intermediate representations of functional programming languages for software quality control Melinda Tóth, Gordana Rakić Eötvös Loránd University Faculty of Informatics University of Novi Sad Chair of

More information

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Karl Trygve Kalleberg 1 Department of Informatics, University of Bergen, P.O. Box 7800, N-5020 BERGEN,

More information

SERG. Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

SERG. Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Delft University of Technology Software Engineering Research Group Technical Report Series Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Karl Trygve

More information

Domain-specific languages with custom operators

Domain-specific languages with custom operators Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 263 271 doi: 10.14794/ICAI.9.2014.2.263 Domain-specific languages with custom

More information

The Semantic Web Explained

The Semantic Web Explained The Semantic Web Explained The Semantic Web is a new area of research and development in the field of computer science, aimed at making it easier for computers to process the huge amount of information

More information

A User-extensible Refactoring Tool for Erlang Programs

A User-extensible Refactoring Tool for Erlang Programs A User-extensible Refactoring Tool for Erlang Programs Huiqing Li and Simon Thompson School of Computing, University of Kent, UK {H.Li, S.J.Thompson}@kent.ac.uk Abstract. Refactoring is the process of

More information

Scenario-based Refactoring Selection

Scenario-based Refactoring Selection BABEŞ-BOLYAI University of Cluj-Napoca Faculty of Mathematics and Computer Science Proceedings of the National Symposium ZAC2014 (Zilele Academice Clujene, 2014), p. 32-41 Scenario-based Refactoring Selection

More information

Bypassing Memory Leak in Modern C++ Realm

Bypassing Memory Leak in Modern C++ Realm Annales Mathematicae et Informaticae 48 (2018) pp. 43 50 http://ami.uni-eszterhazy.hu Bypassing Memory Leak in Modern C++ Realm Dorottya Papp, Norbert Pataki Dept. of Programming Languages and Compilers,

More information

CURRICULUM VITAE. June, 2013

CURRICULUM VITAE. June, 2013 CURRICULUM VITAE ד"ר אבי סופר Dr. Avi Soffer June, 2013 ORT Braude College, Department of Software Engineering, P.O. Box 78, Karmiel 2161002, Israel Telephone: +972-4-990-1720 Email: asoffer@braude.ac.il

More information

Extracting the Range of cps from Affine Typing

Extracting the Range of cps from Affine Typing Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham

More information

The Horizontal Splitter Algorithm of the Content-Driven Template- Based Layout System

The Horizontal Splitter Algorithm of the Content-Driven Template- Based Layout System The Horizontal Splitter Algorithm of the Content-Driven Template- Based Layout System ISTVÁN ALBERT, HASSAN CHARAF, LÁSZLÓ LENGYEL Department of Automation and Applied Informatics Budapest University of

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Recovering Erlang AST from BEAM bytecode

Recovering Erlang AST from BEAM bytecode Recovering Erlang AST from BEAM bytecode Dániel Lukács and Melinda Tóth Eötvös Loránd University HU, Faculty of Informatics This research has been supported by the Hungarian Government through the New

More information

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVIII, Number 4, 2013 SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY CAMELIA ŞERBAN Abstract. Due to the complexity of object oriented design, its assessment

More information

Modelling of Adaptive Hypermedia Systems

Modelling of Adaptive Hypermedia Systems Modelling of Adaptive Hypermedia Systems Martin Balík, Ivan Jelínek Abstract: The amount of information on the web is permanently growing. The orientation within the information is becoming more and more

More information

XML Data in (Object-) Relational Databases

XML Data in (Object-) Relational Databases XML Data in (Object-) Relational Databases RNDr. Irena Mlýnková irena.mlynkova@mff.cuni.cz Charles University Faculty of Mathematics and Physics Department of Software Engineering Prague, Czech Republic

More information

A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming

A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming S. Goderis W. De Meuter J. Brichau Programming Technology Lab, Vrije Universiteit Brussel, Belgium Abstract.

More information

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Departament Departament

More information

Proving Invariants of Functional Programs

Proving Invariants of Functional Programs Proving Invariants of Functional Programs Zoltán Horváth, Tamás Kozsik, Máté Tejfel Eötvös Loránd University Department of General Computer Science {hz,kto,matej}@inf.elte.hu Abstract. In a pure functional

More information

Kent Academic Repository

Kent Academic Repository Kent Academic Repository Full text document (pdf) Citation for published version Li, Huiqing and Thompson, Simon and Reinke, Claus (2005) The Haskell Refactorer, HaRe, and its API. Electronic Notes in

More information

COMMUNITY SHELL S EFFECT ON THE DISINTEGRATION OF SOCIAL NETWORKS

COMMUNITY SHELL S EFFECT ON THE DISINTEGRATION OF SOCIAL NETWORKS Annales Univ. Sci. Budapest., Sect. Comp. 43 (2014) 57 68 COMMUNITY SHELL S EFFECT ON THE DISINTEGRATION OF SOCIAL NETWORKS Imre Szücs (Budapest, Hungary) Attila Kiss (Budapest, Hungary) Dedicated to András

More information

Log System Based on Software Testing System Design And Implementation

Log System Based on Software Testing System Design And Implementation 4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Log System Based on Software Testing System Design And Implementation Yan Liu1, a, Dahai Jin1,

More information

Symbolic Evaluation of Sums for Parallelising Compilers

Symbolic Evaluation of Sums for Parallelising Compilers Symbolic Evaluation of Sums for Parallelising Compilers Rizos Sakellariou Department of Computer Science University of Manchester Oxford Road Manchester M13 9PL United Kingdom e-mail: rizos@csmanacuk Keywords:

More information

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Jang-Wu Jo 1 and Byeong-Mo Chang 2 1 Department of Computer Engineering Pusan University of Foreign Studies Pusan

More information

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

Testing the Usability of Visual Languages: A Web-Based Methodology

Testing the Usability of Visual Languages: A Web-Based Methodology Testing the Usability of Visual Languages: A Web-Based Methodology Mauro Mosconi Marco Porta Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, 1 27100 Pavia Italy mauro@vision.unipv.it

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Imagine you ve written a piece of code but then accidentally deleted and lost it.

Imagine you ve written a piece of code but then accidentally deleted and lost it. Why Refactor? Imagine you ve written a piece of code but then accidentally deleted and lost it. Questions: How much time would it take you to reconstruct from scratch what you had the same amount, or more,

More information

Introduction. Intended readership

Introduction. Intended readership Introduction The Semantic Web is a new area of computer science that is being developed with the main aim of making it easier for computers to process intelligently the huge amount of information on the

More information

The Haskell Refactorer, HaRe, and its API

The Haskell Refactorer, HaRe, and its API LDTA 2005 Preliminary Version The Haskell Refactorer, HaRe, and its API Huiqing Li a,1 Simon Thompson a,1 Claus Reinke b,1 a Computing Laboratory, University of Kent, Canterbury, UK b Canterbury, UK Abstract

More information

Modeling pilot project at Ericsson Expert Analytics

Modeling pilot project at Ericsson Expert Analytics Modeling pilot project at Ericsson Expert Analytics Gábor Ferenc Kovács, Gergely Dévai ELTE-Soft, ELTE University, Ericsson Ericsson Modeling Days, Stockholm, 13-14 September 2016 Overview Background of

More information

A Type Graph Model for Java Programs

A Type Graph Model for Java Programs A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl

More information

Domain-Specific Languages for Digital Forensics

Domain-Specific Languages for Digital Forensics Domain-Specific Languages for Digital Forensics Jeroen van den Bos Centrum Wiskunde & Informatica Nederlands Forensisch Instituut jeroen@infuse.org Abstract. Due to strict deadlines, custom requirements

More information

Eclipse Support for Using Eli and Teaching Programming Languages

Eclipse Support for Using Eli and Teaching Programming Languages Electronic Notes in Theoretical Computer Science 141 (2005) 189 194 www.elsevier.com/locate/entcs Eclipse Support for Using Eli and Teaching Programming Languages Anthony M. Sloane 1,2 Department of Computing

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

Supporting parametric polymorphism in CORBA IDL

Supporting parametric polymorphism in CORBA IDL Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 285 292. Supporting parametric polymorphism in CORBA IDL Zoltán Porkoláb a, Roland

More information

Chuck Cartledge, PhD. 21 January 2018

Chuck Cartledge, PhD. 21 January 2018 Big Data: Data Analysis Boot Camp Serial vs. Parallel Processing Chuck Cartledge, PhD 21 January 2018 1/24 Table of contents (1 of 1) 1 Intro. 2 Amdahl A little math 3 BD Processing Programming paradigms

More information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,

More information

Two Dimensional Visualization of Software Metrics

Two Dimensional Visualization of Software Metrics 2 Two Dimensional Visualization of Software Metrics TIBOR BRUNNER and ZOLTÁN PORKOLÁB, Ericsson Ltd. Successful software systems are under continuous change. Bug-fixing, adding new features modify or extend

More information

Designing a System Engineering Environment in a structured way

Designing a System Engineering Environment in a structured way Designing a System Engineering Environment in a structured way Anna Todino Ivo Viglietti Bruno Tranchero Leonardo-Finmeccanica Aircraft Division Torino, Italy Copyright held by the authors. Rubén de Juan

More information

The Fox Project: Advanced Development of Systems Software

The Fox Project: Advanced Development of Systems Software The Fox Project: Advanced Development of Systems Software R&D Status Report July 1 to September 30, 1999 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 19991222 022 This research

More information

... is a Programming Environment (PE)?... is Generic Language Technology (GLT)?

... is a Programming Environment (PE)?... is Generic Language Technology (GLT)? Introduction to Generic Language Technology Today Mark van den Brand Paul Klint Jurgen Vinju Tools for software analysis and manipulation Programming language independent (parametric) The story is from

More information

Automatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description

Automatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description Automatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description Benjamin Weber March 2017 Introduction Higher-order functions take other functions as parameters. Thus,

More information

A Modified Inertial Method for Loop-free Decomposition of Acyclic Directed Graphs

A Modified Inertial Method for Loop-free Decomposition of Acyclic Directed Graphs MACRo 2015-5 th International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics A Modified Inertial Method for Loop-free Decomposition of Acyclic Directed Graphs

More information

Implementation of Axiomatic Language

Implementation of Axiomatic Language Implementation of Axiomatic Language Walter W. Wilson 1 1 Dept. of Computer Science & Engineering The University of Texas at Arlington Arlington, Texas 76019, USA wwwilson@acm.org Abstract This report

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

A PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING

A PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING IADIS International Conference Applied Computing 2007 A PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING Lau Sei Ping 1, Wee Bui Lin 2, Nurfauza bt Jali 3 Faculty of Computer Science and Information Technology

More information

A Visual Based Framework for the Model Refactoring Techniques

A Visual Based Framework for the Model Refactoring Techniques A Visual Based Framework for the Model Refactoring Techniques M. Štolc *, I. Polášek *(**) * Faculty of Informatics and Information Technologies, STU Bratislava, Slovakia ** Gratex International, a.s.,

More information

The largest known Cunningham chain of length 3 of the first kind

The largest known Cunningham chain of length 3 of the first kind Stud. Univ. Babeş-Bolyai Math. 59(2014), No. 4, 457 462 The largest known Cunningham chain of length 3 of the first kind Gábor Farkas, Gábor E. Gévay, Antal Járai and Emil Vatai Abstract. Cunningham chains

More information

Adding Usability to Web Engineering Models and Tools

Adding Usability to Web Engineering Models and Tools Adding Usability to Web Engineering Models and Tools Richard Atterer 1 and Albrecht Schmidt 2 1 Media Informatics Group Ludwig-Maximilians-University Munich, Germany richard.atterer@ifi.lmu.de 2 Embedded

More information

Renaud Durlin. May 16, 2007

Renaud Durlin. May 16, 2007 A comparison of different approaches EPITA Research and Development Laboratory (LRDE) http://www.lrde.epita.fr May 16, 2007 1 / 25 1 2 3 4 5 2 / 25 1 2 3 4 5 3 / 25 Goal Transformers:

More information

RAMSES: a Reflective Middleware for Software Evolution

RAMSES: a Reflective Middleware for Software Evolution RAMSES: a Reflective Middleware for Software Evolution Walter Cazzola 1, Ahmed Ghoneim 2, and Gunter Saake 2 1 Department of Informatics and Communication, Università degli Studi di Milano, Italy cazzola@dico.unimi.it

More information

Distributed Computing Based on Clean Dynamics

Distributed Computing Based on Clean Dynamics 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Distributed Computing Based on Clean Dynamics Hajnalka Hegedűs, Zoltán Horváth Department of Programming Languages

More information

A FRAMEWORK FOR ACTIVE OBJECTS IN.NET

A FRAMEWORK FOR ACTIVE OBJECTS IN.NET STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LV, Number 3, 2010 A FRAMEWORK FOR ACTIVE OBJECTS IN.NET DAN MIRCEA SUCIU AND ALINA CUT Abstract. Nowadays, the concern of computer science is to find new

More information

An Object Model for Multiparadigm

An Object Model for Multiparadigm 1 of 7 03/02/2007 15:37 http://www.dmst.aueb.gr/dds/pubs/conf/1994-oopsla-multipar/html/mlom.html This is an HTML rendering of a working paper draft that led to a publication. The publication should always

More information

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES Hristo Hristov Abstract. In the article, we have reviewed the

More information

CAP - Advanced Programming Concepts

CAP - Advanced Programming Concepts Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 723 - CS - Department of Computer Science Academic year: Degree: 2017 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING (Syllabus

More information

Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, Vol. 2. pp.

Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, Vol. 2. pp. Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 9 16 doi: 10.14794/ICAI.9.2014.2.9 PFW as generator László Menyhárt, Gáborné

More information

Describing Semantics of Data Types in XML

Describing Semantics of Data Types in XML 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Describing Semantics of Data Types in XML Szabolcs Hajdaraa, Balázs Ugronb Department of Software Technology and

More information

CAP - Advanced Programming Concepts

CAP - Advanced Programming Concepts Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 723 - CS - Department of Computer Science Academic year: Degree: 2018 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING (Syllabus

More information

ADAM CHLIPALA. Research interests. Education. Refereed conference papers

ADAM CHLIPALA. Research interests. Education. Refereed conference papers 579 Soda Hall Berkeley, CA 94720-1776 USA adamc@cs.berkeley.edu http://www.cs.berkeley.edu/ adamc/ Research interests ADAM CHLIPALA Dependent type systems; interactive theorem proving; type-based programming

More information

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Jan Gustafsson Department of Computer Engineering, Mälardalen University Box 883, S-721 23 Västerås, Sweden jangustafsson@mdhse

More information

AN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES

AN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LII, Number 2, 2007 AN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES I. LAZĂR, B. PÂRV, S. MOTOGNA, I.-G. CZIBULA, AND C.-L. LAZĂR Abstract.

More information

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt The Implications of Optimality Results for Incremental Model Synchronization for TGGs Bi-directional transformations (BX) Theory and Applications Across Disciplines (13w5115) December 1-6, 2013 Holger

More information

Advanced Layouts in a Content-Driven Template-Based Layout System

Advanced Layouts in a Content-Driven Template-Based Layout System Advanced Layouts in a Content-Driven Template-Based Layout System ISTVÁN ALBERT, HASSAN CHARAF, LÁSZLÓ LENGYEL Department of Automation and Applied Informatics Budapest University of Technology and Economics

More information

Towards Sound Refactoring in Erlang

Towards Sound Refactoring in Erlang Tanti, E. and Francalanza, A. (2015). Xjenza Online, 3:3135. Xjenza Online - Journal of The Malta Chamber of Scientists DOI: Research Article Towards Sound Refactoring in Erlang E. Tanti, A. Francalanza

More information

PROGRAMMING THEOREMS HAVE THE SAME ORIGIN Péter SZLÁVI, Gábor TÖRLEY, László ZSAKÓ, HU

PROGRAMMING THEOREMS HAVE THE SAME ORIGIN Péter SZLÁVI, Gábor TÖRLEY, László ZSAKÓ, HU PROGRAMMIG THEOREMS HAVE THE SAME ORIGI Péter SZLÁVI, Gábor TÖRLEY, László ZSAKÓ, HU Abstract: One of the classical ways of learning programming is to divide programming tasks into large groups, so-called

More information

Chuck Cartledge, PhD. 24 September 2017

Chuck Cartledge, PhD. 24 September 2017 Introduction Amdahl BD Processing Languages Q&A Conclusion References Big Data: Data Analysis Boot Camp Serial vs. Parallel Processing Chuck Cartledge, PhD 24 September 2017 1/24 Table of contents (1 of

More information

Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2

Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2 Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2 1 DEWESoft d.o.o. Gabersko 11a, 1420 Trbovlje SLOVENIA {tomaz.kos, jure.knez}@dewesoft.si http://www.dewesoft.si

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Towards Compositional Domain Specific Languages

Towards Compositional Domain Specific Languages Andreas Horst, Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ 1 Introduction The deployment of Domain Specific Languages (DSL) and in particular Domain Specific

More information

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Timothy C. Lethbridge Department of Electrical Engineering and Computer Science, University of Ottawa

More information

CheckVir anti-virus testing and certification

CheckVir anti-virus testing and certification CheckVir anti-virus testing and certification : Best Paper Proceedings Nikoletta Kárpáti, Veszprog Ltd., Hungary Ph.D. Ferenc Leitold, Veszprem University - Veszprog Ltd., Hungary About Authors Nikoletta

More information

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications SOS 2006 Preliminary Version An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications Adrian Pop 1,2 Peter Fritzson 3 Programming Environments Laboratory

More information

CREATING SORTED LIST FOR SIMULINK MODELS WITH GRAPH TRANSFORMATION

CREATING SORTED LIST FOR SIMULINK MODELS WITH GRAPH TRANSFORMATION CREATING SORTED LIST FOR SIMULINK MODELS WITH GRAPH TRANSFORMATION Péter Fehér (a), Tamás Mészáros (a), Pieter J. Mosterman (b) and László Lengyel (a) (a) Department of Automation and Applied Informatics

More information