skip to main content
10.1145/3106237.3117772acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Improving understanding of dynamically typed software developed by agile practitioners

Published: 21 August 2017 Publication History

Abstract

Agile Development values working software over documentation. Therefore, in maintenance stages of existing software, the source code is the sole software artifact that developers have for analyzing the viability and impact of a new user story. Since functionality is often spread in hundreds of lines of code, it is hard for the developer to understand the system, which may lead to under-/overestimation of the new feature cost and rework/delays in the subsequent phases of development. In a previous work, we proposed a Model-Driven Reverse Engineering approach for obtaining software visualizations from source code. Two case studies of comprehension of applications written in statically typed languages have shown the applicability of this approach. A recent experience with an industrial partner, where the systems are developed on dynamically typed languages, has motivated us to adapt the previous proposal to take as input not only the source code but also the application data schema to complete the information that is missing in the code, and then automatically generate more meaningful diagrams that help developers in maintenance tasks. In this article, we present the adaptation of the general approach to support data schema as an additional input and its instrumentation in an industrial case study where the technology is Ruby on Rails. The paper ends by explaining the precision and performance of the instrumentation when used in a Colombian company as well as lessons learned.

References

[1]
M. Cohn. 2004. User Stories Applied For Agile Software Development. Addison-Wesley Professional.
[2]
D. Conway. 1998. An algorithmic approach to English pluralization. (1998).
[3]
Á. Darvas and R. Konnerth. 2016. System Architecture Recovery Based on Software Structure Model. In 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA). 109–114.
[4]
D. Escobar, D. Cárdenas, R. Amarillo, E. Castro, K. Garcés, C. Parra, and R. Casallas. 2016. Towards the understanding and evolution of monolithic applications as microservices. In 2016 XLII Latin American Computing Conference (CLEI). 1–11.
[5]
K. Garcés, R. Casallas, C. Álvarez, E. Sandoval, A. Salamanca, F. Melo, and J. Soto. 2016. White-Box Modernization of Legacy Applications. Springer International Publishing, Cham, 274–287.
[6]
K. Garcés, E. Sandoval, R. Casallas, C. Alvarez, A. Salamanca, S. Pinto, and F. Melo. 2015. Aiming Towards Modernization: Visualization to Assist Structural Understanding of Oracle Forms Applications. In ICSEA 2015, Tenth International Conference on Software Engineering Advances. IARIA, 86–95.
[7]
J. Guo, Y. Liao, and R. Pamula. 2006. Static Analysis Based Software Architecture Recovery. Springer Berlin Heidelberg, Berlin, Heidelberg, 974–983.
[8]
T. Lutellier, D. Chollak, J. Garcia, L. Tan, D. Rayside, N. Medvidovic, and R. Kroeger. 2015. Comparing Software Architecture Recovery Techniques Using Accurate Dependencies. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. 69–78.
[9]
Monroy M., J. Arciniegas, and J. Rodriguez. 2016. Recuperación de Arquitecturas de Software: Un Mapeo Sistemático de la Literatura. Información tecnológica 27 (00 2016), 201 – 220.
[10]
Magnus Madsen. 2015. Static analysis of dynamic languages. Ph.D. Dissertation. Aarhus University, Department of Computer Science.
[11]
L. Mendivelso, K. Garcés, and Rubby Casallas. 2017. Vistas arquitectónicas independientes de tecnología para comprensión de software. In XX Ibero-American Conference on Software Engineering co-located with 39th International Conference on Software Engineering (ICSE).
[12]
R. Paiva, G. Rodrigues, R. Bonifácio, and M. Ladeira. 2016. Exploring the Combination of Software Visualization and Data Clustering in the Software Architecture Recovery Process. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC ’16). ACM, New York, NY, USA, 1309–1314.

Cited By

View all
  • (2022)A mapping study on documentation in Continuous Software DevelopmentInformation and Software Technology10.1016/j.infsof.2021.106733142:COnline publication date: 1-Feb-2022
  • (2021)Model‐based assisted migration of oracle forms applications: The overall process in an industrial settingSoftware: Practice and Experience10.1002/spe.298151:8(1641-1675)Online publication date: 12-May-2021
  • (2018)Metric-centered and technology-independent architectural views for software comprehensionJournal of Software Engineering Research and Development10.1186/s40411-018-0060-66:1Online publication date: 4-Dec-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
August 2017
1073 pages
ISBN:9781450351058
DOI:10.1145/3106237
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Model Transformation Grammars
  2. Model-Driven Reverse Engineering
  3. Ruby On Rails
  4. Software visualization
  5. Xtext

Qualifiers

  • Research-article

Conference

ESEC/FSE'17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)A mapping study on documentation in Continuous Software DevelopmentInformation and Software Technology10.1016/j.infsof.2021.106733142:COnline publication date: 1-Feb-2022
  • (2021)Model‐based assisted migration of oracle forms applications: The overall process in an industrial settingSoftware: Practice and Experience10.1002/spe.298151:8(1641-1675)Online publication date: 12-May-2021
  • (2018)Metric-centered and technology-independent architectural views for software comprehensionJournal of Software Engineering Research and Development10.1186/s40411-018-0060-66:1Online publication date: 4-Dec-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media