2024 |
Modelling Sustainability in Cyber-Physical Systems: A Systematic Mapping Study.
Sustainable Computing: Informatics and Systems, Elsevier. |
2024 |
A Two-Level Model-Driven Approach for Reengineering CI/CD Pipelines.
2024 National Symposium of Informatics (INForum'24) |
2024 |
Programmer User Studies: Supporting Tools & Features.
2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp 290-292 doi:10.1109/VL/HCC60511.2024.00026 [poster] |
2024 |
Evaluating Tools for Enhancing Reproducibility in Computational Scientific Experiments. ACM REP '24: Proceedings of the 2nd ACM Conference on Reproducibility and Replicability, pp 46-51 doi:10.1145/3641525.366362 |
2024 |
Chronicles of CI/CD: A Deep Dive into its Usage Over Time. arXiv:2402.17588 doi:10.48550/arXiv.2402.17588 |
2023 |
Towards an IDE for Scientific Computational Experiments. 2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp 290-292 doi:10.1109/VL-HCC57772.2023.00056 |
2023 |
CI/CD Meets Block-Based Languages. 2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp 232-234 doi:10.1109/VL-HCC57772.2023.00039 |
2023 |
Visually-Assisted Decomposition of Monoliths to Microservices. 2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp 293-295 doi:10.1109/VL-HCC57772.2023.00057 [slides] |
2023 |
A Backend Platform for Supporting the Reproducibility of Computational Experiments. arXiv:2308.00703 doi:10.48550/arXiv.2308.00703 |
2023 |
A Methodology for Refactoring ORM-based Monolithic Web Applications into Microservices. Journal of Computer Languages (COLA), Volume 75, 2023, 101205, Elsevier. doi:10.1016/j.cola.2023.101205 |
2023 |
Impact of Remote Work on Portuguese Software Professionals During the COVID-19 Pandemic.
26th IberoAmerican Conference on Software Engineering (CibSE'23) |
2022 |
Which Technologies are Most Frequently Used by Data Scientists?
2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'21) , pp 1-5 doi:10.1109/VL/HCC53370.2022.9833122 [poster] |
2022 |
Energy Efficiency of Web Browsers in the Android Ecosystem.
2022 Workshop on Resource AWareness of Systems and Society (RAW'22) |
2021 |
Towards a Block-based Language for Linear Programming.
Proceedings of the 2021 National Symposium of Informatics (INForum'21) [poster] |
2021 |
Linear Programming Meets Block-based Languages.
2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'21) , pp 1-3 doi:10.1109/VL/HCC51201.2021.9576449 |
2021 |
Ranking programming languages by energy efficiency.
Sci. Comput. Program. , pp 102609 doi:10.1016/j.scico.2021.102609 |
2021 |
Green Software Lab: Towards an Engineering Discipline for Green Software.
CoRR |
2021 |
Refactoring Java Monoliths into Executable Microservice-Based Applications.
25th Brazilian Symposium on Programming Languages (SBLP'21) , pp 100--107 doi:10.1145/3475061.3475086 [abstract]
In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud -- the so-called microservice-based applications. The dramatic growth in popularity of microservice-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years. We propose a methodology to automatically evolve a Java monolithic application into a microservice-based one. Our methodology receives the Java code and a proposition of microservices and refactors the original classes to make each microservice independent. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The initial evaluation shows that our tool can successfully refactor 80% of the applications tested.
|
2021 |
Identification of microservices from monolithic applications through topic modelling.
36th ACM/SIGAPP Symposium on Applied Computing (SAC'21), Virtual Event, Republic of Korea, March 22-26, 2021 , pp 1409--1418 doi:10.1145/3412841.3442016 |
2020 |
Data Science For All.
Interrogating Data Science CSCW 2020 Workshop |
2020 |
Data Curation: Towards a Tool for All.
HCI International 2020 -- Late Breaking Posters , pp 176--183 doi:https://doi.org/10.1007/978-3-030-60700-5_23 [demo youtube] [poster] [abstract]
Data science has started to become one of the most important skills one can have in the modern world, due to data taking an increasingly meaningful role in our lives. The accessibility of data science is however limited, requiring complicated software or programming knowledge. Both can be challenging and hard to master, even for the simple tasks.
|
2020 |
SPELLing out energy leaks: Aiding developers locate energy inefficient code.
Journal of Systems and Software , pp 110463 doi:https://doi.org/10.1016/j.jss.2019.110463 [abstract]
Although hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware. This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit. Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization.
|
2020 |
Telephone-based psychological crisis intervention: the Portuguese experience with COVID-19.
Counselling Psychology Quarterly 0(0) , pp 1-15 doi:10.1080/09515070.2020.1772200 [abstract]
Portugal is one of the European countries that implemented early protective measures in the context of the COVID-19 pandemic. Portugal declared a state of emergency on 18 March, and a set of regional and national preventive public health measures was progressively implemented. Studies on the psychological impact of pandemics show evidence of the negative impact on mental health. Of particular concern are individuals with previous fragility (e.g. personal, family or occupational) and those undergoing life transitions. In this paper, we present a telephone-based psychological crisis intervention that was implemented to provide brief, appropriate, and timely psychological help. This intervention follows standard models of crisis intervention and is structured in five phases and five different intervention modules to take into account the impact of the pandemic on the mental health of specific risk groups. With these support services, we hope to help our community better cope with the immediate impact of the pandemic and to contribute to preventing serious mental health problems in the medium and long term.
|
2020 |
On Understanding Data Scientists.
2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) , pp 1-5 doi:https://doi.org/10.1109/VL/HCC50065.2020.9127269 [slides] |
2019 |
Watch Out for that Tree! A Tutorial on Shortcut Deforestation.
Central European Functional Programming School: 6th Summer School, CEFP 2015, Budapest, Hungary, July 6--10, 2015, Revised Selected Papers , pp 1--41 doi:10.1007/978-3-030-28346-9_1 [abstract]
Functional programmers are strong enthusiasts of modular solutions to programming problems. Since software characteristics such as readability or maintainability are often directly proportional to modularity, this programming style naturally contributes to the beauty of functional programs. Unfortunately, in return of this beauty we often sacrifice efficiency: modular programs rely, at runtime, on the creation, use and elimination of intermediate data structures to connect its components. In this tutorial paper, we study an advanced technique that attempts to retain the best of this two worlds: (i) it allows programmers to implement beautiful, modular programs (ii) it shows how to transform such programs, in a way that can be incorporated in a compiler, into programs that do not construct any intermediate structure.
|
2019 |
Get Your Spreadsheets Under (Version) Control.
Proceedings of the XXII Iberoamerican Conference on Software Engineering, CIbSE 2019, La Habana, Cuba, April 22-26, 2019. , pp 100--113 |
2019 |
Towards using Memoization for Saving Energy in Android.
Proceedings of the XXII Iberoamerican Conference on Software Engineering, CIbSE 2019, La Habana, Cuba, April 22-26, 2019. , pp 279--292 |
2018 November |
Explaining Spreadsheets with Spreadsheets.
Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE'18) , pp 161--167 [poster] [slides] |
2018 September |
jStanley: Placing a Green Thumb on Java Collections.
Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE'18) , pp 856--859 [slides] [tool] [poster] [video] |
2018 June |
Typing the Evolution of Variational Software.
24th International Conference on Types for Proofs and Programs (TYPES'18) [slides] |
2018 May |
A Building Automation Case Study: Setup and Challenges.
Proceedings of the 4th International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS'18), an event of the 40th International Conference on Software Engineering (ICSE'18) , pp 41--44 [slides] |
2018 |
2018 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2018, Lisbon, Portugal, October 1-4, 2018.
Proceedings |
2017 |
Variability and Complexity in Software Design: Towards Quality through Modeling and Testing.
ACM SIGSOFT Software Engineering Notes 42(4) , pp 35--37 doi:10.1145/3149485.3149524 |
2017 |
Type-Safe Evolution of Web Services.
2nd IEEE/ACM International Workshop on Variability and Complexity in Software Design, VACE@ICSE 2017, Buenos Aires, Argentina, May 27, 2017 , pp 20--26 doi:10.1109/VACE.2017.6 |
2017 |
Helping programmers improve the energy efficiency of source code.
Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion Volume , pp 238--240 doi:10.1109/ICSE-C.2017.80 |
2017 |
Towards systematic spreadsheet construction processes.
Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion Volume , pp 356--358 doi:10.1109/ICSE-C.2017.141 |
2017 |
Energy efficiency across programming languages: how do energy, time, and memory relate?.
Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, Vancouver, BC, Canada, October 23-24, 2017 , pp 256--267 doi:10.1145/3136014.3136031 |
2017 |
Products go Green: Worst-Case Energy Consumption in Software Product Lines.
Proceedings of the 21st International Systems and Software Product Line Conference, SPLC 2017, Volume A, Sevilla, Spain, September 25-29, 2017 , pp 84--93 doi:10.1145/3106195.3106214 |
2017 |
Systematic spreadsheet construction processes.
2017 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2017, Raleigh, NC, USA, October 11-14, 2017 , pp 123--127 doi:10.1109/VLHCC.2017.8103459 |
2017 |
Grand Timely Topics in Software Engineering - International Summer School GTTSE 2015, Braga, Portugal, August 23-29, 2015, Tutorial Lectures.
Proceedings doi:10.1007/978-3-319-60074-1 |
2016 |
Static Energy Consumption Analysis in Variability Systems.
2nd Green in Software Engineering Workshop (GInSEng'16), an event of the 4th International Conference on ICT for Sustainability (ICT4S) [abstract]
Energy consumption is becoming an evident concern to software developers. This is even more notorious due to the propagation of mobile devices. Such propagation of devices is also influencing software development: a software system is now developed has a set of similar products sharing common features. In this short paper, we describe our methodology aim at static and accurately predict the energy consumption of software products in such variability systems, typically called software product lines.
|
2016 |
Model inference for spreadsheets.
Automated Software Engineering 23(3) , pp 361--392 doi:10.1007/s10515-014-0167-x |
2016 |
Evaluating refactorings for spreadsheet models.
Journal of Systems and Software , pp 234--250 doi:10.1016/j.jss.2016.04.043 |
2016 |
The influence of the Java collection framework on overall energy consumption.
Proceedings of the 5th International Workshop on Green and Sustainable Software, GREENS@ICSE 2016, Austin, Texas, USA, May 16, 2016 , pp 15--21 doi:10.1145/2896967.2896968 |
2016 |
Modeling the Impact of UAVs in Sustainability.
24th IEEE International Requirements Engineering Conference, RE 2016, Beijing, China, September 12-16, 2016 , pp 208--216 doi:10.1109/REW.2016.044 |
2016 |
User-friendly spreadsheet querying: an empirical study.
Proceedings of the 31st Annual ACM Symposium on Applied Computing, Pisa, Italy, April 4-8, 2016 , pp 202--204 doi:10.1145/2851613.2851910 |
2015 |
GreenDroid: A tool for analysing power consumption in the android ecosystem.
2015 IEEE 13th International Scientific Conference on Informatics , pp 73-78 doi:10.1109/Informatics.2015.7377811 |
2015 |
SpreadsheetDoc: An Excel Add-in for Documenting Spreadsheets.
Proceedings of the 6th National Symposium of Informatics (INForum'15) |
2015 |
Embedding, Evolution, and Validation of Model-Driven Spreadsheets.
IEEE Trans. Software Eng. 41(3) , pp 241--263 doi:10.1109/TSE.2014.2361141 |
2015 |
Towards the Design and Implementation of Aspect-Oriented Programming for Spreadsheets.
Proceedings of the Second Workshop on Software Engineering Methods in Spreadsheets co-located with the 37th International Conference on Software Engineering (ICSE 2015) , Florence, Italy, May 18, 2015. (CEUR Workshop Proceedings) , pp 7--13 |
2015 |
Querying Spreadsheets: An Empirical Study.
CoRR |
2014 |
SSaaPP: SpreadSheets as a Programming Paradigm- Project's Final Report.
Technical Report TR-HASLab:02:2014, HASLab - High-Assurance Software Laboratory & Universidade do Minho [abstract]
This technical report describes the research goals and results of the SpreadSheet as a Programming Paradigm research project. This was a project funded by Funda{\c c}ão para a Ciencia e Tecnologia - FCT: the Portuguese research foundation, under reference FCOMP-01-0124-FEDER-010048, that ran from May 2010 till July 2013. This report includes the complete document reporting the results achieved during the project execution, which was submitted to FCT for evaluation on October 2013. It describes the goals of the project, and the different research tasks presenting the deliver- ables of each of them. It also presents the management and result dissemination work performed during the project{\textquoteright}s execution. The document includes also a self assess- ment of the achieved results, and a complete list of scientific publications describing the contributions of the project. Finally, this document includes the FCT evaluation report.
|
2014 |
MDSheet - Model-Driven Spreadsheets.
Proceedings of the 1st Workshop on Software Engineering methods in Spreadsheets (SEMS'14) , pp 31-33 [abstract]
This paper showcases MDSheet, a framework aimed at improving the engineering of spreadsheets. This framework is model-driven, and has been fully integrated under a spreadsheet system. Also, its practical interest has been demonstrated by several empirical studies.
|
2014 |
Model-based programming environments for spreadsheets.
Sci. Comput. Program. , pp 254--275 doi:10.1016/j.scico.2014.02.002 |
2014 |
Graphical Querying of Model-Driven Spreadsheets.
Human Interface and the Management of Information. Information and Knowledge Design and Evaluation - 16th International Conference, HCI International 2014, Heraklion, Crete, Greece, June 22-27, 2014. Proceedings, Part I (Lecture Notes in Computer Science) , pp 419--430 doi:10.1007/978-3-319-07731-4_42 |
2014 |
Smelling Faults in Spreadsheets.
30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, September 29 - October 3, 2014 , pp 111--120 doi:10.1109/ICSME.2014.33 |
2014 |
FaultySheet Detective: When Smells Meet Fault Localization.
30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, September 29 - October 3, 2014 , pp 625--628 doi:10.1109/ICSME.2014.111 |
2014 |
Refactoring Meets Model-Driven Spreadsheet Evolution.
9th International Conference on the Quality of Information and Communications Technology, QUATIC 2014, Guimaraes, Portugal, September 23-26, 2014 , pp 196--201 doi:10.1109/QUATIC.2014.34 |
2014 |
Detecting Anomalous Energy Consumption in Android Applications.
Programming Languages - 18th Brazilian Symposium, SBLP 2014, Maceio, Brazil, October 2-3, 2014. Proceedings (Lecture Notes in Computer Science) , pp 77--91 doi:10.1007/978-3-319-11863-5_6 |
2014 |
Embedding model-driven spreadsheet queries in spreadsheet systems.
IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2014, Melbourne, VIC, Australia, July 28 - August 1, 2014 , pp 151--154 doi:10.1109/VLHCC.2014.6883039 |
2014 |
ES-SQL: Visually querying spreadsheets.
IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2014, Melbourne, VIC, Australia, July 28 - August 1, 2014 , pp 203--204 doi:10.1109/VLHCC.2014.6883056 |
2013 |
Spreadsheet Engineering.
Central European Functional Programming School - 5th Summer School, CEFP 2013, Cluj-Napoca, Romania, July 8-20, 2013, Revised Selected Papers (Lecture Notes in Computer Science) , pp 246--299 doi:10.1007/978-3-319-15940-9_6 |
2013 |
Design and Implementation of Queries for Model-Driven Spreadsheets.
Central European Functional Programming School - 5th Summer School, CEFP 2013, Cluj-Napoca, Romania, July 8-20, 2013, Revised Selected Papers (Lecture Notes in Computer Science) , pp 459--478 doi:10.1007/978-3-319-15940-9_13 |
2013 |
Complexity Metrics for ClassSheet Models.
Computational Science and Its Applications - ICCSA 2013 - 13th International Conference, Ho Chi Minh City, Vietnam, June 24-27, 2013, Proceedings, Part II (Lecture Notes in Computer Science) , pp 459--474 doi:10.1007/978-3-642-39643-4_33 |
2013 |
Querying model-driven spreadsheets.
2013 IEEE Symposium on Visual Languages and Human Centric Computing, San Jose, CA, USA, September 15-19, 2013 , pp 83--86 doi:10.1109/VLHCC.2013.6645247 |
2013 |
QuerySheet: A bidirectional query environment for model-driven spreadsheets.
2013 IEEE Symposium on Visual Languages and Human Centric Computing, San Jose, CA, USA, September 15-19, 2013 , pp 199--200 doi:10.1109/VLHCC.2013.6645267 |
2012 |
Model-based Spreadsheet Engineering: Using Relational Models to Improve Spreadsheets.
Book [abstract]
Spreadsheets can be viewed as programming languages for non-professional programmers. These so-called ``end-user'' programmers vastly outnumber professional programmers creating millions of new spreadsheets every year. As a programming language, spreadsheets lack support for abstraction, testing, encapsulation, or structured programming. As a result, and as numerous studies have shown, the high rate of production is accompanied by an alarming high rate of errors. Some studies report that up to 90% of real-world spreadsheets contain errors. After their initial creation, many spreadsheets turn out to be used for storing and processing increasing amounts of data and supporting increasing numbers of users over long periods of time, making them complicated systems. An emerging solution to handle the complex and evolving software systems is Model-driven Engineering (MDE). To consider models as first class entities and any software artifact as a model or a model element is one of the basic principles of MDE. We adopted some techniques from MDE to solve spreadsheet problems. Most spreadsheets (if not all) lack a proper specification or a model. Using reverse engineering techniques we are able to derive various models from legacy spreadsheets. We use functional dependencies (a formalism that allow us to define how some column values depend on other column values) as building blocks for these models. Models can be used for several spreadsheet improvements, namely refactoring, safe evolution, migration or even generation of edit assistance. The techniques presented in this work are available under the framework HAEXCEL that we developed. It is composed of online and batch tools, reusable HASKELL libraries and OpenOffice.org extensions. A study with several end-users was organized to survey the impact of the techniques we designed. The results of this study indicate that the models can bring great benefits to spreadsheet engineering helping users to commit fewer errors and to work faster.
|
2012 |
Towards a Catalog of Spreadsheet Smells.
Computational Science and Its Applications - ICCSA 2012 - 12th International Conference, Salvador de Bahia, Brazil, June 18-21, 2012, Proceedings, Part IV (Lecture Notes in Computer Science) , pp 202--216 doi:10.1007/978-3-642-31128-4_15 |
2012 |
Bidirectional Transformation of Model-Driven Spreadsheets.
Theory and Practice of Model Transformations - 5th International Conference, ICMT 2012, Prague, Czech Republic, May 28-29, 2012. Proceedings (Lecture Notes in Computer Science) , pp 105--120 doi:10.1007/978-3-642-30476-7_7 |
2012 |
Towards an evaluation of bidirectional model-driven spreadsheets.
Proceedings of the First International Workshop on User Evaluation for Software Engineering Researchers, USER '12, Zurich, Switzerland, June 5, 2012 , pp 25--28 doi:10.1109/USER.2012.6226577 |
2012 |
MDSheet: A framework for model-driven spreadsheet engineering.
34th International Conference on Software Engineering, ICSE 2012, June 2-9, 2012, Zurich, Switzerland , pp 1395--1398 doi:10.1109/ICSE.2012.6227239 |
2012 |
A bidirectional model-driven spreadsheet environment.
34th International Conference on Software Engineering, ICSE 2012, June 2-9, 2012, Zurich, Switzerland , pp 1443--1444 doi:10.1109/ICSE.2012.6227073 |
2012 |
A Quality Model for Spreadsheets.
8th International Conference on the Quality of Information and Communications Technology, QUATIC 2012, Lisbon, Portugal, 2-6 September 2012, Proceedings , pp 231--236 doi:10.1109/QUATIC.2012.16 |
2012 |
From relational ClassSheets to UML+OCL.
Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, March 26-30, 2012 , pp 1151--1158 doi:10.1145/2245276.2231957 |
2012 |
Model-Based Programming Environments for Spreadsheets.
Programming Languages - 16th Brazilian Symposium, SBLP 2012, Natal, Brazil, September 23-28, 2012. Proceedings (Lecture Notes in Computer Science) , pp 117--133 doi:10.1007/978-3-642-33182-4_10 |
2012 |
Extension and implementation of ClassSheet models.
2012 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2012, Innsbruck, Austria, September 30 - October 4, 2012 , pp 19--22 doi:10.1109/VLHCC.2012.6344473 |
2012 |
SmellSheet detective: A tool for detecting bad smells in spreadsheets.
2012 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2012, Innsbruck, Austria, September 30 - October 4, 2012 , pp 243--244 doi:10.1109/VLHCC.2012.6344535 |
2011 |
HaExcel: A Model-Based Spreadsheet Evolution System (Poster).
2011 IEEE Symposium on Visual Languages and Human-Centric Computing |
2011 |
Model-Based Spreadsheet Engineering.
Ph.D. thesis, University of Minho [abstract]
Spreadsheets can be viewed as programming languages for non-professional programmers. These so-called ``end-user'' programmers vastly outnumber professional programmers creating millions of new spreadsheets every year. As a programming language, spreadsheets lack support for abstraction, testing, encapsulation, or structured programming. As a result, and as numerous studies have shown, the high rate of production is accompanied by an alarming high rate of errors. Some studies report that up to 90% of real-world spreadsheets contain errors. After their initial creation, many spreadsheets turn out to be used for storing and processing increasing amounts of data and supporting increasing numbers of users over long periods of time, making them complicated systems. An emerging solution to handle the complex and evolving software systems is Model-driven Engineering (MDE). To consider models as first class entities and any software artifact as a model or a model element is one of the basic principles of MDE. We adopted some techniques from MDE to solve spreadsheet problems. Most spreadsheets (if not all) lack a proper specification or a model. Using reverse engineering techniques we are able to derive various models from legacy spreadsheets. We use functional dependencies (a formalism that allow us to define how some column values depend on other column values) as building blocks for these models. Models can be used for several spreadsheet improvements, namely refactoring, safe evolution, migration or even generation of edit assistance. The techniques presented in this work are available under the framework HAEXCEL that we developed. It is composed of online and batch tools, reusable HASKELL libraries and OpenOffice.org extensions. A study with several end-users was organized to survey the impact of the techniques we designed. The results of this study indicate that the models can bring great benefits to spreadsheet engineering helping users to commit less errors and to work faster.
|
2011 |
Type-Safe Evolution of Spreadsheets.
Fundamental Approaches to Software Engineering - 14th International Conference, FASE 2011, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011, Saarbrücken, Germany, March 26-April 3, 2011. Proceedings (Lecture Notes in Computer Science) , pp 186--201 doi:10.1007/978-3-642-19811-3_14 |
2011 |
End-Users Productivity in Model-Based Spreadsheets: An Empirical Study.
End-User Development - Third International Symposium, IS-EUD 2011, Torre Canne (BR), Italy, June 7-10, 2011. Proceedings (Lecture Notes in Computer Science) , pp 282--288 doi:10.1007/978-3-642-21530-8_27 |
2011 |
Embedding and evolution of spreadsheet models in spreadsheet systems.
2011 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2011, Pittsburgh, PA, USA, September 18-22, 2011 , pp 179--186 doi:10.1109/VLHCC.2011.6070396 |
2011 |
An Empirical Study on End-users Productivity Using Model-based Spreadsheets.
CoRR |
2010 |
Automatically Inferring ClassSheet Models from Spreadsheets.
IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2010, Leganés-Madrid, Spain, 21-25 September 2010, Proceedings , pp 93--100 doi:10.1109/VLHCC.2010.22 |
2009 |
From spreadsheets to relational databases and back.
Proceedings of the 2009 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, PEPM 2009, Savannah, GA, USA, January 19-20, 2009 , pp 179--188 doi:10.1145/1480945.1480972 |
2009 |
Discovery-based edit assistance for spreadsheets.
IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2009, Corvallis, OR, USA, 20-24 September 2009, Proceedings , pp 233--237 doi:10.1109/VLHCC.2009.5295255 |
2007 |
A type-level approach to component prototyping.
Proceedings of the International Workshop on Synthesis and Analysis of Component Connectors: in conjunction with the 6th ESEC/FSE joint meeting, SYANCO 2007, Dubrovnik, Croatia, September 3-4, 2007 , pp 23--36 doi:10.1145/1294917.1294920 |