skip to main content
10.1145/2993412.3003390acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsawConference Proceedingsconference-collections
research-article

FLINTS: a tool for architectural-level modeling of features in software systems

Published: 28 November 2016 Publication History

Abstract

A functional perspective of software systems, at the architectural level allows developers to maintain a consistent understanding of the relationships between different functionalities of their system as it evolves, and allows them to analyze the system at a functional-chunk level rather than at the traditional, structural levels more typically presented by IDEs.
This paper describes the derivation, implementation and evaluation of a prototype tool built to obtain this functional perspective from existing systems. The tool supports developers as they first attempt to locate specific functionalities in the source code. This support is based on preliminary design principles identified by observing experienced software developers in-vivo, as they performed this task manually. After the code associated with several such functionalities is located in the code, a graphical view allows the developer to assess the source code dependencies between the identified features and with the rest of the system. This helps developers understand the inter-functional interfaces and can be reviewed over time, as features are added and removed, to ensure on-going consistency between the architect's perspective of the features in the system and the code-base.

References

[1]
B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. "Feature location in source code: a taxonomy and survey," Journal of Software: Evolution and Process, vol. 25, no. 1, pp. 53--95, 2013.
[2]
J. Rubin, and M. Chechik. A Survey of Feature Location Techniques. In I. Reinhartz-Berger, A. Sturm, T. Clark, S. Cohen and J. Bettin, eds., Domain Engineering. Springer Berlin Heidelberg, 2013, 29--58.
[3]
H.R. Jordan, J. Rosik, S. Herold, G. Botterweck, and J. Buckley, "Manually locating features in industrial source code: the search actions of software nomads," in Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, ICPC 2015, Florence/Firenze, Italy, May 16-24, 2015, A. D. Lucia, C. Bird, and R. Oliveto, Eds. ACM, 2015, pp. 174--177.
[4]
M. Desmond, M.A. Storey, and C. Exton. Fluid Source Code Views for Just In Time Comprehension. SPLAT 2006, (2006).
[5]
K. A. Ericsson and H. A. Simon, "Verbal reports as data." Psychological Review, vol. 87, no. 3, p. 215, 1980.
[6]
Techsmith --- Camtasia, screen recorder and video editor. Accessed: 2016-03-29. DOI= https://www.techsmith.com/camtasia.html.
[7]
A. Strauss, J. Corbin et al., Basics of qualitative research. Newbury Park, CA: Sage, 1990, vol. 15.
[8]
T. D. LaToza, G. Venolia, and R. DeLine, "Maintaining mental models: a study of developer work habits," in 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20-28, 2006, L. J. Osterweil, H. D. Rombach, and M. L. Soffa, Eds. ACM, 2006, pp. 492--501.
[9]
C. K�stner, A. Dreiling, and K. Ostermann, "Variability mining: Consistent semi-automatic detection of product-line features," IEEE Trans. Software Eng., vol. 40, no. 1, pp. 67--82, 2014.
[10]
M. Desmond, M.-A. Storey, and C. Exton, "Fluid source code views for just in-time comprehension," 2006. DOI = https://ulir.ul.ie/handle/10344/1793.
[11]
X. Peng, Z. Xing, X. Tan, Y. Yu, and W. Zhao, "Iterative context aware feature location," in Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, May 21-28, 2011, R. N. Taylor, H. C. Gall, and N. Medvidovic, Eds. ACM, 2011, pp. 900--903.
[12]
M. P. Robillard, "Automatic generation of suggestions for program investigation," in Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2005, Lisbon, Portugal, September 5-9, 2005, M. Wermelinger and H. C. Gall, Eds. ACM, 2005, pp. 11--20.
[13]
F. W. Warr and M. P. Robillard, "Suade: Topology-based searches for software investigation," in 29th International Conference on Software Engineering (ICSE 2007). IEEE Computer Society, 2007, pp. 780--783.
[14]
J. Wang, X. Peng, Z. Xing, and W. Zhao. How developers perform feature location tasks: a human-centric and process-oriented exploratory study. Journal of Software: Evolution and Process 25, 11 (2013), 1193--1224.
[15]
G. C. Murphy, D. Notkin, and K. J. Sullivan, "Software reflexion models: Bridging the gap between source and high-level models," in SIGSOFT '95, Proceedings of the Third ACM SIGSOFT Symposium on Foundations of Software Engineering, Washington, DC, USA, October 10-13, 1995, G. E. Kaiser, Ed. ACM, 1995, pp. 18--28.
[16]
M. Mitchell and J. Jolley, Research Design Explained. Thomson Wadsworth, 2004. Available at: https://books.google.ie/books?id=67juAAAAMAAJ.
[17]
K. Chen and V. Rajlich, "RIPPLES: tool for change in legacy software," in 2001 International Conference on Software Maintenance, ICSM 2001, Florence, Italy, November 6-10, 2001. IEEE Computer Society, 2001, pp. 230--239.
[18]
J. Buckner, J. Buchta, M. Petrenko, and V. Rajlich, "JRipples: A tool for program comprehension during incremental change," in 13th International Workshop on Program Comprehension (IWPC 2005), 15-16 May 2005, St. Louis, MO, USA. IEEE Computer Society, 2005, pp. 149--152.
[19]
M. P. Robillard and G. C. Murphy, "FEAT. A tool for locating, describing, and analyzing concerns in source code," in Proceedings of the 25th International Conference on Software Engineering, May 3-10, 2003, Portland, Oregon, USA, L. A. Clarke, L. Dillon, and W. F. Tichy, Eds. IEEE Computer Society, 2003, pp. 822--823.
[20]
M. P. Robillard and F. W. Warr, "ConcernMapper: simple view-based separation of scattered concerns," in Proceedings of the 2005 OOPSLA workshop on Eclipse Technology eXchange, ETX 2005, San Diego, California, USA, October 16-17, 2005, M. D. Storey, M. G. Burke, L. Cheng, and A. van der Hoek, Eds. ACM, 2005, pp. 65--69.
[21]
M. Petrenko and V. Rajlich, "Concept location using program dependencies and information retrieval (DepIR)," Information & Software Technology, vol. 55, no. 4, pp. 651--659, 2013.
[22]
S. Herold. and J. Buckley. "Feature Oriented Reflexion Modelling" in the 2nd SAEroCon Workshop 2015.
[23]
K. Nie and L. Zhang, "Software feature location based on topic models," in 19th Asia-Pacific Software Engineering Conference, APSEC 2012, Hong Kong, China, December 4-7, 2012, K. R. P. H. Leung and P. Muenchaisri, Eds. IEEE, 2012, pp. 547--552.
[24]
G. Scanniello and A. Marcus, "Clustering support for static concept location in source code," in The 19th IEEE International Conference on Program Comprehension, ICPC 2011, Kingston, ON, Canada, June 22-24, 2011. IEEE Computer Society, 2011, pp. 1--10.
[25]
D. Liu, S. Xu, and Z. Liu, "An eclipse plug-in: Dependency browser," in 2007 IEEE/ACS International Conference on Computer Systems and Applications (AICCSA 2007), 13-16 May 2007, Amman, Jordan. IEEE Computer Society, 2007, pp. 40--46.
[26]
M. Revelle and D. Poshyvanyk. "An Exploratory Study on Assessing Feature Location Techniques" in the Proc. of ICPC, The International Conference on Program Comprehension, May 2009. pp 218--222.
[27]
I. Gorton. "Essential Software Architecture" 2nd Edition. Springer, 2011. ISBN: 978-3642191756
[28]
M.N. Saunders, M. Saunders, P. Lewis, & A. Thornhill. Research methods for business students, 2011. 5/e. Pearson Education India.
[29]
A.J. Ko, R. DeLine. and G. Venolia. "Information Needs in Collocated Software Development Teams" International Conference on Software Engineering (ICSE 2007), IEEE Computer Society. pp. 344--353.

Cited By

View all
  • (2025)FSECAM: A contextual thematic approach for linking feature to multi-level software architectural componentsJournal of Systems and Software10.1016/j.jss.2024.112245219(112245)Online publication date: Jan-2025
  • (2019)Research on Auto-Construction Approach for Architecture of Information System Based on Transaction Flow2019 3rd International Conference on Data Science and Business Analytics (ICDSBA)10.1109/ICDSBA48748.2019.00060(257-260)Online publication date: Oct-2019
  • (2019)Characterizing the transfer of program comprehension in onboarding: an information-push perspectiveEmpirical Software Engineering10.1007/s10664-019-09741-6Online publication date: 26-Jul-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECSAW '16: Proccedings of the 10th European Conference on Software Architecture Workshops
November 2016
234 pages
ISBN:9781450347815
DOI:10.1145/2993412
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 the author(s) 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].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 November 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. consistency
  2. feature location
  3. feature modeling
  4. tool

Qualifiers

  • Research-article

Funding Sources

  • European Regional Development Fund
  • Science Foundation Ireland

Conference

ECSAW '16
ECSAW '16: European Conference on Software Architecture Workshops
November 28 - December 2, 2016
Copenhagen, Denmark

Acceptance Rates

Overall Acceptance Rate 80 of 120 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2025)FSECAM: A contextual thematic approach for linking feature to multi-level software architectural componentsJournal of Systems and Software10.1016/j.jss.2024.112245219(112245)Online publication date: Jan-2025
  • (2019)Research on Auto-Construction Approach for Architecture of Information System Based on Transaction Flow2019 3rd International Conference on Data Science and Business Analytics (ICDSBA)10.1109/ICDSBA48748.2019.00060(257-260)Online publication date: Oct-2019
  • (2019)Characterizing the transfer of program comprehension in onboarding: an information-push perspectiveEmpirical Software Engineering10.1007/s10664-019-09741-6Online publication date: 26-Jul-2019
  • (2019)The Digital Thread in Industry 4.0Integrated Formal Methods10.1007/978-3-030-34968-4_1(3-24)Online publication date: 22-Nov-2019
  • (2018)The State of Empirical Evaluation in Static Feature LocationACM Transactions on Software Engineering and Methodology10.1145/328098828:1(1-58)Online publication date: 5-Dec-2018

View Options

Get Access

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