skip to main content

Linked visualisations via Galois dependencies

Published:12 January 2022Publication History
Skip Abstract Section

Abstract

We present new language-based dynamic analysis techniques for linking visualisations and other structured outputs to data in a fine-grained way, allowing users to explore how data attributes and visual or other output elements are related by selecting (focusing on) substructures of interest. Our approach builds on bidirectional program slicing techiques based on Galois connections, which provide desirable round-tripping properties. Unlike the prior work, our approach allows selections to be negated, equipping the bidirectional analysis with a De Morgan dual which can be used to link different outputs generated from the same input. This offers a principled language-based foundation for a popular view coordination feature called brushing and linking where selections in one chart automatically select corresponding elements in another related chart.

References

  1. Umut A. Acar, Amal Ahmed, James Cheney, and Roly Perera. 2012. A Core Calculus for Provenance. In Proceedings of the First International Conference on Principles of Security and Trust (POST ’12). Springer-Verlag, Berlin, Heidelberg. 410–429. isbn:978-3-642-28640-7 https://doi.org/10.1007/978-3-642-28641-4_22 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Luc Anselin, Ibnu Syabri, and Youngihn Kho. 2006. GeoDa: An Introduction to Spatial Data Analysis. Geographical Analysis, 38, 1 (2006), 5–22. https://doi.org/10.1111/j.0016-7363.2005.00671.x Google ScholarGoogle ScholarCross RefCross Ref
  3. Richard A. Becker and William S. Cleveland. 1987. Brushing Scatterplots. Technometrics, 29, 2 (1987), May, 127–142. https://doi.org/10.1080/00401706.1987.10488204 Google ScholarGoogle ScholarCross RefCross Ref
  4. Richard Bird and Lambert Meertens. 1998. Nested datatypes. In Mathematics of Program Construction, Johan Jeuring (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 52–67. isbn:978-3-540-69345-1Google ScholarGoogle Scholar
  5. Gérard Boudol and Ilaria Castellani. 1989. Permutation of transitions: An event structure semantics for CCS and SCCS. In Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, J.W. Bakker, W.-P. Roever, and G. Rozenberg (Eds.) (Lecture Notes in Computer Science, Vol. 354). Springer, 411–427. isbn:978-3-540-51080-2 https://doi.org/10.1007/BFb0013028 Google ScholarGoogle ScholarCross RefCross Ref
  6. Nadieh Bremer and Marlieke Ranzijn. 2015. Urbanization in East Asia between 2000 and 2010. http://nbremer.github.io/urbanization/Google ScholarGoogle Scholar
  7. Peter Buneman, Sanjeev Khanna, and Wang-Chiew Tan. 2001. Why and Where: A Characterization of Data Provenance. In Proceedings of the 8th International Conference on Database Theory (ICDT ’01). Springer-Verlag, London, UK. 316–330. isbn:3-540-41456-8Google ScholarGoogle ScholarCross RefCross Ref
  8. TY Chen and PC Poole. 1988. Dynamic dataflow analysis. Information and Software Technology, 30, 8 (1988), 497–505. issn:0950-5849 https://doi.org/10.1016/0950-5849(88)90146-2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Richard H. Connelly and F. Lockwood Morris. 1995. A generalization of the trie data structure. Mathematical Structures in Computer Science, 5, 3 (1995), 381–418. https://doi.org/10.1017/S0960129500000803 Google ScholarGoogle ScholarCross RefCross Ref
  10. A. De Lucia, A.R. Fasolino, and M. Munro. 1996. Understanding function behaviors through program slicing. In WPC ’96. 4th Workshop on Program Comprehension. 9–18. https://doi.org/10.1109/WPC.1996.501116 Google ScholarGoogle ScholarCross RefCross Ref
  11. John Field and Frank Tip. 1998. Dynamic Dependence in Term Rewriting Systems and its Application to Program Slicing. Information and Software Technology, 40, 11–12 (1998), November/December, 609–636.Google ScholarGoogle ScholarCross RefCross Ref
  12. Jeremy Gibbons. 2017. APLicative Programming with Naperian Functors. In European Symposium on Programming, Hongseok Yang (Ed.) (Lecture Notes in Computer Science, Vol. 10201). 568–583. https://doi.org/10.1007/978-3-662-54434-1_21 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sebastian Graf, Simon Peyton Jones, and Ryan G Scott. 2020. Lower your guards: a compositional pattern-match coverage checker. Proceedings of the ACM on Programming Languages, 4, ICFP (2020), 1–30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Robert J. Hall. 1995. Automatic extraction of executable program subsets by simultaneous dynamic program slicing. Automated Software Engineering, 2 (1995), 33–53. https://doi.org/10.1007/BF00873408 Google ScholarGoogle ScholarCross RefCross Ref
  15. Christian Hammer, Martin Grimme, and Jens Krinke. 2006. Dynamic path conditions in dependence graphs. Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 58–67. https://doi.org/10.1145/1111542.1111552 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ralf Hinze. 2000. Generalizing generalized tries. Journal of Functional Programming, 10, 4 (2000), 327–351. https://doi.org/10.1017/S0956796800003713 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Simon L. Peyton Jones. 2003. Haskell 98: Introduction. Journal of Functional Programming, 13, 1 (2003), 0–6.Google ScholarGoogle Scholar
  18. Gary A. Kildall. 1973. A Unified Approach to Global Program Optimization. In Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL ’73). Association for Computing Machinery, New York, NY, USA. 194–206. isbn:9781450373494 https://doi.org/10.1145/512927.512945 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. John Alan McDonald. 1982. Interactive graphics for data analysis. Ph.D. Dissertation.Google ScholarGoogle Scholar
  20. Greg Miller. 2006. A Scientist’ s Nightmare: Software Problem Leads to Five Retractions. Science, 314, 5807 (2006), 1856–1857. issn:0036-8075 https://doi.org/10.1126/science.314.5807.1856 Google ScholarGoogle ScholarCross RefCross Ref
  21. James Newsome and Dawn Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Network and Distributed Systems Security Symposium.Google ScholarGoogle Scholar
  22. Roland Perera. 2013. Interactive Functional Programming. Ph.D. Dissertation. University of Birmingham. Birmingham, UK. http://etheses.bham.ac.uk/4209/Google ScholarGoogle Scholar
  23. Roly Perera, Umut A. Acar, James Cheney, and Paul Blain Levy. 2012. Functional Programs That Explain Their Work. In Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming (ICFP ’12). ACM, New York, NY, USA. 365–376. isbn:978-1-4503-1054-3 https://doi.org/10.1145/2364527.2364579 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Roly Perera, Deepak Garg, and James Cheney. 2016. Causally Consistent Dynamic Slicing. In Concurrency Theory, 27th International Conference, CONCUR ’16, Josée Desharnais and Radha Jagadeesan (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs)). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany. https://doi.org/10.4230/LIPIcs.CONCUR.2016.18 Google ScholarGoogle ScholarCross RefCross Ref
  25. Justin Pombrio and Shriram Krishnamurthi. 2014. Resugaring: Lifting Evaluation Sequences through Syntactic Sugar. SIGPLAN Notices, 49, 6 (2014), Jun, 361–371. issn:0362-1340 https://doi.org/10.1145/2666356.2594319 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Fotis Psallidas and Eugene Wu. 2018. Provenance for Interactive Visualizations. In Workshop on Human-In-the-Loop Data Analytics (HILDA 2018). ACM.Google ScholarGoogle Scholar
  27. Thomas Reps, Susan Horwitz, and Mooly Sagiv. 1995. Precise Interprocedural Dataflow Analysis via Graph Reachability. In Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’95). Association for Computing Machinery, New York, NY, USA. 49–61. isbn:0897916921 https://doi.org/10.1145/199448.199462 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Wilmer Ricciotti, Jan Stolarek, Roly Perera, and James Cheney. 2017. Imperative Functional Programs That Explain Their Work. Proceedings of the ACM on Programming Languages, 1, ICFP (2017), Article 14, 28 pages. issn:2475-1421 https://doi.org/10.1145/3110258 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. C. Roberts and M. A. E. Wright. 2006. Towards Ubiquitous Brushing for Information Visualization. In Tenth International Conference on Information Visualisation (IV’06). 151–156. https://doi.org/10.1109/IV.2006.113 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Sabelfeld and A. C. Myers. 2003. Language-Based Information-Flow Security. IEEE Journal on Selected Areas in Communications, 21, 1 (2003), Jan, 5–19. issn:1558-0008 https://doi.org/10.1109/JSAC.2002.806121 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Jacob VanderPlas, Brian E. Granger, Jeffrey Heer, Dominik Moritz, Kanit Wongsuphasawat, Arvind Satyanarayan, Eitan Lees, Ilia Timofeev, Ben Welsh, and Scott Sievert. 2018. Altair: Interactive Statistical Visualizations for Python. The Journal of Open Source Software, 3, 32 (2018), https://doi.org/10.21105/joss.01057 Google ScholarGoogle ScholarCross RefCross Ref
  32. Jagoda Walny, Christian Frisson, Mieka West, Doris Kosminsky, Søren Knudsen, Sheelagh Carpendale, and Wesley Willett. 2019. Data Changes Everything: Challenges and Opportunities in Data Visualization Design Handoff. IEEE Transactions on Visualization and Computer Graphics, PP (2019), 08, 1–1. https://doi.org/10.1109/TVCG.2019.2934538 Google ScholarGoogle ScholarCross RefCross Ref
  33. Mark Weiser. 1981. Program slicing. In Proceedings of the 5th International Conference on Software Engineering (ICSE ’81). IEEE Press, Piscataway, NJ, USA. 439–449. isbn:0-89791-146-6 https://doi.org/10.5555/800078.802557Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Linked visualisations via Galois dependencies

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Article Metrics

      • Downloads (Last 12 months)159
      • Downloads (Last 6 weeks)23

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!